Главная >> Инструкции >> Настройка LightDM в Linux

Настройка LightDM в Linux

LightDM - это менеджер входа в систему, который вы видите когда система уже загрузилась и вам нужно выбрать пользователя и ввести пароль. Это намного лучше чем в старые времена приходилось вводить логин и пароль в терминале. Менеджер входа, относительно новая программа, но он делает много работы по авторизации пользователя и запуску рабочего окружения. Но по умолчанию внешний вид у него, мягко говоря, не очень.

В этой инструкции будет рассмотрена настройка LightDM, глобальные настройки, настройки входа, а также оформления и различных тем.

Начнем с того что LightDM это только менеджер входа. А в качестве экранов приветствия могут использоваться несколько вариантов надстроек. В Ubuntu по умолчанию используется unity-greeter, в окружении рабочего стола GNOME - lightdm-gtk-greeter, а в KDE - lightdm-kde-greeter. Есть также экран входа, основанный на веб-технологиях - lightdm-webkit-greeter. Но сначала давайте рассмотрим глобальные настройки LightDM ubuntu.


Содержание статьи

Настройка LightDM

Конфигурационный файл LightDM находится по адресу /etc/lightdm/lightdm.conf. Откройте этот файл следующей командой и введите нужные настройки. Все настройки добавляются в секцию [SeatDefaults].

Начнем:

sudo vi /etc/lightdm/lightdm.conf

Отключаем вход для гостей

По умолчанию LightDM позволяет входить в систему под именем временного пользователя, с ограниченными полномочиями, для отключения добавьте строку:

allow-guest=false

Отключение списка пользователей

Unity Greeter и еще несколько экранов входа показывают список пользователей lightdm. Эту функцию можно отключить, но тогда рекомендуется включить ручной ввод логина.

greeter-hide-users=true

Ручной ввод логина

В Unity вы не можете ввести логин с клавиатуры, чтобы включить эту функцию добавьте:

greeter-show-manual-login=true

Автоматический вход

Чтобы разрешить автоматический вход lightdm необходимо добавить два параметра - указать имя пользователя по умолчанию и задержку перед автологином:

autologin-user=username
autologin-user-timeout=delay

Если вы хотите разрешить автоматический вход под временным пользователем добавьте:

autologin-guest=true

Выбор сессии

На компьютере может быть установлено несколько окружений рабочего стола или другие программы, позволяющие создавать отдельную сессию. Чтобы установить сессию по умолчанию добавьте:

user-session=имя_сессии

Посмотреть доступные сессии можно командой:

ls /usr/share/xsessions/

Имя сессии - это название ее *.desktop файла.

Выбор экрана приветствия

Как я уже говорил, в системе может быть установлено несколько экранов приветствия. Чтобы выбрать экран приветствия добавьте такую строчку:

greeter-session=имя_экрана

Доступные экраны приветствия смотрим в папке: /usr/share/xgreeters/.

Запускать скрипт по событию

Запустить скрипт после старта Х сервера:

display-setup-script=command

Запустить после завершения работы Х сервера:

display-stopped-script=command

Запустить перед экраном приветствия:

greeter-setup-script=command

Запустить перед стартом окружения рабочего стола:

session-setup-script=command

Запустить после завершения сессии пользователя:

session-cleanup-script=command

Команда запуска оболочки:

session-wrapper=command

Команда запуска экрана входа:

greeter-wrapper=command

Большинство этих настроек можно изменить и без прямого редактирования конфигурационного файла, а с помощью утилиты lightdm-set-defaults. Посмотреть доступные ключи можно командой:

sudo /usr/lib/lightdm/lightdm-set-defaults -h

Базовая настройка LightDM Ubuntu рассмотрена. Конечно, есть несколько графических утилит специально разработанных для настройки LightDM, но они уже устарели и не поддерживаются, поэтому их мы рассматривать не будем, а сразу перейдем к настройке экранов приветствия.

Настройка LightDM в KDE

Если вы используете KDE, то настроить LightDM очень просто. Откройте настройки системы и найдите пункт Менеджер входа LightDM в разделе Управление системой:

lightdm-config-kde1

Здесь вы можете:

  • Выбрать тему оформления, по умолчанию обычно поставляются две темы lightdm.
  • Изменить фоновое изображение.

lightdm-config-kde2

После сохранения изменений вам необходимо пере зайти в KDE. Как уже сказано, по умолчанию есть только две lightdm темы, но вы можете найти другие в интернете. Просто скопируйте их в /usr/share/kde4/apps/lightdm-kde-greeter/themes/ (для Kubuntu) В других системах путь может немного отличаться.

Настройка LightDM в Unity

В Unity нет специальной утилиты для настройки LightDM, но для этих целей можно установить и использовать Ubuntu Tweak.

Программу можно установить из репозитория PPA, выполнив следующие команды:

sudo add-apt-repository ppa:tualatrix/ppa
$ sudo apt-get update
$ sudo apt-get install ubuntu-tweak

Запустить программу можно из меню Dsah или через терминал:

ubuntu-tweak

Для настройки LightDM откройте пункт Параметры экрана входа в систему

lightdm

Убедитесь что вы находитесь на вкладке настройки, затем нажмите кнопку разблокировать и введите пароль, чтобы иметь возможность менять настройки на системном уровне:

lightdm2

Ubuntu Tweak позволяет изменить такие настройки:

  • Включить/выключить гостевой доступ
  • Изменить фоновое изображение
  • Изменить логотип
  • Выбрать тему GTK
  • Выбрать тему значков

lightdm3

После того как завершите настройку перезаайдите в Unity чтобы увидеть изменения.

Альтернативные экраны входа LightDM

Если стандартный экран входа, поставляемый с системой вас не устраивает вы можете установить любой другой. Например, вы можете установить Unity Greeter в Kubuntu или Lightdm-kde-greeter в Ubuntu. Но имейте в виду, что каждый из них потянет за собой все свои зависимости, будь то KDE или Ubuntu. Так что если для вас важно свободное место и чистота системы, это не самый лучший вариант. Для установки используйте эти команды:

sudo apt-get install lightdm-kde-greeter

sudo apt-get install unity-greeter

Lightdm-gtk-greeter это экран приветствия, основанный на библиотеке GTK, используется по умолчанию в Lubuntu. По сути, это только диалоговое окно с возможностью выбора сессии, пользователя и ввода пароля. Lightdm-gtk-greeter - это очень простой экран приветствия, для установки выполните:

sudo apt-get install lightdm-gtk-greeter

Есть еще и более сложный вариант - lightdm-webkit-greeter. Этот экран приветствия позволяет создать собственную тему на HTML, CSS и JavaScript. Если вы достаточно разбираетесь в программировании, ваши возможности настройки здесь ограничены только вашей фантазией. Скопируйте файлы из папки /usr/share/lightdm-webkit/themes/webkit в новую папку, например, /usr/share/lightdm-webkit/themes/mytheme, и делайте все что захотите. Также можно найти уже готовые темы в интернете. Для установки lightdm-webkit-greeter выполните:

sudo apt-get install lightdm-webkit-greeter

Еще кое-что. Уже сейчас можно попробовать экран приветствия, который будет использоваться в Unity 8.

Выводы

Настраиваемость LightDM по-прежнему на очень низком уровне, но она намного лучше чем в таких менеджерах входа, как KDM или GDM. Если вас не устраивает LightDM, вы можете пробовать другой менеджер входа, еще есть SLIM и SDDM используемый в новой версии KDE Frameworks 5. А вы пользовались каким-либо способом для настройки LightDM? Напишите в комментариях!

19 комментариев к “Настройка LightDM в Linux”

  1. "Это намного лучше чем в старые времена приходилось вводить логин и пароль в терминале"
    Вообще говоря консольный логин никуда не делся, все на вкус и цвет.
    Я вообще не понимаю зачем графический вход, если можно сразу после консольного логина автозапускать Х.

    Ответить
  2. У меня проблема, когда раскоментирую и добавляю greeter-session=lightdm-gtk-greeter то не загружается менеджер дисплеев:
    [FAILED] Failed to start Light Display Manager.
    See 'systemctl status lightdm-gtk-greeter.service' for details.

    Вывод команды systemctl status lighten.service
    lightdm.service - Light Display Manager
    Loaded: loaded (/usr/lib/systemd/system/lightdm.service; enable; vendor preset: disabled)
    Active: failed (Result: start-limit-hit) since Mon 2016-10-24 14:06:13 MSK; 17min ago
    Docs: man:lightdm(1)
    Process: 321 ExecStart=/usr/bin/lightdm (code=exited, status=1/FAILURE)
    Main PID: 321 (code=exited, status=1/FAILURE)

    Oct 24 14:06:12 segfault systemd[1]: Failed to start Light Display Manager.
    Oct 24 14:06:12 segfault systemd[1]: lightdm.service: Unit entered failed state.
    Oct 24 14:06:12 segfault systemd[1]: lightdm.service: Failed with result 'exit-code'.
    Oct 24 14:06:13 segfault systemd[1]: lightdm.service: Service hold-off time over, scheduling restart.
    Oct 24 14:06:13 segfault systemd[1]: Stopped Light Display Manager.
    Oct 24 14:06:13 segfault systemd[1]: lightdm.service: Start request repeated too quickly.
    Oct 24 14:06:13 segfault systemd[1]: Failed to start Light Display Manager.
    Oct 24 14:06:13 segfault systemd[1]: lightdm.service: Unit entered failed state.
    Oct 24 14:06:13 segfault systemd[1]: lightdm.service: Failed with result 'start-limit-hit'.

    Ответить
    • В общем проблема решена. Я оставлял предыдушую настройку #greeter-session=example-greeter, в одной страке с новым, через пробел и табы, что бы не забыть что изменил. Видимо хоть и ставил перед # но во время запуска система не пропускал его как комментарию в результате возникала ошибка.
      Сейчас оставил старый (деф.) параметр с # а новый написал с новой страки. Проблема рещился

      Ответить
      • Вообще на ArchWiki ru Всё подробно расписано и показано. и какой файл редактировать и какие группы создавать дополнительно.и прочее

        Ответить
    • запускаем сервис systemctl enable lightdm.service
      потом запускаем systemctl enable lightdm
      первоначально перед этим убедившись
      systemctl status lightdm.service

      Ответить
  3. └─ $ uname -a
    Linux fleks 4.8.10-1-ARCH #1 SMP PREEMPT Mon Nov 21 11:55:43 CET 2016 x86_64 GNU/Linux
    ┌─ fleks ~

    └─ $ systemctl status lightdm.service
    ● lightdm.service - Light Display Manager
    Loaded: loaded (/usr/lib/systemd/system/lightdm.service; enabled; vendor pres
    Active: active (running) since Сб 2016-11-26 21:34:17 +05; 52min ago
    Docs: man:lightdm(1)
    Main PID: 375 (lightdm)
    Tasks: 4 (limit: 4915)
    CGroup: /system.slice/lightdm.service
    ├─375 /usr/bin/lightdm
    └─403 /usr/lib/xorg-server/Xorg :0 -seat seat0 -auth /run/lightdm/roo

    ноя 26 21:34:15 fleks systemd[1]: Starting Light Display Manager...
    ноя 26 21:34:17 fleks systemd[1]: Started Light Display Manager.
    ноя 26 21:34:20 fleks lightdm[458]: pam_succeed_if(lightdm-autologin:auth): requ
    ноя 26 21:34:20 fleks lightdm[458]: pam_unix(lightdm-autologin:session): session
    lines 1-14/14 (END)...skipping...
    ● lightdm.service - Light Display Manager
    Loaded: loaded (/usr/lib/systemd/system/lightdm.service; enabled; vendor preset: disabled)
    Active: active (running) since Сб 2016-11-26 21:34:17 +05; 52min ago
    Docs: man:lightdm(1)
    Main PID: 375 (lightdm)
    Tasks: 4 (limit: 4915)
    CGroup: /system.slice/lightdm.service
    ├─375 /usr/bin/lightdm
    └─403 /usr/lib/xorg-server/Xorg :0 -seat seat0 -auth /run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch

    ноя 26 21:34:15 fleks systemd[1]: Starting Light Display Manager...
    ноя 26 21:34:17 fleks systemd[1]: Started Light Display Manager.
    ноя 26 21:34:20 fleks lightdm[458]: pam_succeed_if(lightdm-autologin:auth): requirement "user ingroup autologin" was met by user "fleks"
    ноя 26 21:34:20 fleks lightdm[458]: pam_unix(lightdm-autologin:session): session opened for user fleks by (uid=0)

    Ответить
  4. При загрузке системы (Arch) была приостановлена загрузка LightDM. Лог содержит такую запись об ошибке:
    Error getting user list from org.freedesktop.Accounts: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.Accounts was not provided by any .service files
    lightdm.service: Main process exited, code=dumped, status=11/SEGV
    lightdm.service: Failed with result 'core-dump'.
    lightdm.service: Sevice hold-off time-over, scheduling restart.
    Какие будут соображения? Что нужно сделать, чтобы он нормально загружался?

    Ответить
  5. Добрый день, скажите пожалуйста, можно ли таким образом включить Numlock в окне ввода пароля и какая для этого нужна команда?

    Ответить

Оставьте комментарий