Lightdm
lightdm - это легковесный менеджер входа для linux. Отличается быстротой, лёгкостью исходного кода и хорошей раширяемостью.
Настройка
правитьФайл конфигурации
правитьФайл конфигурации находится по пути /etc/lightdm/lightdm.conf
. Значения задаются обычным способом: опция=значение
.
Greeter (экран приветствия)
правитьGreeter - это то самое окно в котором вы будете вводить имя и пароль или выключать компьютер. Экран приветствия можно менять в конфигурационном файле /etc/lightdm/lightdm.conf
.
Ниже приведены ссылки доступных Greeter-ов в репозитории Debian.
lightdm-kde-greeter
razorqt-lightdm-greeter
lightdm-gtk-greeter
Изменение Greeter-а
правитьДля того чтобы вывести список доступных greeter-ов выполните команду
ls -l /usr/share/xgreeters/
Далее открываем любым редактором файл /etc/lightdm/lightdm.conf
и ищем строчку с текстом #[Seat:0]
. Сразу под ней добавляем данную строчку:
greeter-session=lightdm-gtk-greeter
Вместо lightdm-gtk-greeter
указываем тот greeter который нам нужен.
Перезагружаем компьютер и проверяем.
Опции файла lightdm.conf
правитьЗдесь перечислены все опции которые получилось использовать на практике. Опции надо создавать в секциях дабы избежать ошибок. Проверить файл на ошибки можно командой lightdm --show-config
.
Секция [LightDM]
правитьminimum-vt
правитьНачальный виртуальный терминал запускающий дисплей.
minimum-vt=7
user-authority-in-system-dir
правитьУстановите true
если полномочия сессии должны находиться в системном месте.
guest-account-script
правитьСкрипт выполняется для настройки учётной записи гостя.
logind-check-graphical
правитьМожет произойти что ваша система будет загружатся слишком быстро, и сервис lightdm запускается перед тем как ваши графические драйверы будут загружены. при таком случае надо изменить (или добавить в секцию [LightDm]) следующую строчку:
logind-check-graphical=true
Этот параметр прикажет lightdm ждать пока графические устройства не будут готовы.
log-directory
правитьДиректория папки в которой будут хранится логи.
Создавать папки не обязательно, все необходимые папки и подпапки создаются автоматически при перезагрузке системы.
run-directory
правитьДиректория в которой хранятся файлы запущенного lightdm. Создавать папки не обязательно, все необходимые папки и подпапки создаются автоматически при перезагрузке системы.
cache-directory
правитьДиректория для хранения cache-файлов. Создавать папки не обязательно, все необходимые папки и подпапки создаются автоматически при перезагрузке системы.
sessions-directory
правитьДиректории для поиска сессий. Перечисляются через :
.
remote-sessions-directory
правитьДиректории для поиска удалённых сессий.
greeters-directory
правитьДиректории для поиска greerer-ов. Перечисляются через :
.
Секция [SeatDefaults]
правитьПисать данные значения в [SeatDefaults]
не рекомендуется, используйте [Seat:*]
вместо него.
Секция [Seat:*]
правитьВместо *
надо писать номер начиная с нуля. Таким образом можно создавать несколько конфигураций.
type
правитьТип места. Поддерживаются всего 2 значения: xlocal
и xremote
.
pam-service
правитьPAM (Pluggable Authentication Module) сервис используемый для входа.
pam-autologin-service
правитьPAM (Pluggable Authentication Module) сервис используемый для автологина.
pam-greeter-service
правитьPAM (Pluggable Authentication Module) сервис используемый для greeter-ов.
xserver-command
правитьКоманда для запуска X сервера. Также можно задавать аргументы:
xserver-command=X [опции]
Аргументы можно узнать коммандой X --help
xserver-config
правитьФайл конфигурации для передачи на X сервер.
xserver-allow-tcp
правитьУстановите true если соединения TCP/IP разрешены к X серверу.
xserver-share
правитьУстановите true если X сервер является общим для обоих greeter и сессии.
xserver-hostname
правитьИмя хоста X сервера. Только для типа xremote.
xserver-display-number
правитьНомер дисплея X сервера. Только для типа xremote.
xdmcp-manager
правитьXDMCP менеджер для подключения к. Подрузамевает xserver-allow-tcp=true
.
xdmcp-port
правитьXDMCP UDP/IP порт для связи.
xdmcp-key
правитьКлюч для использования XDM-AUTHENTICATION-1 (хранится в /etc/lightdm/keys.conf
).
unity-compositor-command
правитьКоманда для запуска unity compositor. Можно использовать аргументы:
unity-compositor-command=unity-system-compositor [опции]
unity-compositor-timeout
правитьПодождать указанное количество секунд чтобы запустить compositor.
greeter-session
правитьПозволяет указать greeter для загрузки сессии. Чтобы посмотреть список доступных в системе greeter-ов введите в терминале:
ls -l /usr/share/xgreeters/
greeter-hide-users
правитьУстановите true чтобы скрыть список пользователей.
greeter-allow-guest
правитьУстановите true чтобы greeter показал вариант для входа гостя.
greeter-show-manual-login
правитьУстановите true чтобы greeter предлагал вариант ручного входа в систему.
greeter-show-remote-login
правитьУстановите true чтобы greeter предлагал вариант удалённого входа в систему.
user-session
правитьСессия загружаемая для пользователя.
allow-user-switching
правитьУстановите true чтобы разрешить переключать пользователей.
allow-guest
правитьЗначение true позволяет включить гостевой вход.
guest-session
правитьСессия загружаемая для гостей. Отменяет значение user-session.
session-wrapper
правитьСкрипт обёртка для запуска сессии. Пример:
session-wrapper=/etc/X11/xdm/Xsession
greeter-wrapper
правитьСкрипт обёртка для запуска greeter.
guest-wrapper
правитьСкрипт обёртка для запуска гостевой сессии.
display-setup-script
правитьПуть до скрипта запускаемого при запуске greeter сессии (запускаетя от root). Обычно используется при неполадках связанных с разрешением экрана, но об этом позже.
display-stopped-script
правитьПуть до скрипта запускаемого при остановке дисплейного сервера. (запускаетя от root)
session-cleanup-script
правитьПуть до скрипта запускаемого при выходе пользователя из сеанса. (запускаетя от root)
autologin-guest
правитьУстановите true чтобы авторизироватся как гость по умолчанию.
autologin-user-timeout
правитьСекунды ожидания перед автоматическим входом.
autologin-session
правитьСессия к загрузке для автоматического входа в систему.
autologin-in-background
правитьУстановите true если автоматический вход не должен быть немедленно активирован.
exit-on-failure
правитьУстановите true если daemon должен выйти если это место (Seat) не работает.
Секция [XDMCPServer]
правитьXDMCP Server configuration
enabled
правитьУстановите true если XDCMP соединения должны быть разрешены.
port
правитьUDP/IP порт для прослушивания соединений.
key
правитьКлюч аутентификации используемый для XDM-AUTHENTICATION-1 или оставьте пустым чтобы не использовать аутентификацию (ключи хранятся в keys.conf).
Ключ аутентификации является 56 битным DES ключом, указанном в шестнадцатеричном 0xnnnnnnnnnnnnnn. В качестве альтернативы это может быть слово, и первые 7 символов используются в качестве ключа.
Зашифровать пароль в des можно здесь - Сервис для шифрования.расшифрование DES онлайн
Секция [VNCServer]
правитьVNC Server configuration
enabled
правитьУстановите true если VNC соединения должны быть разрешены.
command
правитьКоманда для запуска сервера с Xvnc.
port
правитьTCP/IP порт для прослушивания соединений.
width
правитьШирина дисплея для использования.
height
правитьВысота дисплея для использования.
depth
правитьГлубина цвета дисплея для использования
Изменение фона
правитьЦвет фона
правитьВ качестве заднего фона экрана приветствия можно задать обычный цвет. Для этого открываем любым редактором файл /etc/lightdm/lightdm-gtk-greeter.conf
и ищем строчку background=
. Значение задаётся в hex формате. Пример: background=#FF00FF
.
Изображение вместо цвета
правитьФон в чистом lightdm изменяется в /etc/lightdm/lightdm-gtk-greeter.conf
, в случае с остальными greeter-ами читайте к прилагающейся к ним инструкции.
Открываем файл /etc/lightdm/lightdm-gtk-greeter.conf
и ищем строчку background=
. Удаляем прежнее значение и указываем путь к картинке. Поддерживаются практически все популярные форматы.
Изменение шрифта
правитьДля того чтобы изменить шрифт экрана приветствия нужно сделать простые манипуляции.
Скачиваем из интернета любой понравившийся шрифт. Закидываем его в папку /usr/share/fonts/truetype/
. Или вы можете узнать список системных щрифтов:
fc-list :lang=ru|cut -d " " -f 2-99
И использовать нужный скопировав название до двоеточия.
Дальше заходим в файл /etc/lightdm/lightdm-gtk-greeter.conf
и ищем строчку с текстом:
font-name
Присваиваем этой опции значение в качестве имени нашего шрифта. Важно соблюдать регистр, а также допускается наличие пробелов. Перезагружаемся и пробуем написать что-нибудь в текстбоксах.
Автовход
правитьДля того чтобы воспользоватся автовходом без ввода пароля, нужно отредактировать файл /etc/lightdm/lightdm.conf
. За автовход отвечает строчка:
autologin-user=
Задаём опции значение имени пользователя. Перезагружаем компьютер и проверяем.
За то как долго экран приветствия будет ждать перед запуском автологина отвечает строчка:
autologin-user-timeout=
Примечание: если данная опция закомментирована то задержка равна 0.
Следующая строчка включает автоматический вход с гостевой учетной записи:
autologin-guest=true
Запуск команды когда запускается X, когда запускается экран приветствия или когда запускается сессия
правитьКогда lightdm запускает X вы можете запустить команду или скрипт, установив значение в переменную:
display-setup-script=[путь до скрипта или команда]
Тоже самое можно делать и когда запускается экран приветствия:
greeter-setup-script=[путь до скрипта или команда]
Или когда начинается сеанс пользователя:
session-setup-script=[путь до скрипта или команда]
Если lightdm запускается некорректно
правитьУ некоторых пользователей наблюдаются неполадки с разрешением или отображением изображения на экран при запуске lightdm. Для того чтобы это исправить нужно выполнить следующие операции. Выполняем в терминале:
xrandr
Вывод будет приблизительно такой:
Screen 0: minimum 320 x 200, current 1440 x 900, maximum 4096 x 4096
VGA-1 disconnected (normal left inverted right x axis y axis)
DVI-I-1 connected 1440x900+0+0 (normal left inverted right x axis y axis) 428mm x 255mm
1440x900 59.89 + 74.98*
1280x1024 75.02 60.02
1280x960 60.00
1152x864 75.00
1024x768 75.08 70.07 60.00
832x624 74.55
800x600 72.19 75.00 60.32 56.25
640x480 75.00 72.81 66.67 60.00
720x400 70.08
TV-1 disconnected (normal left inverted right x axis y axis)
На экран выведутся все доступные разрешения экрана. DVI-I-1 это дисплей. Вместо этого значения у вас может быть другое.
Теперь необходимо создать скрипт отвечающий за изменение разрешения экрана.
mkdir ~/xrandr
touch ~/xrandr/resolution.sh
Теперь открываем файл ~/xrandr/resolution.sh
любым редактором. Копируем в него следующие строки:
#!/bin/sh
xrandr --output DVI-I-1 --primary --mode 1440x900
Вместо DVI-I-1 подставляем имя вашего дисплея из вывода команды xrandr. Вместо 1440x900
указываем необходимое разрешение экрана из доступных. При необходимости дописываем опцию --dpi
и указываем значение для необходимой плотности пикселей.
Даём нашему скрипту права запуска:
chmod +x ~/xrandr/resolution.sh
Теперь открываем файл /etc/lightdm.conf
и редактируем опцию display-setup-script
таким образом:
display-setup-script=[путь до домашнего каталога]/xrandr/resolution.sh
Перезагружаемся и проверяем.