<!doctype linuxdoc system>
<linuxdoc>
<article>
<titlepag>
<title>KDE GUI Login Configuratie HOWTO</title>
<author><name>John P. Meshkoff,II  
<url url="mailto:johnm@sivakalpa.org" name="johnm@sivakalpa.org">,<newline>
Vertaald door: Ellen Bokhorst
<url url="mailto:bokkie@nl.linux.org" name="bokkie@nl.linux.org">
</name></author>
<date>v1.02 14/07/2002 kcontrol update</date>
<!-- v1.01 10/06/2002 link update -->
<!-- v1.0 2002/06/07 Added kcontrol info -->
<!-- v0.03 2002/05/22 -->
<!-- was KDE GUI Login Window Manager HOWTO; changed 2002/05/22 --> 
<!-- v0.02 2002/05/21 -->
<!-- v0.01, 2002/04/14 -->
<!-- v0.0, 2002/04/10 1st sgml draft -->
<!-- re-phrased the abstract 2002/05/21 -->
<!-- re-phrased the abstract 2002/05/22 -->
<abstract>
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.
</abstract> 
</titlepag>
<toc>
<sect><heading>Copyright</heading>
<p>
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&euml;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.
</p>
</sect>


<sect><heading>Introductie</heading>
<p>
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 <tt>/etc/inittab</tt> werd genoemd, en de rol ervan in de systeemstart.
In <tt>/etc/inittab</tt> vond ik de volgende regels, welke defini&euml;ren
hoe het X Window Systeem wordt opgestart in mijn distributie en versie:
 
<tscreen><code>
&num; Start xdm in runlevel 5
&num; xdm is nu een aparte service
x:5:respawn:/etc/X11/prefdm -nodaemon
</code></tscreen>
 
Dit is de inhoud van prefdm:

<tscreen><code>
&num;!/bin/sh

PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin

&num; 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 ":&dollar;preferred" ]; then
	if which gdm >/dev/null 2>&amp;1; then
		preferred=gdm
	elif which kdm >/dev/null 2>&amp;1; then
		preferred=kdm
	elif which xdm >/dev/null 2>&1; then
		preferred=xdm
	fi
fi
if [ -n "&dollar;preferred" ] &amp;&amp; which &dollar;preferred >/dev/null 2>&amp;1; then
  	exec `which &dollar;preferred` &dollar;*
fi
exit 1	
</code></tscreen>

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 <tt>/etc/sysconfig/desktop</tt>
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&iuml;nstalleerd; xdm (X Display 
Manager) is standaard ge&iuml;nstalleerd als onderdeel van het X Window 
Systeem en het werd blijkbaar door oudere versies van Red Hat gebruikt.
</p>
</sect>

<!-- added caution and editing tips 2002/05/22 -->
<sect>
<heading>
Toevoegen van een nieuwe windowmanager aan de keuzelijst
</heading>
<p>
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:

<tscreen><code>
su -c 'kcontrol'
</code></tscreen>

Vul achter de prompt je rootwachtwoord in en maak de wijzigingen binnen
het KDE Control Center dat verschijnt:
ga naar <em>Applications ==> Login Manager</em>.  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
<url url="http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/x11-wm.html" name="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 <em>geen</em> <em>tekstverwerkinsgs</em>-programma voor het bewerken
van systeemconfiguratiebestanden; dergelijke programma's maken gebruik van
speciale opmaaktekens die de bestanden zullen ru&iuml;neren.
Gebruik een <em>teksteditor</em>, in het bijzonder &eacute;&eacute;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&iuml;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:
<tt>/usr/share/config/kdmrc</tt>, waarin we keuzelabels voor de 
vervolgkeuzelijst op het loginscherm toe gaan voegen, en
<tt>/etc/X11/xdm/Xsession</tt>, 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
"<tt>locate kdmrc</tt>" en "<tt>locate Xsession</tt>" 
[d.w.z. in een terminalemulatie, zoals <em>xterm</em>, 
of KDE's <em>konsole</em>] om erachter te komen waar de benodigde
bestanden zich bevinden op je systeem).

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

<tscreen><code>
SessionTypes=kde;gnome;anotherlevel;default;failsafe; 
</code></tscreen>

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

<tscreen><code>
SessionTypes=kde;gnome;windowmaker;blackbox;anotherlevel;default;failsafe; 
</code></tscreen>
<!-- cleaned up phrasing in this paragraph 21May2002 --> 
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
<tt>/etc/X11/xdm/Xsession</tt>. Voordat nieuwe items worden toegevoegd
ziet de van toepassing zijnde sectie van Xsession er ongeveer zo uit:

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

<!-- removed for clarity "I have just copied, pasted, and edited (to help avoid mis-typing) existing entries 
to create the new entries." 21May2002 -->
<!--  added "appropriate section of the" 14Apr2002 -->
<!-- re-phrased "NOTE" to clarify; added "spelling and case..." 21May2002 -->

Na het toevoegen van items aan het Xsession bestand ziet het bestand
er ongeveer zo uit (de keuzelabels <em>moeten</em> precies hetzelfde zijn
in Xsession en prefdm, d.w.z. de spelling en letterkast moeten identiek
zijn):
 
<tscreen><code>
&num; nu zien we of xdm/gdm/kdm heeft gevraagd om een specifieke omgeving
&num;
case &dollar;&num; in
1)
    case &dollar;1 in
    failsafe)
        exec xterm -geometry 80x24-0-0
        ;;
    gnome)
        exec gnome-session
        ;;
    kde)
        exec startkde
        ;;
    windowmaker)        
        exec wmaker
        ;;
    blackbox)        
        exec blackbox
        ;;    
    anotherlevel)
        &num; we veronderstellen dat switchdesk is geïnstalleerd.
        exec /usr/share/apps/switchdesk/Xclients.anotherlevel
        ;;
    esac
esac  
</code></tscreen>
<!-- added path note 2002/05/22 -->
Wanneer de uitvoerbare bestanden zijn ge&iuml;nstalleerd in &eacute;&eacute;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): 

<tt>/usr/bin/</tt> 

<tt>/usr/local/bin/</tt> 

<tt>/usr/X11R6/bin/</tt>

<tt>/usr/bin/X11/</tt>
 
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.
</p>
</sect>


<!-- added two new sections 2002/05/22 -->
<sect><heading>Gebruikerskeuze ikonen activeren in het login dialoogvenster</heading>
<p>
Onder RedHat 6.1 toont het standaard KDE loginvenster een 
dialoogvenster met ruimte om in &eacute;&eacute;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 
<tt>/usr/share/config/kdmrc</tt>, 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 "..."):

<tscreen><code>
#Users=root;johndoe
...
UserView=false
</code></tscreen>

Hier zijn dezelfde regels na bewerking; verwijder het commentaarteken
("#") voor "Users=..." en wijzig "johndoe" in 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" in "UserView=true" zoals hier wordt getoond:

<tscreen><code>
Users=root;johnpipe
...
UserView=true
</code></tscreen>

Wanneer je nu inlogt, kun je met de muis op een ikoon klikken met de
gebruikersnaam; maar je moet nog steeds je wachtwoord invoeren.
</p>
</sect>


<sect><heading>Rootpermissie verlangen voor afsluiten van het systeem</heading>
<p>
Het standaardfunctioneren van de shutdown knop op de login box staat
iedereen toe het systeem af te sluiten.
De regel in <tt>/usr/share/config/kdmrc</tt> waarin wordt bepaald wie
deze knop mag gebruiken ziet er ongeveer zo uit:

<tscreen><code>
#ShutdownButton=RootOnly
ShutdownButton=ConsoleOnly 
</code></tscreen>

Wijzig de regels zoals hieronder om te activeren dat alleen de rootgebruiker
het systeem kan afsluiten:

<tscreen><code>
ShutdownButton=RootOnly
#ShutdownButton=ConsoleOnly
</code></tscreen> 

Het klikken van de shutdown knop zal nu resulteren in het verzoek om
het rootwachtwoord voordat het systeem wordt afgesloten.
</p>
</sect>


<sect><heading>Bibliografie</heading>
<p>

Zie voor meer HOWTO's <url url="http://www.tldp.org/" name="Het Linux Documentatie Project">

Aanbevolen leesstof:

<itemize>
<item><url url="http://www.tldp.org/HOWTO/XWindow-User-HOWTO/" name="XWindow-User-HOWTO">
</item>
<item><url url="http://www.tldp.org/HOWTO/Emacs-Beginner-HOWTO.html" name="Emacs Beginner's HOWTO">
</item>
<item><url url="http://www.tldp.org/HOWTO/Vim-HOWTO.html" name="Vim Color Editor HOW-TO (Vi Improved with syntax color highlighting)">
</item>
</itemize>

Afhankelijk van je Linux distributie en versie, zijn de bovenstaande
HOWTO's wellicht reeds op je systeem ge&iuml;nstalleerd. Mochten ze niet
ge&iuml;nstalleerd zijn, dan staan ze misschien op de installatie CD.
</p>
</sect>
 </article>
</linuxdoc>

