Если после ввода 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 — без амперсанда.