Több ablakkezelő támogatása

A kdm kézikönyve
Vissza | Fejezet 3. A rendszer beállítása a kdm használatához | Tovább

# 3.2. Több ablakkezelő támogatása

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

Vissza | Tartalom | Tovább
A rendszer beállítása a kdm használatához | Fel | A kdm lefordítása és telepítése