A kdm bejelentkezési ablakának bal alsó sarkában látható egy "Környezet" nevű kombinált lista, melyben kiválaszthatja a kívánt ablakkezelő környezetet. A következő részben azokat a teendőket ismertetjük, amelyek elvégzése szükséges ennek a lehetőségnek a beállításához.
A "Környezet" kombinált lista tartalmának módosításához meg kell változtatni a kdmrc fájl KDM szekciójában néhány bejegyzést.
Ha a kdm segítségével jelentkezik be, akkor az elindítja az Xsession nevű szkriptet, melynek paraméterként adja át a megadott ablakkezelő környezet értékét. Az Xsession fájl Red Hat és Mandrake disztribúcióknál az /etc/X11/xdm/ könyvtárban, SuSE esetén az /usr/X11R6/lib/X11/xdm/ könyvtárban található. Hibakeresésnél segíthet, ha hozzáadja az alábbi sort az Xsession fájlhoz:
echo "$0 || $1 || $2" > $HOME/.Xsession_args |
A további teendő az ablakkezelő környezet elindítási módjától függ. Az alábbiakban két eltérő indítási konvenciót ismertetünk, mindkét esetben megadva a módosítás lépéseit:
Az ablakkezelő környezet indítása az Xsession szkriptből történik. Ilyenkor egy 'case' utasítás beszúrásával lehet a kívánt ablakkezelő indítását elérni. Például a Mandrake disztribúciók ezt a megoldást használják. Alább látható egy részlet egy ilyen Xsession fájlból:
# now, we see if xdm/gdm/kdm has asked for a specific environment case $# in 1) case $1 in kde) source /opt/kde2/bin/kde1 exec startkde ;; kde2) source /opt/kde2/bin/kde2 exec startkde ;; failsafe) exec xterm -geometry 80x24-0-0 ;; default) ;; *) exec /bin/sh -c "$(/usr/sbin/chksession -x=$1)" ;; esac esac |
Egy másik módszer az, hogy az ablakkezelő egy olyan szkriptből indul, amelyet az Xsession indított el. Ilyenkor ellenőrizni kell, hogy az Xsession továbbadja-e a másik szkriptnek a paraméterként kapott ablakkezelő nevét. Alább látható egy példa az ilyen indításra:
exec $startup |
Ezt meg kell változtatni erre:
exec $startup $@ |
Ha végrehajtotta ezt a változtatást, akkor végig kell követnie az elindulás folyamatát, keresse meg, hogy az ablakkezelő indítása hol történik. Ez történhet például az xinitrc fájlban, mely az összes felhasználóra érvényes (pontos elérési útja: /etc/X11/xinit/xinitrc) vagy a felhasználó saját könyvtárában található $HOME/.xinitrc fájlban. Ha megváltoztatja az $HOME/.xinitrc fájlt, akkor az új változat egy másolatát helyezze el az /etc/skel könyvtárban is, hogy az újonnan létrehozott felhasználók saját könyvtárába automatikusan átkerülhessen. Alább látható egy példa az xinitrc fájlra az utóbbi módszer használata esetén:
#!/bin/bash # # .xsession/.xinitrc # # choose a window manager # defaultwm=kde #set the window manager to $1 if it was supplied windowmgr=${1:-$defaultwm} #start the respective window managers case ${windowmgr} in kde|kwm|kdestart) WINDOWMANAGER=startkde ;; fvwm|fvwm2) WINDOWMANAGER=fvwm2 ;; fvwm95) WINDOWMANAGER=fvwm95 ;; *) WINDOWMANAGER=windowmgr # default for unknown wm's esac # # load resources # if [ -f /usr/X11R6/lib/X11/Xmodmap ]; then xmodmap /usr/X11R6/lib/X11/Xmodmap fi if [ -f ~/.Xmodmap ]; then xmodmap ~/.Xmodmap fi if [ -f ~/.Xdefaults ]; then xrdb -merge ~/.Xdefaults fi if [ -f ~/.Xresources ]; then xrdb -merge ~/.Xresources fi # # finally start the window manager # exec $WINDOWMANAGER |