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