Display manager (Русский)
Состояние перевода: На этой странице представлен перевод статьи Display manager. Дата последней синхронизации: 15 сентября 2021. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.
Экранный менеджер или менеджер входа — графический экран, который отображается в конце процесса загрузки вместо стандартного приглашения командной строки. Экранный менеджер представляет собой экран ввода имени пользователя и пароля для входа в систему. Существует множество экранных менеджеров, как и окружений рабочего стола. Практически все экранные менеджеры можно настраивать, изменяя их стиль и поведение.
Список экранных менеджеров
Консольные
- CDM — ультра-минималистичный, но полнофункциональный менеджер входа, написанный на Bash.
- Console TDM — расширение для xinit, также написанное на Bash.
- nodm — минималистичный экранный менеджер для автоматического входа.
- Ly — легковесный TUI (ncurses-like) экспериментальный менеджер входа.
- tbsm — лаунчер сессий или приложений, написанный на чистом bash. Поддерживает сеансы X и Wayland.
- emptty — совершенно простой менеджер CLI на TTY с поддержкой X и Wayland.
Графические
- Entrance — экранный менеджер Enlightenment.
- GDM — экранный менеджер GNOME.
- LightDM — независимый от среды рабочего стола экранный менеджер, можно подключать различные фронтенды с любыми тулкитами.
- LXDM — экранный менеджер LXDE. Может быть использован отдельно от среды рабочего стола LXDE.
- 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-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 . Когда вы закроете приложение, вы будете возвращены к экранному менеджеру (точно так же, как если бы вы вышли из среды рабочего стола/оконного менеджера).
Важно помнить, что большинство графических приложений не рассчитаны на запуск в таком режиме и вы можете столкнуться с определенными ограничениями в их работе (например, диалоговые окна будут отображены без рамки и вы не сможете их перемещать по экрану; вы не сможете управлять никаким окном обычным способом — для установки размеров и положения вам, вероятно, придется вносить изменения в файлы настроек приложения).
Советы и рекомендации
Автозапуск
Большинство экранных менеджеров используют /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
Выйдите из системы, а затем снова войдите, чтобы изменения вступили в силу.