Verder Terug Inhoud

3. Toevoegen van een nieuwe windowmanager aan de keuzelijst

WAARSCHUWING: De procedures uitgelegd in deze HOWTO brengen wijzigingen in de systeemconfiguratiebestanden aan; als je geen ervaring hebt in het maken van dergelijke wijzigingen, neem dan wat voorzichtigheid in acht. Het introduceren van fouten in dergelijke bestanden kan je systeem onstabiel maken, of maken dat het crasht. De procedures uitgelegd in deze HOWTO zijn getest en zouden geen problemen mogen veroorzaken als ze juist worden toegepast.

Als je KDE 2.2 of nieuwer hebt en je je niet op je gemak voelt bij het handmatig bewerken van systeembestanden, dan kun je een terminalvenster (xterm of konsole) openen vanaf je desktop (NIET de rootdesktop) en invoeren:


su -c 'kcontrol'

Vul achter de prompt je rootwachtwoord in en maak de wijzigingen binnen het KDE Control Center dat verschijnt: ga naar Applications ==> Login Manager. Kies de passende configuratietab; je kunt eenvoudig van daaruit elk aspect van het loginscherm configureren. In eerdere versies van KDE, kon kcontrol kdmrc aanpassen, maar kon het xsession niet wijzigen welke wordt gebruikt in die versies; zie de opmerking verderop over wijzigingen vanaf KDE 2.2.

Voor het handmatig configureren hiervan, en te zien wat deze configuratiebestanden doen, ga je als volgt verder:

(Pas op: Een aantal configuratiebestanden zijn sinds de versie van kdm die ik gebruik, in het bijzonder sinds KDE > 2.0 gewijzigd:

Het volgende is aangehaald uit the FreeBSD Handbook-X11:

"Noot: Onder KDE 2.2 is dit gewijzigd: kdm maakt nu gebruik van eigen configuratiebestanden. Kijk voor details alsjeblieft in de documentatie van KDE 2.2.")

Kijk je documentatie erop na van de versie die je gebruikt ter identificatie van de huidige configuratiebestanden als je ze handmatig wilt bewerken, of gewoon wilt zien hoe het werkt.

Gebruik geen tekstverwerkinsgs-programma voor het bewerken van systeemconfiguratiebestanden; dergelijke programma's maken gebruik van speciale opmaaktekens die de bestanden zullen ruïneren. Gebruik een teksteditor, in het bijzonder één die lange regels aankan zonder extra carriage-return of line feed tekens in de bestaande code op te nemen. Geschikte editors zijn onder andere vim (vi improved), vi, en emacs. Er bestaan nog anderen, maar de hiervoor genoemden worden gewoonlijk standaard bij een Linux werkstation installatie geïnstalleerd; ze hebben alleen features die ze bijzonder geschikt maken voor het schrijven en bewerken van computercode. Zie de biblografie sectie aan het einde van deze HOWTO voor meer informatie.

BELANGRIJK: Maak backups voordat je wijzigingen aanbrengt in systeem configuratiebestanden. Maak backups van de originele exemplaren, zodat je ze in geval van ernstige foutmeldingen terug kunt zetten!

De bestanden die we hier gaan wijzigen zijn: /usr/share/config/kdmrc, waarin we keuzelabels voor de vervolgkeuzelijst op het loginscherm toe gaan voegen, en /etc/X11/xdm/Xsession, waarin we het directorypad naar de uitvoerbare bestanden voor onze labels toe gaan voegen (als je gebruik maakt van een andere distributie, dan kan het zijn dat dit directorypad naar deze bestanden anders is; voer in de shell gewoon uit "locate kdmrc" en "locate Xsession" [d.w.z. in een terminalemulatie, zoals xterm, of KDE's konsole] om erachter te komen waar de benodigde bestanden zich bevinden op je systeem).

De te wijzigen standaardregel in kdmrc ziet er ongeveer zo uit:


SessionTypes=kde;gnome;anotherlevel;default;failsafe; 

Na het toevoegen van de keuzelabels voor twee nieuwe window managers, window manager en blackbox, ziet de regel er ongeveer zo uit:


SessionTypes=kde;gnome;windowmaker;blackbox;anotherlevel;default;failsafe; 

Let op de posities waar ik de labels hebt toegevoegd voor de nieuwe window managers; alle items zullen in de vervolgkeuzelijst in dezelfde volgorde verschijnen als de volgorde waarin ze worden geplaatst in de SessionTypes lijst. Vervolgens vindt de werkelijke keuze plaats in /etc/X11/xdm/Xsession. Voordat nieuwe items worden toegevoegd ziet de van toepassing zijnde sectie van Xsession er ongeveer zo uit:


# nu zien we of xdm/gdm/kdm heeft gevraagd naar een specifieke omgeving
#
case $# in
1)
    case $1 in
    failsafe)
        exec xterm -geometry 80x24-0-0
        ;;
    gnome)
        exec gnome-session
        ;;
    kde)
        exec startkde
        ;;   
    anotherlevel)
        # we veronderstellen dat switchdesk is geïnstalleerd.
        exec /usr/share/apps/switchdesk/Xclients.anotherlevel
        ;;
    esac
esac  

Na het toevoegen van items aan het Xsession bestand ziet het bestand er ongeveer zo uit (de keuzelabels moeten precies hetzelfde zijn in Xsession en prefdm, d.w.z. de spelling en letterkast moeten identiek zijn):


# nu zien we of xdm/gdm/kdm heeft gevraagd om een specifieke omgeving
#
case $# in
1)
    case $1 in
    failsafe)
        exec xterm -geometry 80x24-0-0
        ;;
    gnome)
        exec gnome-session
        ;;
    kde)
        exec startkde
        ;;
    windowmaker)        
        exec wmaker
        ;;
    blackbox)        
        exec blackbox
        ;;    
    anotherlevel)
        # we veronderstellen dat switchdesk is geïnstalleerd.
        exec /usr/share/apps/switchdesk/Xclients.anotherlevel
        ;;
    esac
esac  

Wanneer de uitvoerbare bestanden zijn geïnstalleerd in één van de hieronder getoonde directorypaden, dan is alleen de uitvoerbare naam nodig na "exec"; anders moet het volledige pad worden opgenomen, zoals getoond voor "Xclients.anotherlevel" (hierboven):

/usr/bin/

/usr/local/bin/

/usr/X11R6/bin/

/usr/bin/X11/

Aan deze voorbeelden zou je genoeg moeten hebben om je favoriete window manager(s) aan de grafische login van KDE toe te voegen, of je een aanknopingspunt te geven er achter te komen hoe het wordt bewerkstelligd in jouw installatie.


Verder Terug Inhoud