Если после ввода startx на базовой станции с Linux вместо рабочего стола появляется чёрный экран или сообщение об ошибке, первым делом проверьте содержимое файла ~/.xinitrc — именно его читает xinit при запуске графического сеанса. Отсутствие исполняемой команды в последней строке этого файла — одна из самых частых причин мгновенного завершения сеанса.

Xinit — это стандартный механизм запуска X-сервера и клиентских программ в Unix-подобных системах. Он особенно востребован на базовых станциях и минималистичных рабочих местах, где не установлен тяжёлый дисплейный менеджер вроде GDM или SDDM, а графическое окружение поднимается вручную или через автологин. Ниже разберём, как устроен xinit, как его корректно настроить и как диагностировать типовые сбои.

Что такое xinit и как он работает

Программа xinit выполняет две задачи: запускает X-сервер и стартует первую клиентскую программу — обычно оконный менеджер или полноценное окружение рабочего стола. Утилита startx является оболочкой вокруг xinit и упрощает передачу параметров.

Порядок поиска конфигурации выглядит так: сначала xinit ищет пользовательский файл ~/.xinitrc, а если его нет — используется системный сценарий, обычно расположенный в каталоге /etc/X11/xinit/. Точный путь зависит от дистрибутива, поэтому сверяйтесь с документацией вашей системы.

Ключевое правило синтаксиса: все фоновые службы в .xinitrc запускаются с амперсандом, а последняя строка — это exec с основной программой сеанса. Когда эта программа завершается, xinit завершает и весь сеанс.

~/.fehbg &

picom &

exec i3

Настройка .xinitrc на базовой станции

Для типовой базовой станции без дисплейного менеджера создайте файл в домашнем каталоге пользователя. Минимальный рабочий вариант содержит всего одну строку — запуск оконного менеджера через exec.

Если требуется автозапуск служб — раскладки клавиатуры, композитора, фонового мониторинга станции — добавляйте их до строки exec и обязательно в фоне. Иначе выполнение сценария «застрянет» на первой же команде и до запуска окружения дело не дойдёт.

  • 🔧 Проверьте, что файл ~/.xinitrc существует и читается пользователем, под которым выполняется вход.
  • ⌨️ Команды настройки клавиатуры, например setxkbmap, размещайте до строки exec.
  • 🖥️ Убедитесь, что выбранный оконный менеджер действительно установлен в системе.
  • 📄 Последняя строка файла должна начинаться с exec — без амперсанда.

☑️ Проверка .xinitrc перед запуском

Файл существует в домашнем каталогеВсе фоновые службы запущены с амперсандомПоследняя строка — exec с оконным менеджеромОконный менеджер установлен и доступен в PATHПрава на файл позволяют его чтениеВыполнено: 0 / 5