xinit (Русский)
Файл ~/.xinitrc
представляет собой шелл-скрипт передаваемый xinit
посредством команды startx
. Он используется для запуска Среды рабочего стола, Оконного менеджера и других программ запускаемых с X сервером (например запуска демонов, и установки переменных окружений. Программа xinit
запускает Xorg сервер и работает в качестве программы первого клиента на системах не использующих Экранный менеджер.
Одной из основных функций ~/.xinitrc
является указание, какой клиент X Window System будет запущен каждому пользователю при вызове startx
или xinit
. Существует множество дополнительных настроек и команд, которые также могут быть добавлены в ~/.xinitrc
согласно вашей дальнейшей настройке системы.
Большинство DMs также используют подобный xprofile перед xinit.
Установка
Установите , чтобы использовать xinit и startx.
Настройка
Если присутствует в домашнем каталоге пользователя, startx и xinit выполнят его. Иначе startx выполнит по умолчанию .
Это значение по умолчанию xinitrc запустит базовую среду с Twm, xorg-xclock и Xterm (при условии, что необходимые пакеты установлены). Поэтому, чтобы запустить другой оконный менеджер или окружение рабочего стола, сначала создайте копию по умолчанию xinitrc
в вашем домашнем каталоге:
$ cp /etc/X11/xinit/xinitrc ~/.xinitrc
Это делается так (вместо создания с нуля) чтобы сохранить некоторое желаемое поведение по умолчанию в исходном файле, например, поиске скриптов из . Сценарии в этом каталоге без расширения не считаются исходным кодом.
Добавьте нужные команды и удалите/закоментируйте противоречивые строки. Помните, строки, следующие после будут игнорироваться. Например, для запуска openbox:
Запуск
Долговыполняемые программы стартуют перед оконным менеджером, такие как заставки и обои приложения. Они должны либо сами выполняться параллельно, либо работать в фоновом режиме (добавьте знак ). Иначе, сценарий остановится и будет ждать каждую программу, чтобы закончить перед запуском оконного менеджера. Обратите внимание, что некоторые программы не должны стартовать параллельно, во избежании потока ошибок, как в случае с xrdb. Подготовка заменит процесс скрипта с процессом оконного менеджера, так что Х не завершится, даже если этот процесс распараллелен в фоне.
Для запуска Xorg от имени обычного пользователя, выполните:
$ startx
или
$ xinit -- :1 -nolisten tcp vt$XDG_VTNR
Выбранный вами оконный менеджер (или окружение рабочего стола) теперь запустится правильно.
Для выхода из X, запустите функцию выхода вашего оконного менеджера (при условии, что он есть). Если нет такой возможности, запустите:
$ pkill -15 Xorg
Автозапуск X при входе в систему
Для Bash, добавьте следующее в нижнюю часть ~/.bash_profile
. Если файл не существует, скопируйте шаблон-версию с /etc/skel/.bash_profile
. Для Zsh, добавьте в (или в ).
Смотрите также Fish#Запуск X при входе в систему и systemd/Пользователь#Автоматический логин в Xorg без экранного менеджера.
Автоматический вход в виртуальной консоли
Этот метод можно объединить с автоматическим входом в виртуальной консоли. При этом вы должны установить правильные зависимости для выполнения автологина Systemd чтобы убедиться, что dbus запускается до чтения ~/.xinitrc
и старта pulseaudio (смотрите: BBS#155416)
Советы и рекомендации
Переопределение xinitrc из командной строки
Если у вас есть рабочий ~/.xinitrc
, но хотите попробовать другие WM/DE, вы можете запустить его используя startx с указанием пути к оконному менеджеру:
$ startx /full/path/to/window-manager
Если оконный менеджер принимает аргументы, они должны быть взяты в кавычки в качестве части первого параметра startx:
$ startx "/full/path/to/window-manager --key value"
Обратите внимание что требуется полный путь. По желанию, вы можете также переопределить файл (который хранит значение по умолчанию X сервера) с пользовательскими опциями, путем добавления их после , например:
$ startx /usr/bin/enlightenment -- -nolisten tcp -br +bs -dpi 96 vt$XDG_VTNR
или
$ xinit /usr/bin/enlightenment -- -nolisten tcp -br +bs -dpi 96 vt$XDG_VTNR
Смотрите также .
Создание выбора DE/WM (Окружения рабочего стола/Оконного менеджера)
Если вы часто переключаетесь между различными DEs/WMs, рекомендуется использовать Display manager или добавить код в . Следующий код, описанный в нескольких строчках, будет принимать аргумент и загружать желаемое окружение рабочего стола или менеджера окон.
В следующем примере ~/.xinitrc
показано как запустить конкретную DE/WM с аргументом:
Затем скопируйте файл в ваш домашний каталог:
$ cp /etc/X11/xinit/xserverrc ~/.xserverrc
После этого, вы можете легко запустить конкретный DE/WM передавая аргумент, например:
$ xinit $ xinit gnome $ xinit kde $ xinit wmaker
или
$ startx $ startx ~/.xinitrc gnome $ startx ~/.xinitrc kde $ startx ~/.xinitrc wmaker
Запуск приложений без оконного менеджера
Можно запустить только определенные приложения без оконного менеджера. Хотя, это будет полезно только для одного приложения, запущенного в полноэкранном режиме. Например:
~/.xinitrc
... exec chromium
С помощью этого метода необходимо установить геометрию каждого окна приложения с помощью своих собственных файлов настроек, если вообще возможно.
Смотрите также Display manager (Русский)#Запуск приложений без оконного менеджера.