xinit(1) - это программа, запускающая X'ы. К ней есть некое подобие интерфейса под названием startx(1), который инициализирует один сеанс системы X Window. Вы могли и не слышать об xinit (возможно, вам это и не понадобится). Однако её конфигурационный файл определяет, какие программы (в том числе и какой оконный менеджер) будут запускаться при запуске X'ов. Сначала xinit проверяет ваш домашний каталог на предмет наличия в нём файла .xinitrc. Если файл найден, он будет запущен, в противном случае будет использован файл /var/X11R6/lib/xinit/xinitrc (используемый по умолчанию для всей системы). Вот пример файла xinitrc:
#!/bin/sh # $XConsortium: xinitrc.cpp,v 1.4 91/08/22 11:41:34 rws Exp $ userresources=$HOME/.Xresources usermodmap=$HOME/.Xmodmap sysresources=/usr/X11R6/lib/X11/xinit/.Xresources sysmodmap=/usr/X11R6/lib/X11/xinit/.Xmodmap # merge in defaults and keymaps if [ -f $sysresources ]; then xrdb -merge $sysresources fi if [ -f $sysmodmap ]; then xmodmap $sysmodmap fi if [ -f $userresources ]; then xrdb -merge $userresources fi if [ -f $usermodmap ]; then xmodmap $usermodmap fi # start some nice programs twm & xclock -geometry 50x50-1+1 & xterm -geometry 80x50+494+51 & xterm -geometry 80x20+494-0 & exec xterm -geometry 80x66+0+0 -name login |
Все блоки “if” предназначены для объединения различных конфигурационных параметров из других файлов. Наиболее интересная часть находится в конце файла, в которой описан запуск различных программ. Описанный сеанс начнётся с запуска оконного менеджера twm(1), часов и трёх терминалов. Обратите внимание на команду exec перед последним xterm. Она заменяет запущенный в данный момент командный процессор (тот, что выполняет этот скрипт xinitrc) на шелл xterm(1). Когда пользователь закроет этот xterm, сеанс X будет завершён.
Чтобы настроить свой сценарий запуска X'ов, скопируйте стандартный файл /var/X11R6/lib/xinit/xinitrc в ~/.xinitrc и отредактируйте его, заменив эти строки с программами на то, что пожелаете. У меня окончание этого файла довольно простое:
# Запуск оконного менеджера: exec startkde |
Обратите внимание, что в /var/X11R6/lib/xinit есть несколько различных файлов xinitrc.*, которые соответствуют различным оконным менеджерам и графическим интерфейсам пользователя. Вы можете использовать любой из них, который вам понравится.