LightDM (Русский)
LightDM это кросс-десктопный Экранный менеджер. Главные особенности:
- Кросс-десктопный - поддерживает различные технологии рабочего стола.
- Поддерживает различные технологии отображения (X, Wayland, Mir, ...).
- Легковесный - низкое потребление памяти и высокая производительность.
- Поддержка гостевых сессий.
- Поддержка удаленного входа (входящий - XDMCP, VNC, исходящий - XDMCP, PAM).
- Комплексный набор тестов.
- Низкая сложность кода.
Более подробную информацию о проекте LightDM можно найти здесь.
Установка
Greeter (Экран приветствия/входа в систему)
Возможно вы хотите установить Экран приветствия. Экран приветствия представляет собой графический интерфейс, который предлагает пользователю ввести учетные данные, выбрать сеанс, и так далее. Можно использовать LightDM без Экрана приветствия, но только с настроеным автоматическим входом; в противном случае вам нужно установить xorg-server и какой-нибудь экран приветствия из перечисленных ниже.
Официальные репозитории содержат следующие экраны приветствия:
- lightdm-gtk-greeter: Это экран приветствия по умолчанию, который LightDM пытается использовать, если в настройках не выбран какой-то другой.
- lightdm-deepin-greeter (deepin-session-shell): Экран приветствия из проекта Deepin.
- lightdm-pantheon-greeter: Экран приветствия из проекта elementary OS.
- lightdm-slick-greeter: Основанный на GTK экран приветствия, сосредоточенный на внешнем виде сильнее чем lightdm-gtk-greeter; является форком lightdm-unity-greeterAUR[ссылка недействительна: package not found] и экраном по умолчанию в Linux Mint.
- lightdm-webkit2-greeter: Экран приветствия, который использует Webkit2 для тем. Он заменяет lightdm-webkit-greeter.
- lightdm-webkit-theme-litarvan: Современная и полнофункциональная тема Webkit2 LightDM.
В AUR доступны дополнительные экраны приветствия:
- lightdm-unity-greeterAUR[ссылка недействительна: package not found]: Экран приветствия используемый Unity.
- lightdm-mini-greeterAUR: Минималистичный настраиваемый однопользовательский экран приветствия.
- lightdm-webkit-theme-aetherAUR: Элегантный и понятный экран приветствия с темой Arch Linux, написанный на основе lightdm и lightdm-webkit2-greeter.
- lightdm-elephant-greeter-gitAUR: Небольшой и простой экран приветствия, по умолчанию запускается в Wayland-композиторе cage.
- web-greeterAUR: Современный, привлекательный экран приветствия использует PyQtWebEngine для оформления. Он заменяет lightdm-webkit2-greeter.
Вы можете установить Экран приветствия по умолчанию, путём изменения раздела [Seat:*]
в файле настроек LightDM, например:
/etc/lightdm/lightdm.conf
[Seat:*] ... greeter-session=lightdm-вашэкран-greeter ...
io.elementary.greeter.conf
, а не lightdm-pantheon-greeter.conf
Каждый файл .desktop в каталоге /usr/share/xgreeters
представляет доступный Экран приветствия. В этом примере доступны Экраны приветствия lightdm-gtk-greeter
и lightdm-webkit2-greeter
:
$ ls -1 /usr/share/xgreeters/ lightdm-gtk-greeter.desktop lightdm-webkit2-greeter.desktop
Включение LightDM
Убедитесь в том что вы включили lightdm.service
, чтобы LightDM запускался при загрузке. Смотрите также Экранный менеджер#Запуск экранного менеджера.
Инструмент командной строки
LightDM предлагает инструмент командной строки, dm-tool
, который может быть использован для блокировки текущего места, переключения сеансов и т.д., что полезно в «минималистских» оконных менеджерах и для тестирования. Чтобы увидеть список доступных команд, выполните следующую команду:
$ dm-tool --help
Переключение пользователей
dm-tool lock
или dm-tool switch-to-greeter
сесиия не будет заблокирована без light-locker или другого экрана блокировки совместимого с loginctl. Также смотрите XScreenSaver#User switching from the lock screen.Команда LightDM dm-tool может быть использована для входа нескольких пользователей в отдельные TTY. Приведённая ниже команда посылает запрос на блокировку текущей сессии и переключается на экран приветствия LightDM, что позволяет другому пользователю войти в систему.
$ dm-tool switch-to-greeter
Тестирование
Установите xorg-server-xephyr из официальных репозиториев.
Затем запустите LightDM как приложение X:
$ lightdm --test-mode --debug
Дополнительные настройки
LightDM может быть настроен редактированием его файла конфигурации /etc/lightdm/lightdm.conf
.
Некоторые Экраны приветствия имеют свои собственные файлы настроек. Например:
lightdm-gtk-greeter: /etc/lightdm/lightdm-gtk-greeter.conf
(или можно использовать графический инструмент lightdm-gtk-greeter-settings).
lightdm-webkit2-greeter: /etc/lightdm/lightdm-webkit2-greeter.conf
X session wrapper
Если вы мигрируете с xinit, то заметите, что сессия запущена не вашим shell. Это происходит, потому что не shell запускает сессию (и наследуются переменные вашего shell), а LightDM запускает сессию и не использую ваш шелл shell. LightDM запускает сессию с помощью скрипта и после этого графическое окружение. По умолчанию используется /etc/lightdm/Xsession
.
Переменные окружения
Скрипт проверяет и использует /etc/profile
, ~/.profile
, /etc/xprofile
и ~/.xprofile
в указанном порядке. Если вы используете shell которые не использует эти файлы, то можете создать ~/.xprofile
. (В этом примере используется zsh)
~/.xprofile
#!/bin/sh [ -f ~/.config/zsh/.zshenv ] && . ~/.config/zsh/.zshenv
Если имеются переменные shell которые важны для вашей сессии (например Gtk или QT темы, расположение GNUPG, изменения в конфигурации, и т.д.) это позволит графическому окружению получить доступ к переменным окружения shell.
Keymap
Скрипт запускает Xkbmap с аргументами указанными в файлах /etc/X11/Xkbmap
, ~/.Xkbmap
. Если эти файлы не найдены, запускается xmodmap с /etc/X11/Xmodmap
, ~/.Xmodmap
. Если используется xkbmap, файлы обрабатываются при помощи cat. Пример:
~/.Xmodmap
-model pc105 -layout us,us,tr -variant ,dvorak,f -option grp:caps_toggle
Иначе, сессия наследует системные настройки X11. Эти настройки могут быть указаны в конфигурационных файлах xorg вручную или с помощью localectl set-x11-keymap
. Смотрите Xorg/Keyboard configuration#Setting keyboard layout.
Несколько раскладок клавиатуры в lightdm-gtk-greeter
Чтобы включить возможность выбора настроенных раскладок клавиатуры на экране приветствияоткройте выпадающее меню и настройте раскладки. Также можно использовать графический lightdm-gtk-greeter-settings или откорректировать файл вручную:
/etc/lightdm/lightdm-gtk-greeter.conf
[greeter] indicators = ~host;~spacer;~clock;~spacer;~layout;~language;~session;~a11y;~power
Используйте localectl, чтобы установить несколько раскладок, например de и его “вариант” neo с последней как основной:
# localectl --no-convert set-x11-keymap de,de pc105 neo,
Обратите внимание на запятую в конце, которая подразумевает пустой вариант для второго de.
Изменение фонового изображения/цветов
Вы можете установить фон в шестнадцатеричном формате цвета или изображение. Некоторые экраны приветствия предоставляют более расширенные параметры для фона, например выбор фона на экране входа, случайное изображение, и т.д.
Экран приветствия GTK
Можете воспользоваться программой с графическим интерфейсом lightdm-gtk-greeter-settings.
Пользователям, желающим настроить обои на экране приветствия необходимо отредактировать /etc/lightdm/lightdm-gtk-greeter.conf
и определить переменную background
в секции [greeter]
. Например:
/etc/lightdm/lightdm-gtk-greeter.conf
[greeter] background=/usr/share/pixmaps/black_and_white_photography-wallpaper-1920x1080.jpg
/usr/share/pixmaps
т.к. LightDM нужен доступ на чтение файла обоев рабочего стола.Тема GTK3 может быть указана в переменной theme-name
в секции [greeter]
. Тема для значков у курсора изменяются аналогично, как показано в примере:
/etc/lightdm/lightdm-gtk-greeter.conf
[greeter] theme-name = Tela icon-theme-name = Tela cursor-theme-name = Tela cursor-theme-size = 32 font-name = Cantarell 20
Экран приветствия Webkit2
lightdm-webkit2-greeter позволяет выбрать обои непосредственно на экране приветствия. Также доступна возможность показывать случайное изображение при каждом запуске, если используете Material theme. По умолчанию, как источник обоев используется /usr/share/backgrounds
. Вы можете изменить каталог с изображениями отредактировав lightdm-webkit2-greeter.conf
. Например:
/etc/lightdm/lightdm-webkit2-greeter.conf
[branding] background_images = /usr/share/backgrounds
Экран приветствия Unity
Пользователи, использующие lightdm-unity-greeterAUR[ссылка недействительна: package not found] должны отредактировать /usr/share/glib-2.0/schemas/com.canonical.unity-greeter.gschema.xml
файл, а затем выполнить:
# glib-compile-schemas /usr/share/glib-2.0/schemas/
В соответствии с этой страницей.
Экран приветствия Slick
Используйте графический инструмент lightdm-settingsAUR.
Изменение аватара
Во-первых, убедитесь, что установлен пакет accountsservice из Официальных репозиториев, затем настройте его следующим образом, замените username
на имя нужного пользователя.
- Создайте PNG файл
/var/lib/AccountsService/icons/username.png
размером 96x96. Также доступны и другие форматы изображений, например JPEG. - Или создайте файл с изображением
/home/username/.face
и пропустите следующий шаг так как уже указан путь к каталогу пользователя. - Отредактируйте или создайте файл
/var/lib/AccountsService/users/username
и добавьте строки
[User] Icon=/var/lib/AccountsService/icons/username
Имя файла здесь указывает на изображение созданное в первом шаге, если необходимо измените и расширение файла.
Внедрение Arch-ориентированных 64x64 иконок
Пакет archlinux-artworkAUR содержит некоторые интересные примеры, которые устанавливаются в /usr/share/archlinux/icons
и которые могут быть скопированы в /usr/share/icons/hicolor/64x64/devices
следующим образом:
# find /usr/share/archlinux/icons -name "*64*" -exec cp {} /usr/share/icons/hicolor/64x64/devices \;
После копирования, пакет archlinux-artworkAUR может быть удалён.
Включение автовхода
Отредактируйте файл настроек LightDM, раскомментируйте эти строки и правильно настройте:
/etc/lightdm/lightdm.conf
[Seat:*] autologin-user=username
Вы должны быть в группе autologin
, чтобы входить в систему автоматически без ввода пароля:
# groupadd -r autologin # gpasswd -a username autologin
LightDM производит вход в сессию указанную в ~/.dmrc
пользователя для которого настроен автоматический вход. Чтобы обойти эти настройки, укажите autologin-session
в lightdm.conf
:
/etc/lightdm/lightdm.conf
[Seat:*] autologin-user=username autologin-session=session
Список доступных имён сессий можно посмотреть в /usr/share/xsessions/*.desktop
для X сессий и в /usr/share/wayland-sessions/*.desktop
для Wayland.
Включение интерактивного беспарольного входа в систему
LightDM проходит через PAM, так что вы должны сконфигурировать lightdm настройки PAM:
/etc/pam.d/lightdm
#%PAM-1.0 auth sufficient pam_succeed_if.so user ingroup nopasswdlogin auth include system-login ...
Вы также должны входить в группу nopasswdlogin
, чтобы получить возможность входа в систему в интерактивном режиме без ввода пароля:
# groupadd -r nopasswdlogin # gpasswd -a username nopasswdlogin
Для того, чтобы создать новую учётную запись пользователя, которая входит в систему автоматически и дополнительно имеет возможность снова войти в систему без пароля, пользователь может быть создан с помощью дополнительного участия в обеих группах и т.д .:
# useradd -mG autologin,nopasswdlogin -s /bin/bash username
Гостевой вход
Чтобы включить поддержку гостевого входа в LightDM (без изменения настроек вашей системы) потребуется следующее:
- guest-account-script: по умолчанию
guest-account
и включает в себя две команды:- add (для создания временного системного гостевого аккаунта, возвращает имя пользователя созданного аккаунта)
- remove имя аккаунта(для удаления указанного аккаунта)
- Наличие autologin группы в которую созданный гостевой аккаунт должен быть добавлен (см.
/etc/pam.d/lightdm-autologin
)
В AUR доступны два пакета, которые включают гостевой вход в lightdm:
- lightdm-guestAUR предоставляет (неизмененный) guest-session скрипт как и сам lightdm.
- lightdm-guest-accountAUR предоставляет минимальную версию скрипта.
Скрытие системных пользователей и служб
Чтобы исключить системных пользователей из списка при входе в систему, установите дополнительную зависимость accountsservice или добавьте имя пользователя в /etc/lightdm/users.conf
в секцию hidden-users
. Первый вариант предпочтительнее, так как не нужно обновлять список при добавлении или удалении пользователей.
Миграция с SLiM
Переместите содержимое xinitrc в xprofile, удалите вызов запуска Оконного менеджера или Среды рабочего стола.
Вход с помощью ~/.xinitrc
Смотрите Display manager (Русский)#Использование ~/.xinitrc как сеанс.
NumLock включен по умолчанию
Установите пакет numlockx и отредактируйте /etc/lightdm/lightdm.conf
:
/etc/lightdm/lightdm.conf
[Seat:*] greeter-setup-script=/usr/bin/numlockx on
Сессия по умолчанию
Lightdm, как и другие Экранные менеджеры, хранит последнюю выбранную сессию в ~/.dmrc
. Для подробностей смотрите Display manager (Русский)#Настройка сеанса.
Регулировка положения входа окна
Экран приветствия GTK
Необходимо отредактировать /etc/lightdm/lightdm-gtk-greeter.conf
и ввести значение в переменную position
. Оно принимает значения x
и y
, как абсолютные (в пикселях), так и относительные (в процентах). Каждое значение может иметь дополнительное местоположение для привязки окна, start
, center
и end
, которые отделяются от значения запятой.
Пример:
position=200,start 50%,center
VNC сервер
Lightdm также может использоваться для подключения через VNC. Установите пакет tigervnc на сервер и опционально как VNC-клиент на ПК клиента.
Настройте пароль для аутентификации на сервере под root:
# vncpasswd /etc/vncpasswd
Отредактируйте конфигурационный файл LightDM как показано ниже. Имейте ввиду, что listen-address
настраивает VNC на соединение только с localhost. Это используется для разрешения соединения только через SSH and port forwarding. Проверьте, что на клиенте SSH используется localhost:5900
for the tunnel destination; использование 127.0.0.1:5900
или ::1:5900
нереализуемо при сетевых подключениях с двойным стеком. Если хотите разрешить небезопасные соединения можете отключить эти настройки.
/etc/lightdm/lightdm.conf
[VNCServer] enabled=true command=Xvnc -rfbauth /etc/vncpasswd port=5900 listen-address=localhost width=1024 height=768 depth=24
Теперь откройте SSH туннель и подключитесь к localhost как описано в TigerVNC#On the client.
Блокировка экрана с помощью light-locker
light-locker простой блокировщик экрана для LightDM. После установки и корректного запуска, сеанс может быть заблокирован командой:
$ light-locker-command -l
Необходимо, чтобы light-locker
был запущен перед запуском вашей сессии. По умолчанию, это доступно через XDG Autostart. Дополнительную информацию смотри в разделе Autostarting.
Использование нескольких мониторов
Иногда LightDM некорректно устанавливает разрешение экрана при использовании нескольких мониторов. Следующая конфигурация Xorg работает с двумя мониторами: большой основной экран слева и меньший вторичный справа. Порядок может быть изменён и дополнен.
/etc/X11/xorg.conf.d/52-resolution-fix.conf
Section "Monitor" Identifier "DP1" Option "PreferredMode" "3840x2160" Option "Primary" "1" EndSection Section "Monitor" Identifier "eDP1" Option "PreferredMode" "1920x1080" Option "RightOf" "DP1" EndSection
Это делает параметр display-setup-script
в /etc/lightdm/lightdm.conf
избыточным.
Решение проблем
Автоматический вход не работает
Убедитесь, что autologin-user=
в /etc/lightdm/lightdm.conf
содержит допустимое значение. Последующие пробелы также вызывают ошибки.
Если автоматический вход приводит к пустому экрану или экран входа сразу возвращается, возможно необходимо установить logind-check-graphical=true
.
Также можно установить lightdm-autologin-greeter-gitAUR для этой цели.
Просмотр текущей конфигурации
Для просмотра используемой конфигурации, запустите:
$ lightdm --show-config
Будут показаны текущие настройки, со ссылками на файлы в которых заданы эти настройки.
LightDM не запускается и моргает экран
Если вы столкнулись с миганием экрана, и в итоге LightDM не запускается, проверьте что вы определили Экран приветствия правильно, в файле настроек LightDM. И если вы правильно задали Экран приветствия GTK, убедитесь что xsessions-directory
(по умолчанию: /usr/share/xsessions
) существует и содержит по меньшей мере один файл .desktop.
Та же ошибка может произойти при запуске Lightdm, когда последняя запускаемая сессия больше не доступна (например, когда вы последний раз использовали Gnome, а потом удалили пакет gnome-session): самый простой способ - временно восстановить удалённый пакет. Другое возможное решение:
# dbus-send --system --type=method_call --print-reply --dest=org.freedesktop.Accounts /org/freedesktop/Accounts/User1000 org.freedesktop.Accounts.User.SetXSession string:xfce
В этом примере устанавливается сессия по умолчанию "xfce" для пользователя 1000.
Локаль неправильно отображается
В случае, если ваша локаль не отображается правильно LightDM, добавьте свой языковой стандарт в /etc/environment
LANG=ru_RU.utf8
Если вы хотите, чтобы LightDM и экраны приветствия использовали язык отличающийся от системного, можете использовать параметр Environment=
в Systemd#Drop-in files.
Не отвечает в течение нескольких минут после запуска
Возможно, необходимо увеличить энтропию. Для этого установите и включите haveged. Подробнее о проблеме https://github.com/canonical/lightdm/issues/17
Отсутствуют иконки в Экране приветствия GTK
Если вы используете lightdm-gtk-greeter как Экран приветствия и видите "заполнитель изображений" в виде иконок, убедитесь что действующая тема значков установлена и задействована. Проверьте следующий файл:
/etc/lightdm/lightdm-gtk-greeter.conf
[greeter] theme-name=mate # имя каталога из /usr/share/themes/ icon-theme-name=mate # имя каталога из /usr/share/icons/
LightDM зависает при попытке входа в систему
После ввода правильного имени пользователя и пароля, при попытке войти в систему, вы обнаруживаете что LightDM завис и вы не можете продолжить загрузку до Рабочего стола. Чтобы устранить эту проблему, переустановите пакет gdk-pixbuf2. Смотрите эту тему на форуме (Англ.).
LightDM отображается в неправильном мониторе
Если вы используете несколько мониторов, LightDM может отображаться в неправильном (например, если ваш основной монитор находится справа). Чтобы заставить экран LightDM отображаться на конкретном мониторе, отредактируйте /etc/lightdm/lightdm.conf
и измените параметр display-setup-script, например:
/etc/lightdm/lightdm.conf
display-setup-script=xrandr --output HDMI-1 --primary
Замените HDMI-1 на ваш настоящий ID монитора, который можно найти с помощью результата вывода команды xrandr.
Если используете экран приветствия GTK, можете отредактировать /etc/lightdm/lightdm-gtk-greeter.conf
и добавить параметр active-monitor например:
/etc/lightdm/lightdm-gtk-greeter.conf
[greeter] active-monitor=0
Замените 0 на необходимый номер монитора.
LightDM не отображается или отображается только вывод TTY
Может случиться так, что ваша система загружается так быстро, что служба LightDM запускается перед загрузкой графического драйвера. Если это ваш случай, добавьте следующие настройки в файл lightdm.conf:
/etc/lightdm/lightdm.conf
[LightDM] logind-check-graphical=true
Этот параметр заставит LightDM ждать, пока графический драйвер не будет готов перед запуском сессии Экранного приветствия/автозапуска.
LightDM запускается с маленьким FPS на Intel Graphics
Смотрите Intel graphics#AccelMethod.
Pulseaudio не запускается автоматически
Смотрите PulseAudio (Русский)#Запуск.
Большая задержка перед загрузкой LightDM при зашифрованном HOME
Некоторые темы LightDM пытаются получить доступ к пользовательскому аватару расположенному в HOME. Если ваш HOME зашифрован, LightDM не может получить доступ к нему. Чтобы исправить ситуацию, сделайте следующее:
- Установите ваш аватар в соответствии с #Изменение аватара
- Только для lightdm-gtk-greeter:
hide-user-image = true
в/etc/lightdm/lightdm-gtk-greeter.conf
Загрузка останавливается на "[ OK ] Reached target Graphical Interface."
Возможно, что обзор пользователя и группы не удаётся, в случае если вы изменили /etc/nsswitch.conf
. Это случается когда nsswitch.conf
группа: включает ldap
без настроек nss_initgroups_ignoreusers ALLLOCAL
в /etc/nslcd.conf
Сессия Wayland не работает с дублирующимися записями GNOME
Некоторые экраны приветствия (lightdm-webkit2-greeter например) не поддерживает две сессии с одинаковым именем [1]. Для проверки на дублирующиеся записи выполните:
$ ls -1 /usr/share/wayland-sessions /usr/share/xsessions
Переименуйте дублирующиеся записи в /usr/share/xsessions
. Например:
# mv /usr/share/xsessions/gnome.desktop /usr/share/xsessions/gnome.desktop.disabled
Первая попытка входа всегда завершается ошибкой
Укажите hostname как описано в Настройка сети. Также смотрите FS#47694.
Бесконечный цикл при входе
Если вы попали в замкнуты круг в котором вводите корректные имя пользователя и пароль, но экран чернеет и вы возвращаетесь на экран входа после каждой попытки. Удаление командой rm ~/.Xauthority
(проблемного пользовательского файла .Xauthority
) может решить проблему.
Другой причиной может быть, что вы заменили файл "lightdm.conf" для сброса настроек и в нём отсутствует строка:
session-wrapper=/etc/lightdm/Xsession
В этом случае, lightdm пытается использовать "lightdm-session" в качестве session-wrapper, которая отсутствует в Arch Linux.