Display manager (Русский)

Состояние перевода:
На этой странице представлен перевод статьи
Display manager
. Дата последней синхронизации: 15 сентября 2021. Вы можете
помочь
синхронизировать перевод, если в английской версии произошли
изменения
.
Ссылки по теме
Среда рабочего стола
Оконный менеджер
Запуск X при входе
Экранный менеджер
или менеджер входа — графический экран, который отображается в конце процесса загрузки вместо стандартного приглашения командной строки. Экранный менеджер представляет собой экран ввода имени пользователя и пароля для входа в систему. Существует множество экранных менеджеров, как и окружений рабочего стола. Практически все экранные менеджеры можно настраивать, изменяя их стиль и поведение.
Список экранных менеджеров
Консольные
CDM
— ультра-минималистичный, но полнофункциональный менеджер входа, написанный на Bash.
https://github.com/evertiro/cdm
||
cdm
AUR
Console TDM
— расширение для
xinit
, также написанное на Bash.
https://github.com/dopsi/console-tdm
||
console-tdm
AUR
nodm
— минималистичный экранный менеджер для автоматического входа.
https://github.com/spanezz/nodm
||
nodm
Ly
— легковесный TUI (ncurses-like) экспериментальный менеджер входа.
https://github.com/nullgemm/ly
||
ly
tbsm
— лаунчер сессий или приложений, написанный на чистом bash. Поддерживает сеансы X и Wayland.
https://loh-tar.github.io/tbsm/
||
tbsm
AUR
emptty
— совершенно простой менеджер CLI на TTY с поддержкой X и Wayland.
https://github.com/tvrzna/emptty/
||
emptty-git
AUR
Графические
Entrance
— экранный менеджер
Enlightenment
.
https://github.com/Obsidian-StudiosInc/entrance
||
entrance-git
AUR
GDM
— экранный менеджер
GNOME
.
https://wiki.gnome.org/Projects/GDM
||
gdm
LightDM
— независимый от среды рабочего стола экранный менеджер, можно подключать различные фронтенды с любыми тулкитами.
https://github.com/canonical/lightdm
||
lightdm
LXDM
—  экранный менеджер
LXDE
. Может быть использован отдельно от среды рабочего стола LXDE.
https://sourceforge.net/projects/lxdm/
||
lxdm
SDDM
— экранный менеджер, основанный на QML. Продолжение KDE4 kdm, рекомендуется для
Plasma 5
и
LXQt
.
https://github.com/sddm/sddm
||
sddm
XDM
— экранный менеджер с поддержкой XDMCP.
xdm(8)
||
xorg-xdm
Демоны входа
greetd
— Минимальный, гибкий и независимый демон входа в систему, который поддерживает как консольные, так и графические интерфейсы.
https://git.sr.ht/~kennylevinsen/greetd
||
greetd
Запуск экранного менеджера
Чтобы включить экран входа,
запустите
соответствующую службу. Например для
SDDM
включите
sddm.service
.
Это должно работать без дополнительных настроек. Если нет, возможно, вам придется удалить символическую ссылку
default.target
, чтобы указать на
graphical.target
файл по умолчанию. Смотрите
Изменение цели загрузки по умолчанию
.
После включения
SDDM
в
/etc/systemd/system/
должен быть установлен symlink
display-manager.service
. Возможно, вам придется использовать
--force
для переопределения старых символических ссылок.
$ file /etc/systemd/system/display-manager.service
/etc/systemd/system/display-manager.service: symbolic link to /usr/lib/systemd/system/sddm.service
Использование systemd-logind
Чтобы иметь возможность проверить статус вашей сессии, вы можете использовать
loginctl
. Все действия
polkit
, такие, как перевод системы в ждущий режим или монтирование внешних устройств будут работать "из коробки".
$ loginctl show-session $XDG_SESSION_ID
Настройка сеанса
Большинство экранных менеджеров получают список доступных сеансов из каталога
/usr/share/xsessions/
. Он содержит стандартные
файлы
.desktop
для каждого экранного/оконного менеджера.
Чтобы добавить/удалить записи в список сеансов вашего экранного менеджера, создайте/удалите соответствующий файл .desktop в
/usr/share/xsessions/
. Типичный файл .desktop выглядит примерно так:
[Desktop Entry]
Name=Openbox
Comment=Log in using the Openbox window manager (without a session manager)
Exec=/usr/bin/openbox-session
TryExec=/usr/bin/openbox-session
Icon=openbox.png
Type=Application
Использование ~/.xinitrc как сеанс
Установите
xinit-xsession
AUR
для запуска
xinitrc
в качестве сеанса. Просто установите
xinitrc
в качестве сеанса в настройках вашего экранного менеджера и убедитесь, что файл
~/.xinitrc
является исполняемым.
Запуск приложений без оконного менеджера
Вы также можете запускать приложения без какого-либо оформления. Например, для запуска
google-chrome
AUR
создайте файл
web-browser.desktop
в
/usr/share/xsessions/
:
[Desktop Entry]
Name=Web Browser
Comment=Use a web browser as your session
Exec=/usr/bin/google-chrome --auto-launch-at-startup
TryExec=/usr/bin/google-chrome --auto-launch-at-startup
Icon=google-chrome
Type=Application
При этом, сразу после входа будет запущено приложение, указанное в опции
Exec
. Когда вы закроете приложение, вы будете возвращены к экранному менеджеру (точно так же, как если бы вы вышли из среды рабочего стола/оконного менеджера).
Важно помнить, что большинство графических приложений не рассчитаны на запуск в таком режиме и вы можете столкнуться с определенными ограничениями в их работе (например, диалоговые окна будут отображены без рамки и вы не сможете их перемещать по экрану; вы не сможете управлять никаким окном обычным способом — для установки размеров и положения вам, вероятно, придется вносить изменения в файлы настроек приложения).
Смотрите также
xinitrc (Русский)#Запуск приложений без оконного менеджера
.
Советы и рекомендации
Автозапуск
Большинство экранных менеджеров используют
/etc/xprofile
,
~/.xprofile
и
/etc/X11/xinit/xinitrc.d/
при входе. Для получения подробной информации, см.
xprofile
.
Установка языка
Для экранных менеджеров, которые используют
AccountsService
,
язык
для пользовательского сеанса может быть установлен путем редактирования:
/var/lib/AccountsService/users/$USER
[User]
Language=
your_locale
где
your_locale
— значение вида
ru_RU.UTF-8
.
В качестве альтернативы можно использовать
D-Bus
:
busctl call org.freedesktop.Accounts /org/freedesktop/Accounts/User$UID org.freedesktop.Accounts.User SetLanguage s
your_locale
Выйдите из системы, а затем снова войдите, чтобы изменения вступили в силу.