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 серверу.
[править]
Установите 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
Перезагружаемся и проверяем.