Display manager (Русский)
Экранный менеджер или менеджер входа — графический экран, который отображается в конце процесса загрузки вместо стандартного приглашения командной строки. Экранный менеджер представляет собой экран ввода имени пользователя и пароля для входа в систему. Существует множество экранных менеджеров, как и окружений рабочего стола. Практически все экранные менеджеры можно настраивать, изменяя их стиль и поведение.
Список экранных менеджеров
Консольные
- CDM — ультра-минималистичный, но полнофункциональный менеджер входа, написанный на Bash.
- Console TDM — расширение для xinit, также написанное на Bash.
- nodm — минималистичный экранный менеджер для автоматического входа.
- Ly — легковесный TUI (ncurses-like) экспериментальный менеджер входа.
- tbsm — лаунчер сессий или приложений, написанный на чистом bash. Поддерживает сеансы X и Wayland.
- emptty — совершенно простой менеджер CLI на TTY с поддержкой X и Wayland.
Графические
- Entrance — экранный менеджер Enlightenment.
- LightDM — независимый от среды рабочего стола экранный менеджер, можно подключать различные фронтенды с любыми тулкитами.
- SDDM — экранный менеджер, основанный на QML. Продолжение KDE4 kdm, рекомендуется для Plasma 5 и LXQt.
- XDM — экранный менеджер с поддержкой XDMCP.
Демоны входа
- 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-xsessionAUR для запуска xinitrc в качестве сеанса. Просто установите xinitrc
в качестве сеанса в настройках вашего экранного менеджера и убедитесь, что файл ~/.xinitrc
является исполняемым.
Запуск приложений без оконного менеджера
Вы также можете запускать приложения без какого-либо оформления. Например, для запуска google-chromeAUR создайте файл 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
Выйдите из системы, а затем снова войдите, чтобы изменения вступили в силу.