KDE GUI Login Configuratie HOWTO

John P. Meshkoff,II johnm@sivakalpa.org <mailto:johnm@sivakalpa.org>, Vertaald door: Ellen Bokhorst bokkie@nl.linux.org <mailto:bokkie@nl.linux.org> v1.02 14/07/2002 kcontrol update

Dit is de KDE GUI Loginconfiguratie HOWTO, een tutorial over het aanpassen van het GUI loginscherm. Items die zijn opgenomen: Hoe andere windowmanagers toe te voegen aan de vervolgkeuzelijst; hoe in het loginvenster keuze-iconen voor gebruikers te activeren; en de benodigde rootpermissie voor het afsluiten van het systeem.

Inhoudsopgave

1 Copyright 1

2 Introductie 1

3 Toevoegen van een nieuwe windowmanager aan de keuzelijst 2

4 Gebruikerskeuze ikonen activeren in het login dialoogvenster 5

5 Rootpermissie verlangen voor afsluiten van het systeem 5

6 Bibliografie 6

1 Copyright

Copyright (c) 2002 door John Meshkoff

Kopieer dit document alsjeblieft vrijelijk (of geef het weg) in elk gewenst formaat. Je wordt verzocht correcties en/of opmerkingen naar de beheerder van het document door te sturen. Je mag er een afgeleide werk van creëren en het distribueren op voorwaarde dat:

1. Je het afgeleide werk (in het best passende formaat zoals sgml) naar de LDP (Linux Documentatie Project) of vergelijkbaar opstuurt zodat het op Internet gepubliceerd kan worden. Als het de LDP niet is, laat de LDP dan weten waar het beschikbaar is.

2. Licentieer het afgeleide werk met dezelfde licentie of gebruik GPL. Voeg een copyrightmelding in of op z’n minst een verwijzing naar de gebruikte licentie.

3. Geef krediet aan eerdere auteurs en mensen die een belangrijke bijdrage leverden.

Je wordt verzocht je plannen met de huidige beheerder te bespreken als je een afgeleide werk overweegt anders dan een vertaling.

2 Introductie

Deze info is gebaseerd op een standaardinstallatie van een KDE Workstation onder RedHat 6.1. Als je een andere distributie gebruikt, of zelfs een andere versie van RedHat, of een andere Workstation installatie, dan kan het zijn dat je wat speurwerk moet verrichten. Hopelijk zal deze info je geven wat je nodig hebt bij het begin van het speurwerk! Deze HOWTO begon als resultaat op de vraag hoe je een andere windowmanager of desktopomgeving aan de vervolgkeuzelijst van het GUI loginscherm toe kon voegen; nader onderzoek onthulde andere configuratie-opties.

Ik begon mijn eigen "speurwerk"toen ik een referentie vond op een RedHat lijst waarin /etc/inittab werd genoemd, en de rol ervan in de systeemstart. In /etc/inittab vond ik de volgende regels, welke definiëren hoe het X Window Systeem wordt opgestart in mijn distributie en versie:

     # Start xdm in runlevel 5
     # xdm is nu een aparte service
     x:5:respawn:/etc/X11/prefdm -nodaemon

Dit is de inhoud van prefdm:

     #!/bin/sh
     PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin
     # Start voorkeurs X display manager
     preferred=
     if [ -f /etc/sysconfig/desktop ]; then
             if grep -q GNOME /etc/sysconfig/desktop 2>/dev/null; then
                     preferred=gdm
             elif grep -q KDE /etc/sysconfig/desktop 2> /dev/null; then
                     preferred=kdm
             elif grep -q AnotherLevel /etc/sysconfig/desktop 2> /dev/null; then
                     preferred=xdm
             fi
     fi
     if [ -z ":$preferred" ]; then
             if which gdm >/dev/null 2>&1; then
                     preferred=gdm
             elif which kdm >/dev/null 2>&1; then
                     preferred=kdm
             elif which xdm >/dev/null 2>&1; then
                     preferred=xdm
             fi
     fi
     if [ -n "$preferred" ] && which $preferred >/dev/null 2>&1; then
             exec `which $preferred` $*
     fi
     exit 1

Het is niet nodig wijzigingen aan te brengen in prefdm; het stelt vast welke display manager de systeemstandaard is, en welke de GUI login draait. Tijdens de systeemstart, verwerkt prefdm /etc/sysconfig/desktop en selecteert het de hierin genoemde display manager; in het geval van mijn KDE Workstation installatie, is dit kdm (KDE Display Manager). Op mijn systeem is gdm (Gnome Display Manager) niet geïnstalleerd; xdm (X Display Manager) is standaard geïnstalleerd als onderdeel van het X Window Systeem en het werd blijkbaar door oudere versies van Red Hat gebruikt.

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: <http://www.freebsd.org/doc/en_US.

ISO8859-1/books/handbook/x11-wm.html>

"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ën "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;

3. Toevoegen van een nieuwe windowmanager aan de keuzelijst 4

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 ëxec"; 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.

4 Gebruikerskeuze ikonen activeren in het login dialoogvenster

Onder RedHat 6.1 toont het standaard KDE loginvenster een dialoogvenster met ruimte om
in één de gebruikersnaam in te tikken, en in de ander het gebruikerswachtwoord in te
voeren, en een vervolgkeuzelijst om de window manager/desktop omgeving naar keuze te
selecteren.  Door de volgende wijzigingen aan te brengen in /usr/share/config/kdmrc,
zullen bovenaan in het loginvenster gebruikersikonen verschijnen.  De standaardregels die
de gebruikersikonen besturen zien er in kdmrc ongeveer zo uit (andere regels tussen deze
twee regels worden niet getoond en worden voorgesteld door "..."):
     #Users=root;johndoe
     ...
     UserView=false
Hier zijn dezelfde regels na bewerking; verwijder het commentaarteken ("#") voor
"Users=...ën wijzig "johndoeïn je gebruikersnaam (als er meer gebruikersaccounts op je
systeem zijn aangemaakt, dan kun je hier die gebruikersnamen toevoegen, gescheiden door
puntkomma's) Wijzig "UserView=falseïn "UserView=true"zoals hier wordt getoond:
     Users=root;johnpipe
     ...
     UserView=true
Wanneer je nu inlogt, kun je met de muis op een ikoon klikken met de gebruikersnaam; maar
je moet nog steeds je wachtwoord invoeren.

5 Rootpermissie verlangen voor afsluiten van het systeem

Het standaardfunctioneren van de shutdown knop op de login box staat iedereen toe het
systeem af te sluiten.  De regel in /usr/share/config/kdmrc waarin wordt bepaald wie deze
knop mag gebruiken ziet er ongeveer zo uit:
     #ShutdownButton=RootOnly
     ShutdownButton=ConsoleOnly

Wijzig de regels zoals hieronder om te activeren dat alleen de rootgebruiker het systeem
kan afsluiten:
     ShutdownButton=RootOnly
     #ShutdownButton=ConsoleOnly
Het klikken van de shutdown knop zal nu resulteren in het verzoek om het rootwachtwoord
voordat het systeem wordt afgesloten.

6 Bibliografie

Zie voor meer HOWTO's Het Linux Documentatie Project <http://www.tldp.org/>
Aanbevolen leesstof:
   • XWindow-User-HOWTO <http://www.tldp.org/HOWTO/XWindow-User-HOWTO/>
   • Emacs Beginner's HOWTO <http://www.tldp.org/HOWTO/Emacs-Beginner-HOWTO.html>
   • Vim Color Editor HOW-TO (Vi Improved with syntax color highlighting) <http://www.
     tldp.org/HOWTO/Vim-HOWTO.html>
Afhankelijk van je Linux distributie en versie, zijn de bovenstaande HOWTO's wellicht
reeds op je systeem geïnstalleerd.  Mochten ze niet geïnstalleerd zijn, dan staan ze
misschien op de installatie CD.