Модуль KCM для GDM
Модуль Центра управления KDE (KCM) для настройки автоматического входа в GDM в РОСА Linux 13 с KDE 6.
Обзор
Этот модуль предоставляет графический интерфейс для настройки автоматического входа в GDM (GNOME Display Manager). Он интегрируется в Системные параметры KDE и позволяет пользователям/администраторам включать или отключать автоматический вход без ручного редактирования файлов конфигурации.
Возможности
- Включение/отключение автовхода - Переключение автоматического входа с помощью галочки
- Выбор пользователя - Выбор пользователя из списка системных пользователей, полученного через AccountsService (D-Bus)
- Произвольное имя пользователя - Возможность ввести любое имя пользователя для автовхода вручную ("Другой пользователь...")
- Аутентификация PolicyKit - Требует права администратора для сохранения изменений
-
Контекстные предупреждения:
- Ошибка, если утилита
py-ini-configне установлена - Предупреждение, если GDM сейчас не используется
- Ошибка, если утилита
- Перевод на русский язык - Полная поддержка русского языка
Структура проекта
gdm-kcm/
├── CMakeLists.txt # Главная конфигурация сборки
├── Messages.sh # Скрипт переводов
├── README.md # Документация на английском
├── README.ru.md # Этот файл (русский)
├── TESTING.ru.md # Инструкция по тестированию
├── BUGS.ru.md # Известные проблемы
├── po/ # Переводы
│ ├── CMakeLists.txt
│ ├── kcm_gdm.pot # Шаблон переводов
│ └── ru/
│ └── kcm_gdm.po # Русский перевод
└── src/
├── CMakeLists.txt
├── config.h # Заголовок конфигурации (генерируется)
├── kcm_gdm.json # Метаданные модуля KCM
├── gdmkcm.cpp/.h # Главный класс KCM
├── usersmodel.cpp/.h # Модель списка пользователей (AccountsService)
└── ui/
└── main.qml # Пользовательский интерфейс QML
Требования
- KDE Frameworks 6 (KF6)
- Qt 6.6+
- py-ini-config (из пакета
py-ini-config, исходники: https://hub.mos.ru/mos/src/py-ini-config) - Дисплейный менеджер GDM
- Accountsservice (для получения списка пользователей)
Установка
Из исходного кода:
mkdir build
cd build
cmake ..
make -j$(nproc)
sudo make install
После установки:
Модуль появится в Системные параметры → Система как "Автовход в GDM".
Запуск напрямую:
systemsettings kcm_gdm
# или
kcmshell6 kcm_gdm
Конфигурация
Модуль изменяет файл /etc/gdm/custom.conf для настройки автовхода:
При включённом автовходе:
[daemon]
AutomaticLoginEnable=true
AutomaticLogin=имя_пользователя
При отключённом автовходе:
[daemon]
AutomaticLoginEnable=false
Как это работает
-
Чтение текущих настроек: Использует
py-ini-config getдля чтения текущей конфигурации автовхода -
Список пользователей: Получается через D-Bus от
org.freedesktop.Accounts(AccountsService) -
Определение окружения:
- Проверяет наличие утилиты
py-ini-config - Проверяет, используется ли GDM (переменная окружения GDMSESSION)
- Проверяет наличие утилиты
-
Сохранение изменений: Использует
pkexecдля запускаpy-ini-config setс повышенными привилегиями - Права доступа: Требует аутентификацию PolicyKit
Использование
- Откройте Системные параметры
- Перейдите в категорию Система
- Нажмите на "Автовход в GDM"
- Переключите галочку "Включить автовход"
- Выберите пользователя из выпадающего списка или введите имя вручную
- Нажмите "Применить"
- Введите пароль администратора по запросу
Примечание: Изменения вступят в силу после следующей перезагрузки системы.
Предупреждения
Модуль отображает контекстные предупреждения:
-
Красная ошибка: "Утилита py-ini-config не установлена. Сохранение настроек не будет работать."
Установите утилиту для возможности сохранения настроек
-
Жёлтое предупреждение: "Похоже, сейчас GDM не используется. Эти настройки могут быть бесполезны."
Отображается, когда GDM не является активным дисплейным менеджером
Оба предупреждения могут отображаться одновременно и расположены в верхней части модуля.
Переводы
Модуль включает переводы:
- Английский (по умолчанию)
- Русский
Добавление нового языка:
- Создайте файл
.poв директорииpo/из шаблонаkcm_gdm.pot - Обновите переводы в вашем языковом файле
- Пересоберите и установите
Домен переводов: kcm_gdm
Тестирование
См. TESTING.ru.md для полной инструкции по тестированию, включая:
- Базовые сценарии
- Пограничные случаи
- Проверку предупреждений
- Полный чек-лист
Известные проблемы
См. BUGS.ru.md для списка известных проблем и ограничений.
Лицензия
GPL-2.0-or-later
Авторы
Команда РОСА, Михаил Новосёлов, ИИ
Сообщения об ошибках
Сообщайте об ошибках по адресу https://hub.mos.ru/mikhailnov/gdm-kcm/issues или по почте m.novosyolov@rosa.ru
