Гид по технологиям

Как запускать скрипты при старте KDM (Xsetup)

• 4 min read • Linux • Обновлено 19 Nov 2025
Запуск скриптов при старте KDM (Xsetup)
Запуск скриптов при старте KDM (Xsetup)

Зачем использовать KDM?

KDM — дисплей-менеджер KDE, который запускается вместе с экземпляром X-сервера. В момент запуска KDM пользователь ещё не вошёл в систему, поэтому настройки, применённые на этом этапе, становятся глобальными и действуют для всех пользователей. Правка Xsetup часто проще и безопаснее, чем изменение xorg.conf или запуск пользовательских скриптов после логина.

Экран приветствия KDM с темой по умолчанию

Как выполняются скрипты: файл Xsetup

KDM использует скрипт Xsetup. Когда запускается X, KDM выполняет содержимое этого файла. Чтобы запускать собственные скрипты, достаточно добавить вызовы в Xsetup.

Пример задач, которые удобно делать в Xsetup:

  • Автоматическая настройка монитора через xrandr — применится до входа любого пользователя.
  • Включение/выключение NumLock с помощью numlockx для глобального поведения.
  • Установка системной раскладки или keymap через xmodmap.

Шаги — пример с xrandr

  1. Найдите файл Xsetup — путь зависит от дистрибутива. В Kubuntu он обычно находится здесь:
/etc/kde4/kdm/Xsetup
  1. Отредактируйте файл от root. Пример (Alt+F2):
kdesudo kate /etc/kde4/kdm/Xsetup
  1. Добавьте команды, которые должны выполниться (они выполняются от root до появления диалога входа):
xrandr --auto --output VGA1 --mode 1440x900 --right-of LVDS1 --refresh 60.1
  1. Сохраните файл и закройте редактор.

Рекомендуется вставлять ваши команды перед строкой:

/sbin/initctl -q emit login-session-start DISPLAY_MANAGER=kdm

Это гарантирует, что они выполнены до продолжения запуска сессии.

Редактирование Xsetup в Kate

Пример: включение NumLock

  1. Установите numlockx:
sudo apt-get install numlockx
  1. Вставьте в Xsetup строку:
numlockx on
  1. Сохраните файл.

После этого NumLock будет включаться глобально ещё до входа пользователя.

Важные замечания по безопасности и правам

  • Всё, что вы добавляете в Xsetup, выполняется от root. Не храните в скриптах пароли или чувствительные данные.
  • Дайте минимально необходимые права на файл: например, chmod 700 /etc/kde4/kdm/Xsetup и владелец root.
  • Сделайте резервную копию оригинального файла перед правками:
sudo cp /etc/kde4/kdm/Xsetup /etc/kde4/kdm/Xsetup.bak
  • Тестируйте изменения на машине с локальным доступом, чтобы избежать потери возможности войти в систему удалённо.

Критерии приёмки

  • Команда xrandr применяет нужное разрешение и положение мониторов до экрана логина.
  • NumLock устанавливается в заданное состояние до входа пользователя.
  • Xsetup имеет права root-only, резервная копия создана.
  • После перезагрузки система корректно отображает экран входа и разрешения.

Когда это НЕ сработает — ограничения и альтернативы

  • Wayland: если вы используете сеанс Wayland или дисплей-менеджер, который не запускает X, Xsetup бессилен. Для Wayland нужно искать эквивалентные хуки DM или системные способы настройки.
  • Другие дисплей-менеджеры (LightDM, SDDM, GDM): у них могут быть свои скрипты-хуки и иные пути конфигурации. Проверьте документацию конкретного DM.
  • Если у вас многопользовательская среда с корпоративной политикой, глобальные изменения могут нарушать ожидания пользователей.

Альтернативные подходы:

  • Пользовательские автозапуски (~/.xprofile, ~/.xsessionrc, ~/.config/autostart) — применимы только после логина конкретного пользователя.
  • Системные unit’ы systemd с зависимостью от display-manager.service — для сервисов, не зависящих напрямую от X.

План действий: методология безопасной правки Xsetup

  1. Скопируйте оригинал: sudo cp /etc/kde4/kdm/Xsetup /etc/kde4/kdm/Xsetup.bak
  2. Откройте в редакторе от root и добавьте команды в логичном порядке.
  3. Проверьте синтаксис и права: sudo chmod 700 /etc/kde4/kdm/Xsetup
  4. Перезагрузите систему и проверьте экран логина и поведение устройств.
  5. Если что-то пошло не так — восстановите бекап и перезагрузитесь.

Инструменты и контрольный список ролей

Администратор:

  • Сделать резервную копию.
  • Проверить и применить права доступа.
  • Документировать изменения.

Пользователь (тестировщик):

  • Провести перезагрузку и проверить разрешение экрана.
  • Проверить состояние NumLock и корректность раскладки.

Откат и аварийный план

Если после изменений вы потеряли доступ к графическому входу:

  1. Перейдите в консоль (Ctrl+Alt+F2), войдите как root или пользователь с sudo.
  2. Восстановите бекап:
sudo cp /etc/kde4/kdm/Xsetup.bak /etc/kde4/kdm/Xsetup
sudo chmod 700 /etc/kde4/kdm/Xsetup
  1. Перезагрузите X/систему.

Совместимость и миграция

KDE и дистрибутивы развиваются: некоторые современные окружения используют SDDM или другие дисплей-менеджеры. Если ваш дистрибутив перешёл на другой DM, найдите эквивалентный хук или скрипт у этого менеджера. Для серверных сценариев рассмотрите systemd-юниты.

Короткая памятка (cheat sheet)

  • Файл: /etc/kde4/kdm/Xsetup
  • Резервная копия: Xsetup.bak
  • Права: chmod 700
  • Частые команды: xrandr, numlockx, xmodmap
  • Тестирование: перезагрузка и проверка экрана логина

Итог

Использование Xsetup KDM — простой и надёжный способ применить глобальные настройки X перед входом пользователя. Это удобно для конфигурации мониторов, NumLock и системных раскладок. Не забывайте про безопасность: тестируйте, делайте резервные копии и проверяйте совместимость с вашим дисплей-менеджером.

Внимание: если вы используете Wayland или иной дисплей-менеджер, изучите соответствующие механизмы хук-скриптов.

Важно: все примеры команд выполняются от root — соблюдайте осторожность при их добавлении.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро