Display manager (Русский)
Экранный менеджер или менеджер входа — графический экран, который отображается в конце процесса загрузки вместо стандартного приглашения командной строки. Экранный менеджер представляет собой экран ввода имени пользователя и пароля для входа в систему. Существует множество экранных менеджеров, как и окружений рабочего стола. Практически все экранные менеджеры можно настраивать, изменяя их стиль и поведение.
Список экранных менеджеров
Консольные
- CDM — ультра-минималистичный, но полнофункциональный менеджер входа, написанный на Bash.
- Console TDM — расширение для xinit, также написанное на Bash.
- nodm — минималистичный экранный менеджер для автоматического входа.
- Ly — легковесный TUI (ncurses-like) экспериментальный менеджер входа.
- tbsm — лаунчер сессий или приложений, написанный на чистом bash. Поддерживает сеансы X и Wayland.
Графические
- SDDM — экранный менеджер, основанный на QML. Продолжение KDE4 kdm, рекомендуется для Plasma 5 и LXQt.
Демоны входа
Запуск экранного менеджера
Чтобы включить экран входа, запустите соответствующую службу. Например для SDDM включите .
Это должно работать без дополнительных настроек. Если нет, возможно, вам придется удалить символическую ссылку , чтобы указать на файл по умолчанию. Смотрите Изменение цели загрузки по умолчанию.
После включения SDDM в должен быть установлен symlink . Возможно, вам придется использовать для переопределения старых символических ссылок.
Использование 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 в качестве сеанса. Просто установите в качестве сеанса в настройках вашего экранного менеджера и убедитесь, что файл является исполняемым.
Запуск приложений без оконного менеджера
Вы также можете запускать приложения без какого-либо оформления. Например, для запуска создайте файл в /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
При этом, сразу после входа будет запущено приложение, указанное в опции . Когда вы закроете приложение, вы будете возвращены к экранному менеджеру (точно так же, как если бы вы вышли из среды рабочего стола/оконного менеджера).
Важно помнить, что большинство графических приложений не рассчитаны на запуск в таком режиме и вы можете столкнуться с определенными ограничениями в их работе (например, диалоговые окна будут отображены без рамки и вы не сможете их перемещать по экрану; вы не сможете управлять никаким окном обычным способом — для установки размеров и положения вам, вероятно, придется вносить изменения в файлы настроек приложения).
Смотрите также xinitrc (Русский)#Запуск приложений без оконного менеджера.
Советы и рекомендации
Автозапуск
Большинство экранных менеджеров используют , и при входе. Для получения подробной информации, см. xprofile.
Установка языка
Для экранных менеджеров, которые используют AccountsService, язык для пользовательского сеанса может быть установлен путем редактирования:
/var/lib/AccountsService/users/$USER
[User] Language=''your_locale''
где your_locale — значение вида .
В качестве альтернативы можно использовать D-Bus:
busctl call org.freedesktop.Accounts /org/freedesktop/Accounts/User$UID org.freedesktop.Accounts.User SetLanguage s your_locale
Выйдите из системы, а затем снова войдите, чтобы изменения вступили в силу.