Program xinit(1) jest faktycznie odpowiedzialny za uruchomienie X'ów. Jest on wywoływany przez startx(1), więc być może nie jest to takie oczywiste. W pliku konfiguracyjnym tego programu zawarte są informacje na temat programów (w szczególności menedżerów okien) uruchamianych podczas startu X'ów. xinit sprawdza najpierw katalog domowy użytkownika w poszukiwaniu pliku .xinitrc. W wypadku powodzenia korzysta z niego. Jeżeli pliku nie ma używany jest (domyślny dla całego systemu) /var/X11R6/lib/xinit/xinitrc. Poniżej przedstawiono przykładowy plik .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 |
Wszystkie te bloki “if” są po to aby połączyć ustawienia konfiguracyjne z innych plików. Interesująca cześć pliku znajduje się na końcu gdzie uruchamiane są różne programy. W powyższym przykładzie sesja X'ów uruchomiona zostanie z menedżerem okien twm(1), zegarem i trzema terminalami. Zwróć uwagę na ostatnią linijkę pliku. Polecenie exec przed ostatnim uruchomieniem xterm zamienia aktualnie działającego shell'a (wykonującego skrypt) z tym z xterm(1). W rezultacie wyjście z xterm zakończy sesję X'ów.
Aby dopasować start X'ów skopiuj domyślny plik /var/X11R6/lib/xinit/xinitrc do ~/.xinitrc i go wyedytuj dodając programy, które uważasz za potrzebne. W moim przypadku wygląda to prosto:
# Start the window manager: exec startkde |
Zauważ, że jest kilka plików xinitrc.* w katalogu /var/X11R6/lib/xinit. Powodem tego jest mnogość menedżerów okien i interfejsów graficznych użytkownika (GUI). Wybierz ten, który ci najbardziej odpowiada.