LightDM (Русский)

Ссылки по теме
Экранный менеджер
GDM
LXDM (Русский)
Состояние перевода:
На этой странице представлен перевод статьи
LightDM
. Дата последней синхронизации: 26 сентября 2022. Вы можете
помочь
синхронизировать перевод, если в английской версии произошли
изменения
.
LightDM
это кросс-десктопный
Экранный менеджер
. Главные особенности:
Кросс-десктопный - поддерживает различные технологии рабочего стола.
Поддерживает различные технологии отображения (X, Wayland, Mir, ...).
Легковесный - низкое потребление памяти и высокая производительность.
Поддержка гостевых сессий.
Поддержка удаленного входа (входящий -
XDMCP
,
VNC
, исходящий -
XDMCP
,
PAM
).
Комплексный набор тестов.
Низкая сложность кода.
Более подробную информацию о проекте LightDM можно найти
здесь
.
Установка
Установите
lightdm
.
Совет
Обратите внимание, что чётные выпуски являются стабильными (1.8, 1.10), а разрабатываемые - нечётными (1.9, 1.11). Разрабатываемые версии доступны в
lightdm-devel
AUR
[
ссылка недействительна
: package not found]
, а также в
lightdm-git
AUR
.
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-greeter
AUR
[
ссылка недействительна
: package not found]
и экраном по умолчанию в Linux Mint.
lightdm-webkit2-greeter
: Экран приветствия, который использует Webkit2 для тем. Он заменяет lightdm-webkit-greeter.
lightdm-webkit-theme-litarvan
: Современная и полнофункциональная тема Webkit2 LightDM.
В
AUR
доступны дополнительные экраны приветствия:
lightdm-unity-greeter
AUR
[
ссылка недействительна
: package not found]
: Экран приветствия используемый Unity.
lightdm-mini-greeter
AUR
: Минималистичный настраиваемый однопользовательский экран приветствия.
lightdm-webkit-theme-aether
AUR
: Элегантный и понятный экран приветствия с темой Arch Linux, написанный на основе lightdm и lightdm-webkit2-greeter.
lightdm-elephant-greeter-git
AUR
: Небольшой и простой экран приветствия, по умолчанию запускается в Wayland-композиторе
cage
.
web-greeter
AUR
: Современный, привлекательный экран приветствия использует PyQtWebEngine для оформления. Он заменяет
lightdm-webkit2-greeter
.
Вы можете установить Экран приветствия по умолчанию, путём изменения раздела
[Seat:*]
в файле настроек LightDM, например:
/etc/lightdm/lightdm.conf
[Seat:*]
...
greeter-session=lightdm-
вашэкран
-greeter
...
Примечание
Для
lightdm-pantheon-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
Примечание
Рекомендуется поместить PNG или 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-greeter
AUR
[
ссылка недействительна
: 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-settings
AUR
.
Изменение аватара
Во-первых, убедитесь, что установлен пакет
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
Имя файла здесь указывает на изображение созданное в первом шаге, если необходимо измените и расширение файла.
Примечание
Убедитесь, что оба созданных файлы имеют права 644, используйте
chmod
, чтобы исправить права, при необходимости.
Внедрение Arch-ориентированных 64x64 иконок
Пакет
archlinux-artwork
AUR
содержит некоторые интересные примеры, которые устанавливаются в
/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-artwork
AUR
может быть удалён.
Включение автовхода
Отредактируйте файл настроек 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.
Примечание
Пользователи GNOME, использующие расширение gnome-keyring должны установить пустой пароль для своего gnome-keyring, чтобы он разблокировался автоматически.
Включение интерактивного беспарольного входа в систему
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
Примечание
Пользователям GNOME, и пользователям Gnome-keyring, возможно, придётся следовать инструкциям в конце предыдущего раздела о включении автоматического логина.
Для того, чтобы создать новую учётную запись пользователя, которая входит в систему автоматически и дополнительно имеет возможность снова войти в систему без пароля, пользователь может быть создан с помощью дополнительного участия в обеих группах и т.д .:
# 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-guest
AUR
предоставляет (неизмененный) guest-session скрипт как и сам
lightdm
.
lightdm-guest-account
AUR
предоставляет минимальную версию скрипта.
Скрытие системных пользователей и служб
Чтобы исключить системных пользователей из списка при входе в систему, установите дополнительную зависимость
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
.
Примечание
Если получите пустой экран при открытии VNC подключения, попробуйте другие LightDM экраны приветствия.
Блокировка экрана с помощью 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-git
AUR
для этой цели.
Просмотр текущей конфигурации
Для просмотра используемой конфигурации, запустите:
$ 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.
Смотрите также
Статья на Ubuntu Wiki
Gentoo:LightDM
Страница на Launchpad
https://wiki.ubuntu.com/MattFischer
LightDM на GitHub