Display manager (Русский)

From ArchWiki
Jump to: navigation, search

Tango-preferences-desktop-locale.pngЭта страница нуждается в сопроводителеTango-preferences-desktop-locale.png

Статья не гарантирует актуальность информации. Помогите русскоязычному сообществу поддержкой подобных страниц. См. Команда переводчиков ArchWiki

Экранный менеджер или менеджер входа — графический экран, который отображается в конце процесса загрузки вместо стандартного приглашения командной строки. Экранный менеджер представляет собой экран ввода имени пользователя и пароля для входа в систему. Существует множество экранных менеджеров, также как и окружений рабочего стола. Практически все экранные менеджеры можно конфигурировать, изменяя их стиль и поведение.

Список экранных менеджеров

Консольные

  • CDM — ультра-минималистичный, но полностью функциональный менеджер входа, написанный на Bash.
https://github.com/ghost1227/cdm || cdm-gitAUR
  • Console TDM — расширение для xinit, также написанное на Bash.
http://code.google.com/p/t-display-manager/ || console-tdmAUR

Графические

  • Entrance — очень экспериментальная реализация, основанная на EFL.
http://enlightenment.org/ || entrance-gitAUR
  • GDM — экранный менеджер GNOME.
http://projects.gnome.org/gdm/ || gdm
  • KDM — экранный менеджер KDE.
http://www.kde.org/ || kdebase-workspaceAUR
  • LightDM — независимый от среды рабочего стола экранный менеджер, основанный на WebKit.
http://www.freedesktop.org/wiki/Software/LightDM || lightdm
  • LXDM — экранный менеджер LXDE. Может быть использован отдельно от среды рабочего стола LXDE.
http://sourceforge.net/projects/lxdm/ || lxdm
  • MDM — экранный менеджер, используемый в Linux Mint, форк GDM 2.
https://github.com/linuxmint/mdm || mdm-display-managerAUR
  • Qingy — очень легкий и гибкий в настройке экран входа, не зависящий от X (использует DirectFB).
http://qingy.sourceforge.net/ || qingyAUR[ссылка недействительна: сохранено в aur-mirror]
  • SDDM — экранный менеджер, основанный на QML.
https://github.com/sddm/sddm || sddm, sddm-gitAUR
  • SLiM — легкий и элегантный экран входа.
http://sourceforge.net/projects/slim.berlios/ || slim
  • XDM — экранный менеджер, входящий в проект X Window System; поддерживает XDMCP и имеет возможность выбора хоста.
http://www.x.org/archive/X11R7.5/doc/man/man1/xdm.1.html || xorg-xdm

Запуск экранного менеджера

Чтобы включить экран входа, запустите демон вашего экранного менеджера (например, KDM):

# systemctl enable kdm

Это должно работать без дополнительной настройки, и при перезагрузке вы увидите экран входа. Если это не так, вероятно, ссылка default.target была изменена вручную:

$ ls -l /etc/systemd/system/default.target
[...] /etc/systemd/system/default.target -> /usr/lib/systemd/system/graphical.target

Просто удалите символическую ссылку, и systemd станет использовать стандартный default.target (указывающий на graphical.target).

# rm /etc/systemd/system/default.target

После включения службы KDM символическая ссылка display-manager.service должна быть установлена в /etc/systemd/system/:

$ ls -l /etc/systemd/system/display-manager.service
[...] /etc/systemd/system/display-manager.service -> /usr/lib/systemd/system/kdm.service

Использование systemd-logind

Чтобы иметь возможность проверить статус вашей сессии, вы можете использовать loginctl. Все действия polkit, такие как перевод системы в ждущий режим или монтирование внешних устройств будут работать "из коробки".

$ loginctl show-session $XDG_SESSION_ID

Советы и рекомендации

Список сеансов

Большинство экранных менеджеров получают список доступных сеансов из каталога /usr/share/xsessions/. Он содержит стандартные файлы .desktop для каждого экранного/оконного менеджера.

Чтобы добавить (удалить) записи в список сеансов вашего экранного менеджера, создайте (удалите) соответствующий файл .desktop в /usr/share/xsessions/. Типичный файл .desktop выглядит следующим образом:

[Desktop Entry]
Encoding=UTF-8
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=XSession

Запуск приложений без оконного менеджера

Вы можете запускать приложения без всяких оконных декораций и рабочего стола. Например, для запуска google-chromeAUR создайте файл web-browser.desktop в /usr/share/xsessions/:

[Desktop Entry]
Encoding=UTF-8
Name=Веб-браузер
Comment=Запуск веб-браузера в качестве сеансового приложения
Exec=/usr/bin/google-chrome --auto-launch-at-startup
TryExec=/usr/bin/google-chrome --auto-launch-at-startup
Icon=google-chrome

При этом, сразу после входа будет запущено приложение, указанное в опции Exec. Когда вы закроете приложение, вы будете возвращены к экранному менеджеру (точно так же, как если бы вы вышли из среды рабочего стола/оконного менеджера).

Важно помнить, что большинство графических приложений не рассчитаны на запуск в таком режиме и вы можете столкнуться с определенными ограничениями в их работе (например, диалоговые окна будут отображены без рамки и вы не сможете их перемещать по экрану; вы не сможете управлять никаким окном обычным способом — для установки размеров и положения вам, вероятно, придется вносить изменения в файлы настроек приложения).

Смотрите также xinitrc (Русский)#Запуск приложений без оконного менеджера.

Автозапуск

Большинство экранных менеджеров запускают скрипты /etc/xprofile, ~/.xprofile и /etc/X11/xinit/xinitrc.d/ при входе. Для получения подробной информации, см. xprofile.

Известные проблемы

Несовместимость с systemd

Это относится к Entrance и MDM.

Некоторые менеджеры не полностью совместимы с systemd, потому, что они переиспользуют процесс сеанса PAM. Это вызывает разнообразные проблемы при повторном входе, например:

  • апплет NetworkManager перестает работать,
  • уровень громкости в PulseAudio не может быть отрегулирован,
  • невозможно зайди в GNOME под другим пользователем.