Display manager (Русский)
Экранный менеджер или менеджер входа — графический экран, который отображается в конце процесса загрузки вместо стандартного приглашения командной строки. Экранный менеджер представляет собой экран ввода имени пользователя и пароля для входа в систему. Существует множество экранных менеджеров, как и окружений рабочего стола. Практически все экранные менеджеры можно настраивать, изменяя их стиль и поведение.
Contents
Список экранных менеджеров
Консольные
- CDM — ультра-минималистичный, но полностью функциональный менеджер входа, написанный на Bash.
https://github.com/ghost1227/cdm || cdm-gitAUR
- Console TDM — расширение для xinit, также написанное на Bash.
https://github.com/dopsi/console-tdm || console-tdmAUR
- Nodm — минималистичный экранный менеджер для автоматического входа.
https://github.com/spanezz/nodm || nodm
- Ly — экспериментальный менеджер входа.
https://github.com/cylgom/ly || ly-gitAUR
Графические
- GDM — экранный менеджер GNOME.
https://wiki.gnome.org/Projects/GDM || gdm
- LightDM — независимый от среды рабочего стола экранный менеджер, основанный на WebKit.
https://www.freedesktop.org/wiki/Software/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
Запуск экранного менеджера
Чтобы включить экран входа, запустите соответствующую службу. Например для SDDM включите sddm.service . Это должно работать без дополнительных настроек. Если нет, возможно, вам придется удалить символическую ссылку default.target , чтобы указать на graphical.target файл по умолчанию. После включения SDDM в /etc/systemd/system/ должен быть установлен symlink display-manager.service . Возможно, вам придется использовать —force для переопределения старых символических ссылок.
Использование systemd-logind
Чтобы иметь возможность проверить статус вашей сессии, вы можете использовать loginctl. Все действия polkit, такие, как перевод системы в ждущий режим или монтирование внешних устройств будут работать «из коробки».
Настройка сеанса
Большинство экранных менеджеров получают список доступных сеансов из каталога /usr/share/xsessions/ . Он содержит стандартные файлы .desktop для каждого экранного/оконного менеджера. Чтобы добавить/удалить записи в список сеансов вашего экранного менеджера, создайте/удалите соответствующий файл .desktop в /usr/share/xsessions/ . Типичный файл .desktop выглядит примерно так:
Использование
Установите xinit-xsession AUR для запуска xinitrc в качестве сеанса. Просто установите xinitrc в качестве сеанса в настройках вашего экранного менеджера и убедитесь, что файл
/.xinitrc является исполняемым.
Запуск приложений без оконного менеджера
Вы также можете запускать приложения без какого-либо оформления. Например, для запуска google-chrome AUR создайте файл web-browser.desktop в /usr/share/xsessions/ :
При этом, сразу после входа будет запущено приложение, указанное в опции Exec . Когда вы закроете приложение, вы будете возвращены к экранному менеджеру (точно так же, как если бы вы вышли из среды рабочего стола/оконного менеджера).
Важно помнить, что большинство графических приложений не рассчитаны на запуск в таком режиме и вы можете столкнуться с определенными ограничениями в их работе (например, диалоговые окна будут отображены без рамки и вы не сможете их перемещать по экрану; вы не сможете управлять никаким окном обычным способом — для установки размеров и положения вам, вероятно, придется вносить изменения в файлы настроек приложения).
Автозапуск
Большинство экранных менеджеров используют /etc/xprofile ,
/.xprofile и /etc/X11/xinit/xinitrc.d/ при входе. Для получения подробной информации, см. xprofile.
Установка языка
Для экранных менеджеров, которые используют AccountsService, язык для пользовательского сеанса может быть установлен путем редактирования:
Выйдите из системы, а затем снова войдите, чтобы изменения вступили в силу.
Настройка LightDM в Linux
LightDM — это менеджер входа в систему, который вы видите когда система уже загрузилась и вам нужно выбрать пользователя и ввести пароль. Это намного лучше чем в старые времена приходилось вводить логин и пароль в терминале. Менеджер входа, относительно новая программа, но он делает много работы по авторизации пользователя и запуску рабочего окружения. Но по умолчанию внешний вид у него, мягко говоря, не очень.
В этой инструкции будет рассмотрена настройка LightDM, глобальные настройки, настройки входа, а также оформления и различных тем.
Начнем с того что LightDM это только менеджер входа. А в качестве экранов приветствия могут использоваться несколько вариантов надстроек. В Ubuntu по умолчанию используется unity-greeter, в окружении рабочего стола GNOME — lightdm-gtk-greeter, а в KDE — lightdm-kde-greeter. Есть также экран входа, основанный на веб-технологиях — lightdm-webkit-greeter. Но сначала давайте рассмотрим глобальные настройки LightDM ubuntu.
Настройка LightDM
Конфигурационный файл LightDM находится по адресу /etc/lightdm/lightdm.conf. Откройте этот файл следующей командой и введите нужные настройки. Все настройки добавляются в секцию [SeatDefaults].
sudo vi /etc/lightdm/lightdm.conf
Отключаем вход для гостей
По умолчанию LightDM позволяет входить в систему под именем временного пользователя, с ограниченными полномочиями, для отключения добавьте строку:
Отключение списка пользователей
Unity Greeter и еще несколько экранов входа показывают список пользователей lightdm. Эту функцию можно отключить, но тогда рекомендуется включить ручной ввод логина.
Ручной ввод логина
В Unity вы не можете ввести логин с клавиатуры, чтобы включить эту функцию добавьте:
Автоматический вход
Чтобы разрешить автоматический вход lightdm необходимо добавить два параметра — указать имя пользователя по умолчанию и задержку перед автологином:
Если вы хотите разрешить автоматический вход под временным пользователем добавьте:
Выбор сессии
На компьютере может быть установлено несколько окружений рабочего стола или другие программы, позволяющие создавать отдельную сессию. Чтобы установить сессию по умолчанию добавьте:
Посмотреть доступные сессии можно командой:
Имя сессии — это название ее *.desktop файла.
Выбор экрана приветствия
Как я уже говорил, в системе может быть установлено несколько экранов приветствия. Чтобы выбрать экран приветствия добавьте такую строчку:
Доступные экраны приветствия смотрим в папке: /usr/share/xgreeters/.
Запускать скрипт по событию
Запустить скрипт после старта Х сервера:
Запустить после завершения работы Х сервера:
Запустить перед экраном приветствия:
Запустить перед стартом окружения рабочего стола:
Запустить после завершения сессии пользователя:
Команда запуска оболочки:
Команда запуска экрана входа:
Большинство этих настроек можно изменить и без прямого редактирования конфигурационного файла, а с помощью утилиты lightdm-set-defaults. Посмотреть доступные ключи можно командой:
sudo /usr/lib/lightdm/lightdm-set-defaults -h
Базовая настройка LightDM Ubuntu рассмотрена. Конечно, есть несколько графических утилит специально разработанных для настройки LightDM, но они уже устарели и не поддерживаются, поэтому их мы рассматривать не будем, а сразу перейдем к настройке экранов приветствия.
Настройка LightDM в KDE
Если вы используете KDE, то настроить LightDM очень просто. Откройте настройки системы и найдите пункт Менеджер входа LightDM в разделе Управление системой:
- Выбрать тему оформления, по умолчанию обычно поставляются две темы lightdm.
- Изменить фоновое изображение.
После сохранения изменений вам необходимо пере зайти в KDE. Как уже сказано, по умолчанию есть только две lightdm темы, но вы можете найти другие в интернете. Просто скопируйте их в /usr/share/kde4/apps/lightdm-kde-greeter/themes/ (для Kubuntu) В других системах путь может немного отличаться.
Настройка LightDM в Unity
В Unity нет специальной утилиты для настройки LightDM, но для этих целей можно установить и использовать Ubuntu Tweak.
Программу можно установить из репозитория PPA, выполнив следующие команды:
sudo add-apt-repository ppa:tualatrix/ppa
$ sudo apt-get update
$ sudo apt-get install ubuntu-tweak
Запустить программу можно из меню Dsah или через терминал:
Для настройки LightDM откройте пункт Параметры экрана входа в систему
Убедитесь что вы находитесь на вкладке настройки, затем нажмите кнопку разблокировать и введите пароль, чтобы иметь возможность менять настройки на системном уровне:
Ubuntu Tweak позволяет изменить такие настройки:
- Включить/выключить гостевой доступ
- Изменить фоновое изображение
- Изменить логотип
- Выбрать тему GTK
- Выбрать тему значков
После того как завершите настройку перезаайдите в Unity чтобы увидеть изменения.
Альтернативные экраны входа LightDM
Если стандартный экран входа, поставляемый с системой вас не устраивает вы можете установить любой другой. Например, вы можете установить Unity Greeter в Kubuntu или Lightdm-kde-greeter в Ubuntu. Но имейте в виду, что каждый из них потянет за собой все свои зависимости, будь то KDE или Ubuntu. Так что если для вас важно свободное место и чистота системы, это не самый лучший вариант. Для установки используйте эти команды:
sudo apt-get install lightdm-kde-greeter
sudo apt-get install unity-greeter
Lightdm-gtk-greeter это экран приветствия, основанный на библиотеке GTK, используется по умолчанию в Lubuntu. По сути, это только диалоговое окно с возможностью выбора сессии, пользователя и ввода пароля. Lightdm-gtk-greeter — это очень простой экран приветствия, для установки выполните:
sudo apt-get install lightdm-gtk-greeter
Есть еще и более сложный вариант — lightdm-webkit-greeter. Этот экран приветствия позволяет создать собственную тему на HTML, CSS и JavaScript. Если вы достаточно разбираетесь в программировании, ваши возможности настройки здесь ограничены только вашей фантазией. Скопируйте файлы из папки /usr/share/lightdm-webkit/themes/webkit в новую папку, например, /usr/share/lightdm-webkit/themes/mytheme, и делайте все что захотите. Также можно найти уже готовые темы в интернете. Для установки lightdm-webkit-greeter выполните:
sudo apt-get install lightdm-webkit-greeter
Еще кое-что. Уже сейчас можно попробовать экран приветствия, который будет использоваться в Unity 8, подробнее как это сделать описано в статье: экран приветствия Unity 8.
Выводы
Настраиваемость LightDM по-прежнему на очень низком уровне, но она намного лучше чем в таких менеджерах входа, как KDM или GDM. Если вас не устраивает LightDM, вы можете пробовать другой менеджер входа, еще есть SLIM и SDDM используемый в новой версии KDE Frameworks 5. А вы пользовались каким-либо способом для настройки LightDM? Напишите в комментариях!
Оцените статью:
Об авторе
Основатель и администратор сайта losst.ru, увлекаюсь открытым программным обеспечением и операционной системой Linux. В качестве основной ОС сейчас использую Ubuntu. Кроме Linux интересуюсь всем, что связано с информационными технологиями и современной наукой.
17 комментариев
А как мне сделать, автоматический вход в Manjaro c xfce?
Смотрите инструкцию. Нужно добавить вот эти строки в файл /etc/lightdm/lightdm.conf
autologin-user=username
autologin-user-timeout=delay
Исползуйте для редактирования файла команду: sudo nano /etc/lightdm/lightdm.conf
Привет!Классная статья!Кстати я это проделал в manjaro xfce!Всё получилось.
autologin-user=username
autologin-user-timeout=delay
Будьте внимательнее: ну, ладно, делать ошибки в тексте, но в заголовке.
«Это намного лучше чем в старые времена приходилось вводить логин и пароль в терминале»
Вообще говоря консольный логин никуда не делся, все на вкус и цвет.
Я вообще не понимаю зачем графический вход, если можно сразу после консольного логина автозапускать Х.
ubuntu-twak отказывается установиться на xenial. грустно
xenial_all.deb и установите вручную.
У меня проблема, когда раскоментирую и добавляю greeter-session=lightdm-gtk-greeter то не загружается менеджер дисплеев:
[FAILED] Failed to start Light Display Manager.
See ‘systemctl status lightdm-gtk-greeter.service’ for details.
Вывод команды systemctl status lighten.service
lightdm.service — Light Display Manager
Loaded: loaded (/usr/lib/systemd/system/lightdm.service; enable; vendor preset: disabled)
Active: failed (Result: start-limit-hit) since Mon 2016-10-24 14:06:13 MSK; 17min ago
Docs: man:lightdm(1)
Process: 321 ExecStart=/usr/bin/lightdm (code=exited, status=1/FAILURE)
Main PID: 321 (code=exited, status=1/FAILURE)
Oct 24 14:06:12 segfault systemd[1]: Failed to start Light Display Manager.
Oct 24 14:06:12 segfault systemd[1]: lightdm.service: Unit entered failed state.
Oct 24 14:06:12 segfault systemd[1]: lightdm.service: Failed with result ‘exit-code’.
Oct 24 14:06:13 segfault systemd[1]: lightdm.service: Service hold-off time over, scheduling restart.
Oct 24 14:06:13 segfault systemd[1]: Stopped Light Display Manager.
Oct 24 14:06:13 segfault systemd[1]: lightdm.service: Start request repeated too quickly.
Oct 24 14:06:13 segfault systemd[1]: Failed to start Light Display Manager.
Oct 24 14:06:13 segfault systemd[1]: lightdm.service: Unit entered failed state.
Oct 24 14:06:13 segfault systemd[1]: lightdm.service: Failed with result ‘start-limit-hit’.
В общем проблема решена. Я оставлял предыдушую настройку #greeter-session=example-greeter, в одной страке с новым, через пробел и табы, что бы не забыть что изменил. Видимо хоть и ставил перед # но во время запуска система не пропускал его как комментарию в результате возникала ошибка.
Сейчас оставил старый (деф.) параметр с # а новый написал с новой страки. Проблема рещился
Вообще на ArchWiki ru Всё подробно расписано и показано. и какой файл редактировать и какие группы создавать дополнительно.и прочее
запускаем сервис systemctl enable lightdm.service
потом запускаем systemctl enable lightdm
первоначально перед этим убедившись
systemctl status lightdm.service
└─ $ uname -a
Linux fleks 4.8.10-1-ARCH #1 SMP PREEMPT Mon Nov 21 11:55:43 CET 2016 x86_64 GNU/Linux
┌─ fleks
└─ $ systemctl status lightdm.service
● lightdm.service — Light Display Manager
Loaded: loaded (/usr/lib/systemd/system/lightdm.service; enabled; vendor pres
Active: active (running) since Сб 2016-11-26 21:34:17 +05; 52min ago
Docs: man:lightdm(1)
Main PID: 375 (lightdm)
Tasks: 4 (limit: 4915)
CGroup: /system.slice/lightdm.service
├─375 /usr/bin/lightdm
└─403 /usr/lib/xorg-server/Xorg :0 -seat seat0 -auth /run/lightdm/roo
ноя 26 21:34:15 fleks systemd[1]: Starting Light Display Manager.
ноя 26 21:34:17 fleks systemd[1]: Started Light Display Manager.
ноя 26 21:34:20 fleks lightdm[458]: pam_succeed_if(lightdm-autologin:auth): requ
ноя 26 21:34:20 fleks lightdm[458]: pam_unix(lightdm-autologin:session): session
lines 1-14/14 (END). skipping.
● lightdm.service — Light Display Manager
Loaded: loaded (/usr/lib/systemd/system/lightdm.service; enabled; vendor preset: disabled)
Active: active (running) since Сб 2016-11-26 21:34:17 +05; 52min ago
Docs: man:lightdm(1)
Main PID: 375 (lightdm)
Tasks: 4 (limit: 4915)
CGroup: /system.slice/lightdm.service
├─375 /usr/bin/lightdm
└─403 /usr/lib/xorg-server/Xorg :0 -seat seat0 -auth /run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch
ноя 26 21:34:15 fleks systemd[1]: Starting Light Display Manager.
ноя 26 21:34:17 fleks systemd[1]: Started Light Display Manager.
ноя 26 21:34:20 fleks lightdm[458]: pam_succeed_if(lightdm-autologin:auth): requirement «user ingroup autologin» was met by user «fleks»
ноя 26 21:34:20 fleks lightdm[458]: pam_unix(lightdm-autologin:session): session opened for user fleks by (uid=0)