Xinitrc и ~/xinitrc
xinit(1)- фактически является программой, запускающей X; она выполняется из startx(1), так что возможно, вы не заметили этого (и скорее всего это вам знать и не надо). Тем не менее, её конфигурационный файл определяет, какие программы (включая и оконный менеджер) запускать при загрузке 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'' блоков используются для подключения разных конфигурационных фалов. Очень скоро мы вернёмся к .Xresources, а вот файл .Xmodmap мы оставим в покое. Наиболее интересная часть файла расположена в конце, это та часть, где запускаются различные программы. Эта X сессия начнётся с twm(1) оконным менеджером, с часами и с тремя терминалами. Обратите внимание на exec в строчке запуска последнего из терминалов. Эта команда говорит, что этот терминал (xterm(1)) заменит текущую оболочку (ту, которая запустила xinit сценарий). Когда пользователь выйдет из этого xterm, X сессия закончится.
Если вы хотите, определить, какие из программ должны быть запущены в X сессии, скопируйте /var/X11R6/lib/xinit/xinitrc в ~/.xinitrc и отредактируйте его, разместив там строчки, запускающие те программы, которые вы пожелаете. Последние строчки моего выглядят вот так:
# Start the window manager: |
exec startkde |
Обратите внимание, что есть несколько xinitrc.* файлов в каталоге /var/X11R6/lib/xinit, которые соответствуют разным оконным менеджерам и GUI-ам. Вы можете пользоваться тем из них, каким пожелаете.