LightDM KDE greeter — собственное решение ALT Linux для графического входа в систему (Антон Голубев, OSSDEVCONF-2025)

Материал из 0x1.tv

Версия от 08:42, 24 января 2026; StasFomin (обсуждение | вклад) (Архитектура LightDM KDE greeter)

Докладчик
Антон Голубев.jpg
Антон Голубев

Рассказывается история LightDM KDE greeter — одной из оболочек для LightDM, разрабатываемой ALT Linux, для дистрибутивов, основанных на KDE.

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

Рассматриваются проблемы, решённые, не решённые и не решаемые в принципе, варианты дальнейшего развития проекта, оптимистичные и не очень.

Видео

Презентация

LightDM KDE greeter — собственное решение ALT Linux для графического входа в систему (Антон Голубев, OSSDEVCONF-2025).pdf LightDM KDE greeter — собственное решение ALT Linux для графического входа в систему (Антон Голубев, OSSDEVCONF-2025).pdf LightDM KDE greeter — собственное решение ALT Linux для графического входа в систему (Антон Голубев, OSSDEVCONF-2025).pdf LightDM KDE greeter — собственное решение ALT Linux для графического входа в систему (Антон Голубев, OSSDEVCONF-2025).pdf LightDM KDE greeter — собственное решение ALT Linux для графического входа в систему (Антон Голубев, OSSDEVCONF-2025).pdf LightDM KDE greeter — собственное решение ALT Linux для графического входа в систему (Антон Голубев, OSSDEVCONF-2025).pdf LightDM KDE greeter — собственное решение ALT Linux для графического входа в систему (Антон Голубев, OSSDEVCONF-2025).pdf LightDM KDE greeter — собственное решение ALT Linux для графического входа в систему (Антон Голубев, OSSDEVCONF-2025).pdf LightDM KDE greeter — собственное решение ALT Linux для графического входа в систему (Антон Голубев, OSSDEVCONF-2025).pdf LightDM KDE greeter — собственное решение ALT Linux для графического входа в систему (Антон Голубев, OSSDEVCONF-2025).pdf LightDM KDE greeter — собственное решение ALT Linux для графического входа в систему (Антон Голубев, OSSDEVCONF-2025).pdf LightDM KDE greeter — собственное решение ALT Linux для графического входа в систему (Антон Голубев, OSSDEVCONF-2025).pdf LightDM KDE greeter — собственное решение ALT Linux для графического входа в систему (Антон Голубев, OSSDEVCONF-2025).pdf LightDM KDE greeter — собственное решение ALT Linux для графического входа в систему (Антон Голубев, OSSDEVCONF-2025).pdf LightDM KDE greeter — собственное решение ALT Linux для графического входа в систему (Антон Голубев, OSSDEVCONF-2025).pdf LightDM KDE greeter — собственное решение ALT Linux для графического входа в систему (Антон Голубев, OSSDEVCONF-2025).pdf LightDM KDE greeter — собственное решение ALT Linux для графического входа в систему (Антон Голубев, OSSDEVCONF-2025).pdf LightDM KDE greeter — собственное решение ALT Linux для графического входа в систему (Антон Голубев, OSSDEVCONF-2025).pdf LightDM KDE greeter — собственное решение ALT Linux для графического входа в систему (Антон Голубев, OSSDEVCONF-2025).pdf LightDM KDE greeter — собственное решение ALT Linux для графического входа в систему (Антон Голубев, OSSDEVCONF-2025).pdf LightDM KDE greeter — собственное решение ALT Linux для графического входа в систему (Антон Голубев, OSSDEVCONF-2025).pdf LightDM KDE greeter — собственное решение ALT Linux для графического входа в систему (Антон Голубев, OSSDEVCONF-2025).pdf LightDM KDE greeter — собственное решение ALT Linux для графического входа в систему (Антон Голубев, OSSDEVCONF-2025).pdf LightDM KDE greeter — собственное решение ALT Linux для графического входа в систему (Антон Голубев, OSSDEVCONF-2025).pdf LightDM KDE greeter — собственное решение ALT Linux для графического входа в систему (Антон Голубев, OSSDEVCONF-2025).pdf LightDM KDE greeter — собственное решение ALT Linux для графического входа в систему (Антон Голубев, OSSDEVCONF-2025).pdf LightDM KDE greeter — собственное решение ALT Linux для графического входа в систему (Антон Голубев, OSSDEVCONF-2025).pdf LightDM KDE greeter — собственное решение ALT Linux для графического входа в систему (Антон Голубев, OSSDEVCONF-2025).pdf LightDM KDE greeter — собственное решение ALT Linux для графического входа в систему (Антон Голубев, OSSDEVCONF-2025).pdf LightDM KDE greeter — собственное решение ALT Linux для графического входа в систему (Антон Голубев, OSSDEVCONF-2025).pdf LightDM KDE greeter — собственное решение ALT Linux для графического входа в систему (Антон Голубев, OSSDEVCONF-2025).pdf

Thesis

Ключевые слова: LightDM, KDE, менеджер входа, аутентификация, PAM.

Если у вас дистрибутив ALT Linux с рабочим столом Plasma, вы, скорее всего, видите на экране LightDM KDE greeter, когда вводите пароль при входе в систему (см. Рис. 1).

Файл:2025-greeter.png
LightDM KDE greeter.

Это программа, представляющая из себя одну из оболочек (гритеров) к экранному менеджеру LightDM. Это можно считать особенностью LightDM — сам он не имеет графического интерфейса и без оболочки способен лишь осуществить автологин. Для взаимодействия с пользователем нужна оболочка — графическое приложение, которому предоставляется API для взаимодействия с LightDM. Подобную архитектуру имеет также проект greetd.

Итак, основная задача менеджера входа — аутентифицировать пользователя и запустить графический сеанс. Казалось бы, что тут разрабатывать, и скорее всего существует множество готовых решений.

Посмотрим на них:

  • Entrance — экранный менеджер Enlightenment
  • GDM — экранный менеджер GNOME
  • LXDM — экранный менеджер LXDE, может быть использован отдельно от среды рабочего стола LXDE
  • SDDM — экранный менеджер, основанный на QML, продолжение KDE4 kdm, рекомендуется для Plasma 5 и LXQt
  • XDM — экранный менеджер Xorg по умолчанию
  • LightDM — независимый от среды рабочего стола экранный менеджер, можно подключать различные фронтенды с любыми тулкитами
  • greetd — минимальный, гибкий и независимый демон входа в систему, который поддерживает как консольные, так и графические интерфейсы

Учитывая, что у LightDM и greetd существует множество оболочек, вариантов действительно много. Однако если требуется более продвинутая функциональность, например настройка подключения к сети внутри дисплейного менеджера, на данный момент фактически доступны только два решения, работающих «из коробки»: GDM и LightDM KDE greeter. Поскольку GDM сильно зависит от GNOME, использовать его для Plasma нецелесообразно, и остаётся единственный вариант. Стоит отметить, что функциональность настройки сети полностью реализована внутри гритера и разработана в ALT Linux.

Особенности LightDM KDE greeter

  • написан с использованием KDE Frameworks
  • поддерживаются сменные темы на QML
  • есть графический интерфейс настроек через «Параметры системы» Plasma
  • «PAM-нейтральный» дизайн — должна работать любая процедура аутентификации
  • настройка сети, подключение к Wi-Fi точке доступа, в том числе по протоколу 802.1x
  • подключение к VPN (OpenVPN)

А также благодаря LightDM:

  • поддержка рабочих мест (seat)
  • поддержка удалённого подключения по VNC и XDMCP
  • поддержка автоматического логина
  • возможность «смены пользователя»
  • использование в качестве блокировщика экрана

Архитектура LightDM KDE greeter

Архитектура LightDM KDE greeter.

Немного о том, как работает LightDM и какова роль LightDM KDE greeter. LightDM запускается как служба systemd display-manager с правами root. Затем LightDM запускает на каждом рабочем месте оболочку, в данном случае LightDM KDE greeter, под служебным пользователем _ldm с правами обычного пользователя. Таким образом достигается изоляция кода оболочки. Если оболочка является X11-приложением, LightDM предварительно запускает X-сервер. Если гритер сконфигурирован как Wayland-приложение, запуск композитора (kwin, sway, cage) выполняется самим гритером. В настоящий момент LightDM KDE greeter работает под X11, однако ведётся работа по переводу его на Wayland, в частности с использованием kwin_wayland.

После запуска гритер получает от LightDM данные о пользователях и доступных сеансах (Plasma, GNOME и т. д.), загружает QML-тему и отображает её на экране, ожидая действий пользователя. Получив имя пользователя, гритер инициирует процесс аутентификации через LightDM, полностью управляемый PAM, отображает сообщения PAM и запрашивает ввод необходимых данных. Это может быть пароль, отпечаток пальца, распознавание лица или доменная аутентификация. При успешной аутентификации гритер запрашивает запуск пользовательской сессии, после чего LightDM завершает работу гритера и запускает сеанс пользователя.

История разработки LightDM KDE greeter

Изначально гритер разрабатывался сообществом KDE, в основном Дэвидом Эдмундсоном. Первый коммит был сделан 29 ноября 2011 года, а в октябре 2012 года он заменил kdm в Kubuntu. Изначально предполагалась длительная поддержка проекта, так как использование LightDM позволяло упростить разработку и в перспективе обеспечить поддержку Wayland. Однако после смены приоритетов Canonical и фокуса на Mir интерес к проекту со стороны KDE снизился, и разработка была фактически остановлена. В 2015 году SDDM заменил LightDM KDE greeter в Kubuntu, хотя поддержка Wayland в LightDM появилась позднее.

На фоне проблем SDDM и ограничений его функциональности в конце 2022 года в ALT Linux было принято решение развивать и поддерживать собственный LightDM KDE greeter. Были выполнены многочисленные исправления и улучшения интерфейса, унифицировано взаимодействие с PAM, исправлены проблемы локализации, переписан модуль настроек на QML, добавлена расширенная настройка сети и VPN, а также выполнен переход на Qt6 и KDE Frameworks 6.

В сентябре 2023 года в выпуске «Альт Рабочая станция К» 10.2 LightDM KDE greeter заменил SDDM в качестве менеджера входа.

Возвращение в апстрим

В 2023 году проект был возвращён в апстрим на invent.kde.org. Теперь все изменения проходят через pull request, что сделало проект более доступным для сообщества и привело к появлению внешних пользователей, использующих гритер вне ALT Linux.

Проблемы

LightDM — практически прекратил активное развитие, многие pull request, включая поддержку Qt6, долгое время не принимаются, поэтому часть функциональности реализована непосредственно в гритере.

KDE — существует сильная зависимость от KDE-специфичных компонентов, что усложняет использование гритера вне Plasma и требует выбора между глубокой интеграцией и универсальностью.

Планы на ближайшее будущее

  • завершение перехода на Wayland с использованием kwin_wayland
  • разделение гритера и модуля настроек на отдельные пакеты для лучшего управления зависимостями
  • расширение возможностей настройки сети и VPN
  • рефакторинг тем и вынос общих компонентов
  • возможная разработка отдельной темы для планшетов

Планы на далёкое будущее

Рассматривается возможность поддержки удалённых соединений на базе krdp, а также потенциальный переход на другой бэкенд, например greetd, в случае дальнейшей стагнации LightDM. Параллельно в KDE развивается проект Plasma Login Manager (PLM), который при успешной реализации заявленных целей может стать новым стандартом и в перспективе заменить LightDM KDE greeter.


LightDM KDE greeter — собственное решение ALT Linux для графического входа в систему (Антон Голубев, OSSDEVCONF-2025)!.jpg

Примечания и ссылки