операционная система

Подождите немного, страница загружается.
Время - это песок. Жизнь - это вода. Слова - это ветер. Осторожнее с этими компонентами… Чтобы не получилась - грязь…

"Бурный протест вызывает у меня ещё только одна вещь: любители нравоучений. Никто не должен считать себя вправе выступать с проповедями." Линус Торвальдс

Установка рабочего стола Plasma 5

Профиль для Plasma установливаем в разделе: "Изменяем профили"
Необходимые USE - флаги: dbus policykit udev udisks X и
"VIDEO_CARDS="intel" (для видеокарты "intel")
INPUT_DEVICES="evdev synaptics"
MAKEOPTS="-j3"

были установлены ранее.
Запускаем необходимые службы:

D-Buss:

/etc/init.d/dbus start
rc-update add dbus default

В настоящее время ConsoleKit не поддерживается.
Имеется sys-auth/elogind доступный Gentoo и получивший поддержку в KDE Plasma, Gnome, Cinnamon, MATE, Xfce, а также в большинстве других.
Профиль рабочего стола переключается с consolekit на elogind.
Пользователи sys-auth/consolekit, должны рассмотреть возможность сделать то же самое.
Устанавливаем USE = "elogind -consolekit" в make.conf.
Убеждаемся, что в /etc/portage/package.use нет мусора консольного набора:

grep -R consolekit /etc/portage/package.use

Перестраиваем всех затронутых потребителей и удаляем sys-auth/consolekit:

emerge --ask --changed-use --deep @world
emerge --depclean sys-auth/consolekit


Рекомендуется в случае возникновения проблем, таких как отсутствие перезагрузки/выключения:

rc-update add elogind boot

Для пользователей ~/.xinitrc вместо одного из поддерживаемых DM не забудьте: обновить (ck-launch-session пропала без замены).

polkit:

Убеждаемся, что в ядре установлено CONFIG_FUTEX=y. Без этой опции процесс polkit может генерировать высокую загрузку процессора.

udev:

В ядре проверяем, а если нет, устанавливаем:

General setup --->
[ ] Enable deprecated sysfs features to support old userspace tools
[*] Configure standard kernel features (expert users) --->
-*- Enable signalfd() system call
Enable the block layer --->
[*] Block layer SG support v4
Networking support --->
Networking options --->
-*- Unix domain sockets
Device Drivers --->
Generic Driver Options --->
() path to uevent helper
-*- Maintain a devtmpfs filesystem to mount at /dev
< > ATA/ATAPI/MFM/RLL support (DEPRECATED) ----
File systems --->
-*- Inotify support for userspace
Pseudo filesystems --->
-*- /proc file system support
-*- sysfs file system support

rc-update add udev sysinit

udisks:

В ядре проверяем, а если нет, устанавливаем:

General setup --->
[*] Support for paging of anonymous memory (swap)
Device Drivers --->
< > ATA/ATAPI/MFM/RLL support (DEPRECATED) ----
File Systems -->
Pseudo filesystems --->
-*- Tmpfs virtual memory file system support (former shm fs)
-*- Tmpfs POSIX Access Control Lists
Native Language Support --->
<*> NLS UTF8

Создаём группу plugdev:

groupadd plugdev

Добавляем пользователя в группу:

usermod -a -G plugdev nikolay

Устанавливаем xorg-server:

emerge --ask x11-base/xorg-server

Установка с Wayland

Wayland - протокол, который является более простой заменой Xorg. В отличие от Xorg, Wayland не имеет API отрисовки. и соответственно ей не занимается. Такие среды рабочего стола как GNOME и KDE уже поддерживают Wayland. Существует Xwayland, который позволяет запускать приложения X11 в Wayland.
XWayland, обеспечивает выполнение X.Org-сервера как Wayland-клиента. В режиме под управлением Wayland без X-сервера могут быть запущены приложения, написанные с использованием поддерживающих Wayland библиотек, таких как Qt, SDL, Clutter и Gtk+. Компонент XWayland позволяет обеспечить совместимость с программами, использующими низкоуровневые библиотеки X11.
Добавляем в /etc/portag/make.conf USE флаги:

USE ...gles2 wayland...

Установка Wayland:

emerge --ask dev-libs/wayland

В данной сессии редактор Vim может выдавать ошибку:
> No protocol specified
> No protocol specified
> No protocol specified
Vim
пытается подключиться к X - серверу и терпит неудачу.
Для устранения этой ошибки, один из вариантов, необходимо загрузить Vim с флагом -X.
Для удаления Wayland, пересобираем систему с флагами -gles2 -wayland.
После удаления, в Plasma 5 могут не запускаться некоторые программы, например firefox, thunderbirds и.т.д.
Если запуск, например, firefox из терминала выдаёт следующую ошибку:

$ firefox
/usr/lib64/firefox/firefox: symbol lookup error: /usr/lib64/gtk-3.0/modules/libappmenu-gtk-module.so: undefined symbol: gdk_wayland_display_get_type


необходимо добавить флаг -gtk, пересобрать систему и не забываем о чистке с помощью --depclean.

Видео карта "NVIDIA"

Определяем видеокарту:

lspci | grep -i VGA

Пакет x11-drivers/nvidia-drivers поддерживает ряд карт NVIDIA. Для установки доступно несколько версий, в зависимости от карт, которые есть в системе. См. официальную документацию NVIDIA «Что такое устаревший драйвер?», чтобы узнать, какую версию драйверов x11-drivers/nvidia-drivers следует использовать, через интерактивную форму, вводим графическую карту, используемую системой.
Если карта была идентифицирована как устаревшая, замаскируем более поздние выпуски x11-drivers/nvidia-drivers:

vim /etc/portage/package.mask
>x11-drivers/nvidia-drivers-391


Включаем поддержку загружаемых модулей (CONFIG_MODULES)
[*] Enable loadable module support --->
Включаем регистр диапазона типов памяти в ядре (включает /proc/mtrr) (CONFIG_MTRR):
Processor type and features --->
[*] MTRR (Memory Type Range Register) support

По крайней мере, для некоторых, если не для всех версий драйверов, также может потребоваться включить арбитраж VGA и обработчик сообщений IPMI (CONFIG_VGA_ARB):
Device Drivers --->
Graphics support --->
[*] VGA Arbitration

Включаем обработчик сообщений IPMI (CONFIG_ACPI_IPMI):
Device Drivers --->
Character devices --->
[*] IPMI top-level message handler

Для процессоров x86 и AMD64 встроенный в ядро драйвер кадрового буфера конфликтует с двоичным драйвером, предоставленным NVIDIA. При компиляции ядра для этих процессоров полностью удаляем поддержку встроенного в ядро драйвера (CONFIG_FB_NVIDIA, CONFIG_FB_RIVA):
Device Drivers --->
Graphics support --->
Frame buffer Devices --->
<*> Support for frame buffer devices --->
< > nVidia Framebuffer Support
< > nVidia Riva support

Отключить поддержку nouveau драйвера (CONFIG_DRM_NOUVEAU):
Device Drivers --->
Graphics support --->
< > Nouveau (nVidia) cards

Драйвер кадрового буфера требуется для рендеринга консоли Linux (TTY), поскольку эта функциональность не предоставляется проприетарным драйвером NVIDIA. Устанавливаем «Mark VGA/VBE/EFI FB как общий системный буфер кадра» (CONFIG_SYSFB_SIMPLEFB=y), а затем включаем драйвер буфера кадра. Общие варианты для этого - использовать либо simplefb (CONFIG_FB_SIMPLE=y), либо efifb (CONFIG_FB_EFI=y).
Включаем простой фреймбуфер (CONFIG_FB_SIMPLE) до ядра 5.15:
Bus options (PCI etc.) --->
[*] Mark VGA/VBE/EFI FB as generic system framebuffer
Device Drivers --->
Graphics support --->
Frame buffer Devices -->
<*> Support for frame buffer devices --->
<*> Simple framebuffer support

Параметр «Mark VGA/VBE/EFI FB как универсальный системный буфер кадра» перемещён в ядро ​​5.15 с новым именем символа для всех арок. Если не будут внесены изменения, это может привести к чёрному экрану или отсутствию прогресса после загрузки загрузчика.
Включаем простой фреймбуфер (CONFIG_FB_SIMPLE) ядро 5.15 и выше:
Device Drivers --->
Firmware Drivers --->
[*] Mark VGA/VBE/EFI FB as generic system framebuffer
Graphics support --->
Frame buffer Devices --->
<*> Support for frame buffer devices --->
<*> Simple framebuffer support

Если плагины GCC ядра включены, компиляция драйверов NVIDIA будет использовать их. Если версия компилятора, которая использовалась для компиляции плагинов, не соответствует версии компилятора nvidia-drivers, возникнет ошибка.
General architecture-dependent options --->
GCC plugins --->


Компилируем ядро:

make oldconfig && make prepare

Каждый раз после сборке ядра необходимо переустанавливать модули ядра NVIDIA:

emerge @module-rebuild

Настраиваем X Server.

Поддержка для Event интерфейса (CONFIG_INPUT_EVDEV) должна быть активирована:
Device Drivers --->
Input device support --->
<*> Event interface

Современные видеодрайверы с открытым исходным кодом полагаются на настройку режима ядра (KMS). KMS обеспечивает улучшенную графическую загрузку с меньшим мерцанием, более быстрое переключение пользователей, встроенную консоль кадрового буфера, плавное переключение с консоли на Xorg и другие функции.
Убедимся, что устаревшие драйверы кадрового буфера отключены.
KMS конфликтует с устаревшими драйверами кадрового буфера, которые должны оставаться отключенными в конфигурации ядра.
Сначала подготовим ядро для KMS. Этот шаг не зависит от того, какой видеодрайвер Xorg будет использоваться:
Device Drivers --->
Graphics support --->
Frame Buffer Devices --->
<*> Support for frame buffer devices --->

## (Отключите все драйверы, в том числе VGA, Intel, NVIDIA, и ATI, за исключением поддержки кадрового буфера на основе EFI, только если используется UEFI)
## (Включите базовую поддержку консоли. Это использует KMS.)
Console display driver support --->
<*> Framebuffer Console Support


Для карт NVIDIA доступны два варианта драйвера. Для полностью открытой системы предлагается драйвер с открытым исходным кодом под названием Nouveau. Второй вариант — драйвер NVIDIA с закрытым исходным кодом, официально поддерживаемый NVIDIA.
Устанавливаем VIDEO_CARDS="nvidia" в /etc/portage/make.conf. Во время установки X-сервера он установит правильную версию x11-drivers/nvidia-drivers.
Убедимся, что этот USE-флаг X добавлен в список USE-флагов, чтобы обеспечить совместимость X со всей системой.
Переменная INPUT_DEVICES используется для определения драйверов которые должны быть созданы для устройств ввода.
make.defaults имеет libinput в качестве драйвера устройства ввода по умолчанию.
Драйверы могут быть установлены с USE-флагом tools. Это установит nvidia-settings, удобный графический инструмент для мониторинга и настройки нескольких аспектов карты NVIDIA.

vim /etc/portage/package.use
x11-drivers/nvidia-drivers tools


После установки всех необходимых переменных и USE-флагов, устанавливаем Xorg:

emerge --ask x11-base/xorg-server

Попробуем startx для запуска X-сервер:

$ startx

Пользователей, которым требуется доступ к видеокарте, необходимо добавить в группу видео:

gpasswd -a user video

Некоторые инструменты, такие как media-video/mplayer и media-libs/xine-lib, используют локальный USE-флаг xvmc, который включает поддержку XvMCNVIDIA, что полезно при просмотре фильмов с высоким разрешением. Добавляем xvmc в переменную USE в /etc/portage/make.conf или добавляем его как флаг USE в media-video/mplayer и/или media-libs/xine-lib в /etc/portage/package.use.
Серия GeForce 8 и более поздние графические процессоры поставляются с поддержкой VDPAU, которая заменила поддержку XvMCNVIDIA.
Есть также некоторые приложения, которые используют USE-флаг nvidia, поэтому было бы неплохо добавить его в /etc/portage/make.conf.
Чтобы пересобрать приложения, запускаем:

emerge -uD --newuse @world

Встроенное ПО микроконтроллера дисплея обеспечивает поддержку расширенных графических состояний с низким энергопотреблением.

Встраиваем прошивку DMC в бинарный файл ядра (в данном случае i915/kbl_dmc_ver1_04.bin) начиная с Linux 4.18:
Device Drivers --->
Generic Driver Options --->
Firmware loader --->
-*- Firmware loading facility
(i915/kbl_dmc_ver1_04.bin) Build named firmware blobs into the kernel binary
(/lib/firmware) Firmware blobs root directory

Посмотреть можно командой:
dmesg | grep -i -E firmware
[ 0.108839] Spectre V2 : Enabling Restricted Speculation for firmware calls
[ 0.720459] Loading firmware: i915/kbl_dmc_ver1_04.bin

Для systemd:
journalctl -b 0 --dmesg | grep -i firmware

Установка Plasma 5

Необходимый профиль: default/linux/amd64/17.1/desktop/plasma (stable) * был установлен ранее.
Проверяем наличие USE флагов "-minimal handbook qt kde plasma" если они есть, удаляем.
Устанавливаем Plasma:

emerge --ask kde-plasma/plasma-meta

Устанавливаем дисплей менеджер

emerge --ask gui-libs/display-manager-init

Установите display-manager в качестве менеджера дисплея по умолчанию:

vim /etc/conf.d/display-manager
CHECKVT=7
DISPLAYMANAGER="sddm"

rc-update add display-manager default

Запускаем:

rc-service display-manager start

Для systemd:

systemctl enable sddm.service
systemctl start sddm.service


Для графической конфигурации настроек системы, устанавливаем:

emerge --ask kde-plasma/sddm-kcm

Systemd

systemd - это современная замена системы инициализации
SysV - подобных init и rc (run command) для Linux.
Быстрая настройка ядра, если используется gentoo-sources:

Gentoo Linux --->
Support for init systems, system and service managers --->
[ ] OpenRC, runit and other script based systems and managers
[*] systemd

Cоздаём символьную ссылку:

ln -sf /proc/self/mounts /etc/mtab

Профиль для systemd установливаем в разделе: "Изменяем профили"
Проверяем USE - флаг, systemd, если его нет, то устанавливаем и отключаем флаги -consolekit -elogind.
Обновляем систему с новыми флагами:

emerge -avDN @world

В случии проблемы с обновлением системы, пробуем решить её удалением sys-fs/udev:

emerge --deselect sys-fs/udev

Настройка GRUB2 для systemd:

vim /etc/default/grub
GRUB_CMDLINE_LINUX="init=/usr/lib/systemd/systemd"

Если система всё ещё запускается с OpenRC, для grub и grub2, init может быть жёстко сконфигурирована в ядре:

Processor type and features -->
[*] Built-in kernel command line

Создаём machine ID работы журналирования:

systemd-machine-id-setup

Устанавливаем имя хоста:

hostnamectl set-hostname <HOSTNAME>

Устанавливаем дату и время.
Чтобы понять, как использовать timedatectl, запускаем:

timedatectl --help

Просмотреть список часовых поясов можно при помощи команды:

timedatectl list-timezones

Осуществляем установку нужного часового пояса:

timedatectl set-timezone <часовой пояс>

Проверяем установленные параметры:

timedatectl status

Файлы юнитов загружаются из двух мест:
/lib/systemd/system - юниты, предоставляемые пакетами при установке. Их лучьше не трогать.
/etc/systemd/system/ - юниты, устанавливаемые системным администратором.
Юниты установленые системным администратором по приоритету выше предоставляемых пакетами.
Перезагрузить systemd для поиска новых или измененных юнитов:

systemctl daemon-reload

Включаем юнит в автозагрузку:

systemctl enable юнит

Проверить, включен ли юнит в автозапуск:

systemctl is-enabled юнит

Убрать юнит из автозапуска при загрузке системы:

systemctl disable юнит

Показать состояние системы:

systemctl status

Список запущенных юнитов:

systemctl или
systemctl list-units

Список юнитов, запуск которых не удался:

systemctl --failed

Список установленных файлов юнитов:

systemctl list-unit-files

Если установлен демон syslog-ng, в файле /etc/syslog-ng/syslog-ng.conf необходимо изменить на следующее:

source src { systemd-journal(); internal(); };

Для чтения логов используется команда:

journalctl

Чтобы просматривать системные журналы от имени не root'а, пользователи должны быть в одной из трёх следующих групп: systemd-journal, adm или wheel.
Разрешаем обычному пользователю просматривать журналы используя группу systemd-journal:

gpasswd --add user systemd-journal

По умолчанию journalctl отсекает части строк, которые не вписываются в экран по ширине, и, в некоторых случаях, возможно, будет лучше использовать специальную программу-обертку. Управление этой возможностью производится посредством переменной окружения SYSTEMD_LESS, в которой содержатся опции, передаваемые в less. Например:

SYSTEMD_LESS=FRXMK journalctl

Отслеживания логов в реальном времени, предварительно также выводит последние 10 сообщений:

journalctl -f

Вывод всех сообщений с момента одной из последних загрузок:

journalctl -b # последняя загрузка
journalctl -b -1 # предыдущая загрузка
journalctl -b -N # N-я загрузка считая от последней

Просмотр информации о недавних событиях в системе:

journalctl -n

По умолчанию на консоль выводится информация о последних 10 событиях. Можно указать необходимое число событий, например:

journalctl -n 20

Во время диагностики и исправления неполадок в системе требуется просмотреть логи и выяснить, есть ли в них сообщения о критических ошибках. Для этого в journalctl предусмотрена возможность фильтрации по уровню ошибки. Просмотреть сообщения обо всех ошибках, имевших место в системе, можно с помощью опции -p:

journalctl -p err -b

Приведённая команда покажет все сообщения об ошибках, имевших место в системе.
Эти сообщения можно фильтровать по уровню.

0 - EMERG (система неработоспособна);
1 - ALERT (требуется немедленное вмешательство);
2 - CRIT (критическое состояние);
3 - ERR (ошибка);
4 - WARNING (предупреждение);
5 - NOTICE (всё нормально, но следует обратить внимание);
6 - INFO (информационное сообщение);
7 - DEBUG (отложенная печать).

Коды уровней ошибок указываются после опции -p.
По умолчанию journalctl использует для вывода сообщений логов внешнюю утилиту less. В этом случае к ним невозможно применять стандартные утилиты для обработки текстовых данных (например, grep). Для решения этой проблемы достаточно воспользоваться опцией −−no-pager, и все сообщения будут записываться в стандартный вывод:

journalctl --no-pager

После этого их можно будет передать другим утилитам для дальнейшей обработки или сохранить в текстовом файле.
Узнать объём имеющихся на текущий момент логов:

journalctl --disk-usage

Настройки ротации логов можно прописать в конфигурационном файле /еtc/systemd/journald.conf, который включает в числе прочих следующие параметры:

SystemMaxUse= максимальный объём, который логи могут занимать на диске;
SystemKeepFree= объём свободного места, которое должно оставаться на диске после сохранения логов;
SystemMaxFileSize= объём файла лога, по достижении которого он должен быть удален с диска;
RuntimeMaxUse= максимальный объём, который логи могут занимать в файловой системе /run;
RuntimeKeepFree= объём свободного места, которое должно оставаться в файловой системе /run после сохранения логов;
RuntimeMaxFileSize= объём файла лога, по достижении которого он должен быть удален из файловой системы /run.
ForwardToSyslog=no (yes) писать логи в syslog

Установка рабочего стола Gnome с systemd

Предварительно устанавливаем и настраиваем systemd.
Профиль default/linux/amd64/17.1/desktop/gnome/systemd (stable) * для Gnome systemd был установлен ранее.
Необходимые переменные:
"VIDEO_CARDS="intel" (для видеокарты "intel")
INPUT_DEVICES="evdev synaptics"
MAKEOPTS="-j3"

были установлены ранее.
Дополнительно устанавливаем USE -флаги: gtk и gnome.

Xorg — сервер

Настраиваем конфигурацию ядра:

Включение поддержки evdev в ядре
Device Drivers --->
Input device support --->
<*> Event interface

Отключение поддержки старого кадрового буффера и включение вместо него поддержки основного кадрового буфера для консоли
Device Drivers --->
Graphics support --->
Frame Buffer Devices --->
<*> Support for frame buffer devices --->
Отключаем все драйвера, включая VGA, Intel, nVidia и ATI, оставляем поддержку кадрового буфера EFI, только если используем UEFI.
Включаем кадровый буфер для консоли. Его использует KMS
Console display driver support --->
<*> Framebuffer Console Support

Если настройки не работают при установке пакета x11-base/xorg-drivers, проверяем все доступные варианты и выбераем те, которые применимы к системе.

emerge --ask --verbose x11-base/xorg-drivers

Устанавливаем Xorg:

emerge --ask x11-base/xorg-server

Необходимо заново инициализировать переменные окружения:

env-update
source /etc/profile

Установка Gnome с systemd

Устанавливаем "минимальный" Gnome:

emerge --ask gnome-base/gnome-light

Обновляем переменное окружение:

env-update && source /etc/profile

Проверяем, есть ли в системе группа plugdev:

getent group plugdev
plugdev:x:104:

Добавляем пользователя в группу:

usermod -a -G plugdev nikolay

Для запуска GDM во время загрузки:

systemctl enable gdm.service

Для запуска GDM сразу:

systemctl start gdm.service

gentoo plasmagentoo plasma

Продаются
книги

Оставить отзыв

Установи и
БУДЕШЬ СЧАСТЛИВ!

Спасибо, Господи, что взял деньгами...

Помощь сайту!
Номер счёта: P1033771335
Приму в добрые руки!
Bitcoin 3LN3XUH45XvnRWCgYr4ZcB4P51zfPzKXYe
Dash XhaN3NWmxSXKK8dMpzotWSBk5As6KvFxog
Dogecoin DL1LyCQkKEUrgBBuWBbgvzb2RR5yeW5RQ9
Litecoin ltc1qr5ntqxafw9jcmq5jfgdhrm0uq306mqntntmhwf
Ethereum 0x0A476b0Fa1DF5a97c911AF4271897153800D23Db
Cardano
addr1q8q2ratx2fj3gnfj7y8vmggaj0wmyxs0r2lh6v5sfvkqeuwfwcteneggk0dhkv42u75ykq0f2vlgac5738urscf0ef6sr65rsw
Ryo
RYoLsdrYL7sTGXUrtvC9BLLTqTq3YfHdLga33GyhBy4sJ9zV7P8N49RKZmZpU563QsbBLC1UobmCTcwp1QnD6pAXStEtyxVerqn
Monero
4B8tc66Y136YHHEGSioVnpSAW7H5qU5W5MSaXH9RX2QSW6Uy6fFba2S7SndPsJqCXaH7Q4mLduGgZ1UXDx1FAgpoK4Rzvow
Scrooge
Dollar
Ruble
Ruble
Gold