# De bestanden die door &kdm; voor de configuratie gebruikt worden

In dit hoofdstuk worden de bestanden beschreven die het gedrag van &kdm; besturen. Een aantal opties kunnen ook in de &systemsettings;-module ingesteld worden, maar niet allemaal.

## &kdmrc; - Het belangrijkste configuratiebestand van &kdm;

De basisopmaak van het bestand lijkt op INI-bestanden. Opties zijn paren van sleutel/waarde, onderverdeeld in secties. Alle tekst in het bestand is hoofdlettergevoelig. Syntactische fouten en sleutel/sectie identifiers die niet herkend worden hebben tot gevolg dat &kdm; niet-fatale foutmeldingen geeft.

Regels die met `#` beginnen zijn commentaren; lege regels worden ook genegeerd.

Secties worden aangegeven door `[``Naam van sectie``]`.

U kunt elke X-display individueel configureren.

Elke display heeft een display-naam, die uit een host-naam (die leeg is voor lokale displays die in `StaticServers` of `ReserveServers` gespecificeerd zijn), een dubbele punt en een display-nummer. Bovendien behoort een display tot display-klasse (die in de meeste gevallen genegeerd kan worden).

Secties met display-specifieke instellingen hebben de formele syntax `[X-` `host` [ `:` `number` [ `_` `class` ] ] `-` `sub-section` `]`

Alle secties met dezelfde `sub-section` vormen tezamen een sectie-klasse.

U kunt het jokerteken `*` gebruiken (komt overeen met elk willekeurig teken) voor `host`, `number`, en `class`. U kunt erna komende componenten weglaten; er wordt aangenomen dat die dan `*` zijn. Het host-deel kan een domein-specificatie als `.inf.tu-dresden.de` zijn of het jokerteken `+` (komt overeen met niet-lege plaatsen).

Deze regels bepalen vanuit welke sectie de instelling feitelijk overgenomen wordt:

- Een exacte overeenkomst heeft voorrang op een gedeeltelijke overeenkomst (voor het host-deel), die weer voorrang heeft op een jokerteken. (`+` heeft voorrang op `*`).

- Voorrang neemt af van links naar rechts voor precies gelijke overeenkomsten.

- Voorbeeld: display name myhost.foo:0, klasse dpy

  - [X-myhost.foo:0_dpy] heeft voorrang op

  - [X-myhost.foo:0_*] (hetzelfde als [X-myhost.foo:0]) heeft voorrang op

  - [X-myhost.foo:*_dpy] heeft voorrang op

  - [X-myhost.foo:*_*] (hetzelfde als [X-myhost.foo]) heeft voorrang op

  - [X-.foo:*_*] (hetzelfde als [X-.foo]) heeft voorrang op

  - [X-+:0_dpy] heeft voorrang op

  - [X-*:0_dpy] heeft voorrang op

  - [X-*:0_*] (hetzelfde als [X-*:0]) heeft voorrang op

  - [X-*:*_*] (hetzelfde als [X-*]).

  - Deze secties komen niet overeen met deze display:

    [X-hishost], [X-myhost.foo:0_dec], [X-*:1], [X-:*]

Algemeen gebruikte secties zijn [X-*] (alle displays), [X-:*] (alle lokale displays) en [X-:0] (de eerste lokale display).

De indeling van alle sleutels is ```key`` `=` `value``. Sleutels zijn alleen geldig in de sectie-klasse waarvoor ze gedefinieerd zijn. Sommige sleutels worden niet toegepast op bepaalde displays, in dat geval worden ze genegeerd.

Als een instelling niet gevonden wordt in een bijbehorende sectie, wordt de standaard gebruikt.

Speciale tekens moeten worden voorafgegaan door een backslash (spaties aan het begin en aan het eind van de regel (`\s`), tab (`\t`), nieuwe regel (`\n`), regelterugloop (`\r`) en de backslash zelf (`\\`)).

In lijsten worden velden gescheiden door komma's zonder spaties ertussen.

Sommige commando-strings worden op een vereenvoudigde sh-manier gesplitst: enkele aanhalingstekens (`'`) en dubbele aanhalingstekens (`"`) hebben de gangbare betekenis; de backslash haalt alles aan (niet alleen speciale tekens). Opmerking: de backslashes moeten verdubbeld worden vanwege de twee aanhalings-niveaus.

Een onaangeroerd &kdmrc;-bestand is voorzien van uitgebreide commentaren. Alle commentaren gaan verloren als u dit bestand met &systemsettings; wijzigt.

### De sectie [General] van &kdmrc;

Deze sectie bevat globale opties die niet in een specifieke sectie passen.

`ConfigVersion`

- Deze optie is er alleen om nette automatische upgrades mogelijk te maken. Wijzig dit in geen geval, u zou toekomstige upgrades in de war kunnen gooien en het resultaat kan zijn dat &kdm; niet meer werkt.

`StaticServers`

- Lijst van displays (&X-Server;s) die permanent door &kdm; beheerd worden. Displays met een host-naam zijn "vreemde" displays, waarvan verwacht wordt dat ze al draaien, de andere zijn lokale displays waarvoor &kdm; een eigen &X-Server; start; zie `ServerCmd`. Elke display kan aan een display-klasse behoren; u kunt dit aan de display-naam toevoegen, gescheiden door een underscore. Zie kdmrc-xservers voor de details.

  De standaard is :0.

`ReserveServers`

- Lijst van displays op aanvraag. Zie `StaticServers` voor de syntax.

  Standaard leeg

`ServerVTs`

- Lijst van Virtual Terminals om aan &X-Server;s toe te wijzen. Bij negatieve getallen wordt de absolute waarde gebruikt, de VT wordt alleen toegewezen als de kernel aangeeft dat deze vrij is. Als &kdm; deze lijst overschrijdt, worden vrije VTs toegewezen die een hogere waarde hebben dan de laatste absolute waarde in de lijst. Op dit moment alleen voor Linux.

  Standaard leeg

`ConsoleTTYs`

- Deze optie is voor besturingssystemen (OS-en) met ondersteuning voor virtuele terminals (VT's), zowel door &kdm; als de OS zelf. Op dit moment geldt dit alleen voor Linux.

  Wanneer &kdm; overschakelt naar de console-modus, begint het alle TTY's te monitoren (zonder de voorafgaande `/dev/`). Als er geeneen gedurende een bepaalde tijd actief is, schakelt &kdm; terug naar het X-aanmeldscherm.

  Standaard leeg

`PidFile`

- De gespecificeerde bestandsnaam wordt aangemaakt en bevat dan een ASCII-representatie van het proces-ID van het hoofdproces van &kdm;; de PID wordt niet opgeslagen als de bestandsnaam leeg is.

  Standaard leeg

`LockPidFile`

- Deze optie bepaalt of &kdm; bestandsvergrendeling gebruikt om te voorkomen dat meerdere display managers met elkaar botsen.

  De standaard is true.

`AuthDir`

- Deze optie geeft een naam aan de directory waarin &kdm; &X-Server;-autorisatie-bestanden opslaat bij het initialiseren van de sessie. &kdm; verwacht dat het systeem tijdens het rebooten verouderde bestanden uit deze directory verwijdert.

  Het autorisatie-bestand, dat voor eenm bepaalde display gebruikt moet worden, kan gespecificeerd worden met de optie `AuthFile` in [X-*-Core].

  De standaard is /var/run/xauth.

`AutoRescan`

- Deze booleaanse waarde bepaalt of &kdm; automatisch zijn configuratie-bestanden herleest als deze gewijzigd zijn.

  De standaard is true.

`ExportList`

- Aanvullende omgevingsvariabelen die &kdm; mee moet geven aan alle programma's die het draait. `LD_LIBRARY_PATH` en `XCURSOR_THEME` zijn goede kandidaten; overigens zou dit niet vaak nodig moeten zijn.

  Standaard leeg

`RandomFile`

- Als het systeem geen eigen entropiebron, zoals /dev/urandom (zie `RandomDevice`) heeft, en er geen entropie-daemon, zoals EGD (zie `PrngdSocket` en `PrngdPort`) draait, valt &kdm; terug op zijn eigen pseudo-random-getallen generator die, onder andere, achtereenvolgens delen van dit bestand een checksum geeft (die vanzelfsprekend regelmatig gewijzigd moet worden).

  Deze optie is niet beschikbaar op Linux en diverse BSD's.

  De standaard is /dev/mem.

`PrngdSocket`

- Als het systeem geen eigen entropiebron, zoals /dev/urandom (zie `RandomDevice`) heeft, worden willekeurige gegevens van een Pseudo-Random Number Generator Daemon, zoals EGD (http://egd.sourceforge.net) via deze UNIX-domain-socket gelezen.

  Deze optie is niet beschikbaar op Linux en diverse BSD's.

  Standaard leeg

`PrngdPort`

- Hetzelfde als `PrngdSocket`, maar gebruikt een TCP-socket op localhost.

`RandomDevice`

- Het pad naar een character-device waarvanaf &kdm; de willekeurige gegevens moet lezen. Leeg betekent dat het geprefereerde entropy-device van het systeem gebruikt wordt, als dat er is.

  Deze optie is niet beschikbaar op OpenBSD, dit gebruikt in plaats daarvan de functie arc4_random.

  Standaard leeg

`FifoDir`

- De map waarin de commando-sockets aangemaakt moeten worden; laat dit leeg om deze uit te schakelen.

  De standaard is /var/run/xdmctl.

`FifoGroup`

- De groep waartoe het globale commando-socket moet behoren; kan zowel een naam als een numerieke ID zijn.

`GreeterUID`

- De gebruiker waaronder de greeter moet draaien. Leeg resulteert in `root`. Kijk goed naar de impact op `LogSource` bij het instellen.

  Standaard leeg

`DataDir`

- De directory waarin &kdm; blijvende werkgegevens moet opslaan; zulke gegevens zijn bijvoorbeeld: de vorige gebruiker die zich op een bepaalde display aangemeld had.

  De standaard is /var/lib/kdm.

`DmrcDir`

- De directory waarin &kdm; de `.dmrc`-bestanden van gebruikers moet opslaan. Dit is alleen nodig als de home-directory's niet gelezen kunen worden voordat de aanmelding plaats vindt (zoals met AFS).

  Standaard leeg

### De sectie [Xdmcp] van &kdmrc;

Deze sectie bevat opties die bepalen hoe &kdm; &XDMCP;-aanvragen behandelt.

`Enable`

- Bepaalt of &kdm; naar binnenkomende &XDMCP;-aanvragen luistert.

  De standaard is true.

`Port`

- Dit duidt het nummer van de UDP-port aan die &kdm; gebruikt om naar binnenkomende &XDMCP;-aanvragen te luisteren. Als u het systeem moet debuggen kunt u dit veranderen, anders kunt u het beter op de standaardwaarde laten.

  De standaard is 177.

`KeyFile`

- &XDMCP;-authenticatie op de manier van XDM-AUTHENTICATION-1 vereist dat een privésleutel gedeeld wordt door &kdm; en de terminal. Deze optie specificeert het bestand met deze waarden. Elk item in het bestand bestaat uit een display-naam en de gedeelde sleutel.

  Standaard leeg

`Xaccess`

- Om ongeautoriseerd &XDMCP;-service te voorkomen en om &XDMCP;-IndirectQuery aanvragen te kunnen doorsturen, bevat dit bestand een database met host-namen die of directe toegang hebben tot deze computer, of een lijst met hosts hebben waar de aanvragen naar doorgestuurd moeten worden. De indeling van het bestand wordt beschreven in kdmrc-xaccess.

  De standaard is ${`kde_confdir`}/kdm/Xaccess.

`ChoiceTimeout`

- Het aantal seconden dat gewacht moet worden tot de display reageert nadat de gebruiker een host uit de chooser gekozen heeft. Als de display binnen deze tijd een &XDMCP;-IndirectQuery stuurt, wordt de aanvraag doorgestuurd naar de gekozen host; anders wordt er aangenomen dat dit een nieuwe sessie is en wordt de chooser opnieuw getoond.

  De standaard is 15.

`RemoveDomainname`

- Wanneer de display-naam voor &XDMCP;-clients berekend wordt, creëert de name-resolver in de regel een volledig gekwalificeerde host-naam voor de terminal. Omdat dit soms verwarrend kan zijn, verwijdert &kdm;, als deze optie ingeschakeld is, het domein-naam deel van de host-naam als deze hetzelfde is als de domein-naam van de lokale host.

  De standaard is true.

`SourceAddress`

- Gebruikt het numerieke IP-adres van de inkomende verbinding op multihomed hosts in plaats van de host-naam. Dit wordt gedaan om te voorkomen dat geprobeerd wordt een verbinding te maken met de verkeerde interface, die op dat moment uit kan staan.

  De standaard is false.

`Willing`

- Dit specificeert een programma dat gedraaid wordt (als `root`) wanneer een &XDMCP;-DirectQuery of BroadcastQuery ontvangen wordt en deze host geconfigureerd is om &XDMCP;-display-management te bieden. De output van dit programma kan in een chooser-venster getoond worden. Als er geen programma gespecificeerd is, wordt de string Willing to manage verstuurd.

  Standaard leeg

### De sectie [Shutdown] van &kdmrc;

Deze sectie bevat globale opties met betrekking tot systeem-shutdown (afsluiten van het systeem).

`HaltCmd`

- Het commando (de woorden in deze string worden, indien nodig, gesplitst) dat gedraaid wordt om het systeem te stoppen of geheel uit te schakelen.

  De standaard is een commando dat gangbaar is voor het systeem waarop &kdm; gecompileerd werd, bijvoorbeeld `/sbin/shutdown `-h` `now``.

`RebootCmd`

- Het commando (de woorden in deze string worden, indien nodig, gesplitst) dat gedraaid wordt om het systeem te rebooten.

  De standaard is een commando dat gangbaar is voor het systeem waarop &kdm; gecompileerd werd, bijvoorbeeld `/sbin/shutdown `-r` `now``.

`AllowFifo`

- Bepaalt of het toegestaan is om het systeem af te sluiten door middel van het globale commando-socket.

  De standaard is false.

`AllowFifoNow`

- Bepaalt of het toegestaan is om actieve sessies af te breken wanneer het systeem uitgeschakeld wordt door middel van het globale commando-socket.

  Dit heeft alleen effect als `AllowFifo` ingeschakeld is.

  De standaard is true.

`BootManager`

- De boot-manager die &kdm; moet gebruiken om boot-opties te tonen in het dialoogvenster dat bij het afsluiten verschijnt.

  `None`

- geen boot-manager

`Grub`

- Grub boot-manager

`Grub2`

- Grub2 boot-manager

`Lilo`

- Lilo boot-manager (alleen bij Linux op i386 & x86-64)

De standaard is None.

### De sectie-klasse [X-*-Core] van &kdmrc;

Deze sectie-klasse bevat opties met betrekking tot de configuratie van de &kdm;-backend (core).

`OpenDelay`

- Zie `OpenRepeat`.

  De standaard is 15.

`OpenTimeout`

- Zie `OpenRepeat`.

  De standaard is 120.

`OpenRepeat`

- Deze opties besturen het gedrag van &kdm; wanneer geprobeerd wordt verbinding met een &X-Server; te maken. `OpenDelay` is de lengte van de pauze (in seconden) tussen opeenvolgende pogingen, `OpenRepeat` is het aantal pogingen dat gedaan wordt en `OpenTimeout` bepaalt hoe lang een poging om verbinding te maken duurt. Nadat `OpenRepeat` pogingen zijn gedaan, of als `OpenTimeout` seconden zijn verstreken bij een bepaalde poging, wordt de poging als mislukt beschouwd.

  De standaard is 5.

`StartAttempts`

- Bepaalt hoe vaak &kdm; moet proberen om een `vreemde` display, die vermeld is in `StaticServers`, te starten, voordat de pogingen gestaakt worden en de optie uitgeschakeld wordt. Lokale displays worden eenmaal geprobeerd, &XDMCP;-displays worden eindeloos door de client geprobeerd (behalve als de optie `-once` aan de &X-Server; was gegeven).

  De standaard is 4.

`ServerAttempts`

- Bepaalt hoe vaak &kdm; moet proberen om een lokale &X-Server; op te starten. Opstarten houdt in dat er gewacht wordt tot deze draait.

  De standaard is 1.

`ServerTimeout`

- Bepaalt hoeveel seconden &kdm; moet wachten tot een lokale &X-Server; draait.

  De standaard is 30.

`ServerCmd`

- De commandorehel om de &X-Server; te starten, zonder schermnummer en VT spec. Merk op dat met sommige &X-Server;s (speciaal die van OpenSolaris) het nodig is om additionele argumenten in `ServerArgsLocal` en `ServerArgsRemote` te zetten zelfs als ze hetzelfde zijn voor beide. Deze tekenreeks is onderworpen aan woord splitsen.

  De standaard is een gangbaar commando voor het systeem waarop &kdm; gecompileerd werd, bijvoorbeeld `/usr/X11R6/bin/X`.

`ServerArgsLocal`

- Additionele argumenten voor de &X-Server;s voor lokale sessies. De woorden in deze string worden, indien nodig, gesplitst.

  Standaard leeg

`ServerArgsRemote`

- Aanvullende argumenten voor de &X-Server;s voor sessies op afstand. De woorden in deze string worden, indien nodig, gesplitst.

  Standaard leeg

`ServerVT`

- De VT waarop de &X-Server; moet draaien. In plaats van deze optie kunt u beter `ServerVTs` gebruiken. Laat de waarde op nul staan om &kdm; automatisch een VT toe te wijzen. Zet de waarde op `-1` om te voorkomen dat er een VT toegewezen wordt - dit is vereist voor systemen met meerdere consoles. Op het moment alleen voor Linux.

`ServerTTY`

- Deze optie is voor OS-en (besturingssystemen) die geen ondersteuning hebben voor VT's, noch door &kdm; of het OS zelf. Op het moment geldt dit voor alle OS-en, uitgezonderd Linux.

  Wanneer &kdm; overschakelt naar de console-modus, begint het deze TTY (zonder de voorafgaande `/dev/`) te monitoren. Als er gedurende een bepaalde tijd geen activiteit is, schakelt &kdm; terug naar het X-aanmeldscherm.

  Standaard leeg

`ServerUID`

- De gebruiker waaronder de &X-Server; zou moeten draaien. Leeg resulteert in `root`.

  Standaard leeg

`PingInterval`

- Zie `PingTimeout`.

  De standaard is 5.

`PingTimeout`

- Om te weten wanneer displays op afstand uitvallen, pingt &kdm; ze regelmatig. `PingInterval` specificeert de tijd (in minuten) tussen de pings en `PingTimeout` specificeert de maximale tijd (in minuten) die gewacht wordt tot de terminal het signaal beantwoordt. Als de terminal niet antwoordt, wordt de sessie dood verklaard en beëindigd.

  Als u vaak X-terminals gebruikt die geïsoleerd kunnen raken van de beherende host, kunt u de timeout wellicht verlengen. Het enige probleem dat kan ontstaan is dan dat sessies blijven bestaan nadat de terminal per ongeluk uitgeschakeld werd.

  De standaard is 5.

`TerminateServer`

- Bepaalt of &kdm; de lokale &X-Server; nadat een sessie afgesloten is, moet herstarten in plaats van te resetten. Gebruik deze optie als de &X-Server; geheugenlekken heeft of het systeem laat crashen bij pogingen om te resetten.

  De standaard is false.

`Authorize`

- Bepaalt of &kdm; autorisatie voor local &X-Server;-verbindingen genereert en gebruikt. Voor &XDMCP;-displays wordt de vraag om autorisatie, dat de display doet, gebruikt; vreemde, niet-&XDMCP;-displays ondersteunen geen enkele vorm van autorisatie.

  De standaard is true.

`AuthNames`

- Als de waarde van de optie `Authorize` waar is, worden de autorisatie-mechanismen die hier vermeld staan gebruikt. De autorisatie MIT-MAGIC-COOKIE-1 is altijd beschikbaar; XDM-AUTHORIZATION-1, SUN-DES-1 en MIT-KERBEROS-5 kunnen ook beschikbaar zijn, afhankelijk van de configuratie.

  De standaard is DEF_AUTH_NAME.

`ResetForAuth`

- Sommige oude &X-Server;s herlezen het autorisatie-bestand als de &X-Server; ge-reset wordt, in plaats van te controleren of de aanvankelijke verbinding succesvol was. Daar &kdm; de autorisatie-gegevens vlak voor de verbinding met de display tot stand komt, genereert, krijgt een oude &X-Server; geen bijgewerkte informatie over de autorisatie. Deze optie laat &kdm; een SIGHUP naar de &X-Server; sturen nadat het bestand gemaakt is, hierdoor wordt de &X-Server; ge-reset en gedurende de reset wordt de informatie over de autorisatie gelezen

  De standaard is false.

`AuthFile`

- De commandoregel-optie `-auth` van de &X-Server; gebruikt dit bestand om de autorisatie-gegevens van &kdm; naar de &X-Server; door te geven. Het bestand kan het beste opgeslagen worden in een directory waarvoor niet iedereen schrijfrechten heeft, dit om te voorkomen dat het bestand verwijderd wordt, waardoor het autorisatie-mechanisme in de &X-Server; uitgeschakeld wordt. Als er geen naam gespecificeerd is, wordt een willekeurige naam gegenereerd uit de `AuthDir` en de naam van het display.

  Standaard leeg

`Resources`

- Deze optie specificeert de naam van het bestand, dat door `xrdb` als de bronnendatabase op het root-venster van scherm 0 van de display geladen moet worden. KDE-programma's gebruiken in het algemeen geen X-systeembronnen, deze optie is daarom alleen noodzakelijk als het programma `Setup` X-systeembronnen nodig heeft.

  Standaard leeg

`Xrdb`

- Het programma `xrdb` dat gebruikt moet worden om het bestand met de de X-systeembronnen te lezen, dit bestand wordt gespecificeerd in `Recources`. Het commando wordt, indien nodig, gesplitst.

  De standaard is ${`x_bindir`}/xrdb.

`Setup`

- Deze tekenreeks wordt, indien nodig, gesplitst. Hiermee wordt een programma gespecificeerd dat (als `root`) gedraaid wordt, voordat het begroetingsvenster verschijnt. Dit kan gebruikt worden om het uiterlijk van het scherm te wijzigen of om andere vensters te openen (u wilt hier bijvoorbeeld een `xconsole` draaien). Gewoonlijk wordt hier een script met de naam `Xsetup` gebruikt. Zie kdmrc-xsetup.

  Standaard leeg

`Startup`

- Deze tekenreeks wordt, indien nodig, gesplitst. Hiermee wordt een programma gespecificeerd dat (als `root`) gedraaid wordt, nadat de gebruiker succesvol is aangemeld. Gewoonlijk wordt hier `Xstartup` als naam voor een bestand gebruikt. Zie kdmrc-xstartup.

  Standaard leeg

`Reset`

- Deze tekenreeks wordt, indien nodig, gesplitst. Hiermee wordt een programma gespecificeerd dat (als `root`) gedraaid wordt, nadat de sessie wordt beëindigd. Gewoonlijk wordt hier het script met de naam `Xreset` gebruikt. Zie kdmrc-xreset.

  Standaard leeg

`Session`

- Deze tekenreeks wordt, indien nodig, gesplitst. Hiermee wordt het sessie-programma dat uitgevoerd moet worden (als de gebruiker die eigenaar van de sessie is) gespecificeerd. Gewoonlijk wordt hier een script genaamd `Xsession` gebruikt. Zie kdmrc-xsession.

  De standaard is ${`x_bindir`}/xterm -ls -T.

`FailsafeClient`

- Als het progamma `Session` niet uitgevoerd kan worden, valt &kdm; terug op dit programma. Dit programma wordt zonder argumenten , maar met dezelfde omgevingsvariabelen als de sessie zou hebben, uitgevoerd (zie kdmrc-xsession).

  De standaard is ${`x_bindir`}/xterm.

`UserPath`

- De omgevingsvariabele `PATH` voor niet-`root` `Session`s.

  De standaard is afhankelijk van het systeem waarop &kdm; gecompileerd werd.

`SystemPath`

- De omgevingsvariabele `PATH` voor alle programma's, uitgezonderd niet-`root` `Session`s. Opmerking: Het is een goede gewoonte om `.` (de huidige directory) in dit item op te nemen.

  De standaard is afhankelijk van het systeem waarop &kdm; gecompileerd werd.

`SystemShell`

- De omgevingsvariabele `SHELL` voor alle programma's, uitgezonderd de `Session`.

  De standaard is /bin/sh.

`UserAuthDir`

- Wanneer &kdm; niet naar het standaard autorisatie-bestand van de gebruiker ($`HOME`/.Xauthority) kan schrijven, creëert het een uniek bestand in deze directory en verwijst de omgevingsvariabele `XAUTHORITY` naar dat bestand.

  De standaard is /tmp.

`ForceUserAuthDir`

- Indien waar, `UserAuthDir` zal zonder voorwaarde wordem gebruikt.

  De standaard is false.

`AutoReLogin`

- Als deze optie ingeschakeld is, herstart &kdm; automatisch een sessie na een &X-Server;-crash (of na uitschakelen met Alt-Ctrl-BackSpace). Opmerking: Het inschakelen van deze functie is een veiligheidsrisico: een veilige display-vergrendeling kan gekraakt worden (behalve als de ingebouwde schermvergrendeling van &kde; gebruikt wordt).

  De standaard is false.

`AllowRootLogin`

- Als deze optie uitgeschakeld is, hebben `root` (en iedere andere gebruiker met UID = 0) geen toestemming om zich rechtstreeks aan te melden.

  De standaard is true.

`AllowNullPasswd`

- Als deze optie uitgeschakeld is, kunnen alleen gebruikers die een wachtwoord hebben zich aanmelden.

  De standaard is true.

`AllowShutdown`

- Bepaalt wie toestemming heeft om het systeem af te sluiten. Dit heeft betrekking op zowel het begroeting- als op de commando-socket.

  `None`

- het optie Afsluiten... wordt niet in het venster getoond

`Root`

- het wachtwoord van `root` moet ingetypt worden om af te kunnen sluiten

`All`

- iedereen kan de computer uitschakelen

De standaard is All.

`AllowSdForceNow`

- Bepaalt wie toestemming heeft om actieve sessies af te breken bij het afsluiten.

  `None`

- er is totaal geen toestemming om afsluiten te kunnen forceren

`Root`

- het wachtwoord van `root` moet ingetypt worden om afsluiten te kunnen forceren

`All`

- iedereen het kan het afsluiten van de computer forceren

De standaard is All.

`DefaultSdMode`

- De standaardkeuze voor voorwaarden/tijdstip om af te sluiten.

  `Schedule`

- afsluiten nadat alle actieve sessies beëindigd zijn (indien mogelijk direct)

`TryNow`

- afsluiten als er geen actieve sessies open zijn, anders niets doen

`ForceNow`

- onvoorwaardelijk afsluiten

De standaard is Schedule.

`ScheduledSd`

- Bepaalt hoe geplande afsluitopties aangeboden worden:

  `Never`

- helamaal niet

`Optional`

- als knop in het eenvoudige afsluitvenster

`Always`

- in plaats van de eenvoudige afsluitvensters

De standaard is Never.

`NoPassEnable`

- Maakt aanmeldingen zonder wachtwoord op deze display mogelijk. Wees hier zeer voorzichtig mee!

  De standaard is false.

`NoPassUsers`

- Bepaalt welke gebruikers zich zonder wachtwoord kunnen aanmelden. Items die voorafgegaan worden door `@`: alle gebruikers in de gebruikersgroep met die naam. `*`: alle gebruikers, uitgezonderd `root` (en iedere andere gebruiker met UID = 0). Zet `root` nooit in deze lijst.

  Standaard leeg

`AutoLoginEnable`

- Schakelt automatisch aanmelden in. Wees hier zeer voorzichtig mee!

  De standaard is false.

`AutoLoginAgain`

- Als deze optie ingeschakeld is, volgt na afmelden een automatische aanmelding. Als de optie uitgeschakeld is, volgt automatisch aanmelden alleen wanneer een display-sessie gestart wordt.

  De standaard is false.

`AutoLoginDelay`

- De wachttijd in seconden voordat de automatische aanmelding plaats vindt. Dit heet ook wel Timed Login.

`AutoLoginUser`

- Specificeert de naam van de gebruiker die automatisch aangemeld wordt. Specificeer hier nooit `root`!

  Standaard leeg

`AutoLoginPass`

- Specificeert het wachtwoord voor de gebruiker die automatisch aangemeld wordt. Dit is niet vereist, met uitzondering van gebruikers die in een NIS of Kerberos-domein aangemeld zijn. Als u deze optie gebruikt, moet u vanzelfsprekend het commando `chmod `600` `kdmrc`` uitvoeren.

  Standaard leeg

`AutoLoginLocked`

- Bepaalt dat de automatisch gestarte sessie onmiddellijk vergrendeld wordt. Dit werkt alleen met KDE-sessies.

  De standaard is false.

`SessionsDirs`

- Een lijst met mappen die definities van sessie-typen bevatten. Geordend volgens afnemende prioriteit.

  De standaard is ${`kde_datadir`}/kdm/sessions.

`ClientLogFile`

- Het bestand (relatief tot uw persoonlijke map) om de sessieuitvoer naar om te leiden.

  De volgende tekenparen worden vervangen door hun waarde:

  `%d`

- naam van het huidige scherm

`%u`

- aanmeldnaam van de hudige gebruiker

`%r`

- eerst leeg. Zie hieronder.

`%%`

- een enkele `%`

Wanneer de geconstrueerde bestandsnaam niet veilig kan worden gebruikt en de specificatie bevat een `%``iets` `r`, dan worden andere namen geprobeerd - deze keer wordt `%``iets` `r` naar vervangen door `iets` gevolgd door een willekeurig getal.

De standaard is .xsession-errors.

`ClientLogFallback`

- Terugval wanneer `ClientLogFile` niet worden gebruikt. Dezelfde vervangingen worden ondersteund. Gebruik hier geen relatieve paden.

  De standaard is /tmp/xerr-%u-%d%-r.

`UseSessReg`

- Specificeert of &kdm;'s ingebouwde registratie in utmp/wtmp/lastlog gebruikt moet worden. Zo niet, dan moet het commando `sessreg` in de `Startup`- en `Reset`-scripts gebruikt worden, of anders, moet de pam_lastlog-module gebruikt worden op systemen waarop PAM ingeschakeld is.

  De standaard is true.

### De sectie-klasse [X-*-Greeter] van &kdmrc;

Deze sectie-klasse bevat opties met betrekking tot de configuratie van de &kdm;-frontend (greeter).

`GUIStyle`

- Specificeert de widget-stijl voor het begroetingsvenster. Leeg betekent dat de ingebouwde standaard gebruikt wordt, `Oxygen-air`.

  Standaard leeg

`ColorScheme`

- Specificeert de widget-kleurschema voor het begroetingsvenster. Leeg betekent dat de ingebouwde standaard gebruikt wordt, `Oxygen-air`.

  Standaard leeg

`LogoArea`

- Bepaalt wat er in het venster, rechts van de input-regels (als `UserList` uitgeschakeld is) of erboven (als `UserList` ingeschakeld is):

  `None`

- nothing

`Logo`

- de afbeelding die gespecificeerd is door `LogoPixmap`

`Clock`

- een handige analoge klok

De standaard is Clock.

`LogoPixmap`

- De afbeelding die in het venster getoond wordt als `LogoArea` `Logo` is.

  Standaard leeg

`GreeterPos`

- De relatieve coördinaten (percentages van de schermafmetingen; X,Y) waar het midden van het venster geplaatst wordt. &kdm; lijnt het venster uit aan de randen van het scherm als het er buiten zou vallen.

  De standaard is 50,50.

`GreeterScreen`

- Bepaalt op welk scherm het venster weergegeven moet worden op systemen met meerdere monitors en op Xinerama-systemen. De nummering begint bij 0. Voor Xinerama geldt dat het correspondeert met de lijstvolgorde in de actieve ServerLayout-sectie van XF86Config; -1 betekent dat het scherm linksboven gebruikt wordt, -2 betekent dat het scherm rechtsboven gebruikt wordt.

`GreetString`

- De kopregel in het venster. Een lege string betekent geen kopregel.

  De volgende tekenparen worden vervangen dor hun waarde:

  `%d`

- naam van de huidige display

`%h`

- lokale host-naam, eventueel met de domeinnaam

`%n`

- lokale node-naam, hoogstwaarschijnlijk de host-naam zonder de domein-naam

`%s`

- besturingssysteem

`%r`

- versienummer van het besturingssysteem

`%m`

- hardware-type

`%%`

- een enkele `%`

De standaard is Welcome to %s at %n.

`AntiAliasing`

- Bepaalt of anti-aliasing op de lettertypen in het venster toegepast moet worden.

  De standaard is false.

`GreetFont`

- Het lettertype voor de kopregel in het begroetingsvenster. De waarde is gecodeerd.

  De standaard is Serif 20pt vet.

`StdFont`

- Het normale lettertype in het begroetingsvenster. De waarde is gecodeerd.

  De standaard is Sans Serif 10pt.

`FailFont`

- Het lettertype dat voor de foutmelding Aanmelden mislukt gebruikt wordt. De waarde is gecodeerd.

  De standaard is Sans Serif 10pt vet.

`NumLock`

- Bepaalt wat er met de NumLock gedaan moet worden gedurende de tijd dat het begroetingsvenster geopend is:

  `Off`

- uitzetten

`On`

- aanzetten

`Keep`

- niets veranderen

De standaard is Keep.

`Language`

- Bepaalt de taal- en de landinstellingen voor het begroetingsvenster, gecodeerd als $`LANGUAGE`. Indien leeg, wordt de instelling uit de omgeving gebruikt.

  Standaard leeg

`UserCompletion`

- Schakelt automatisch aanvullen in het tekstvak van de gebruikersnaam in.

  De standaard is false.

`UserList`

- Toont een gebruikerslijst met unix-login-namen, echte namen en afbeeldingen in het venster.

  De standaard is true.

`ShowUsers`

- Deze optie bepaalt welke gebruikernamen in de lijst voorkomen (`UserList`) en/of de naam automatisch aangevuld wordt (`UserCompletion`). Bij `Selected` bevat `SelectedUsers` de uiteindelijke lijst met gebruikers. Bij `NotHidden` bevat de lijst aanvankelijk alle gebruikers die in het systeem gevonden worden. Gebruikers die vermeld zijn bij `HiddenUsers` worden uit de lijst verwijderd, net als alle gebruikers met een hogere UID dan gespecificeerd is bij `MaxShowUID` en gebruikers met een lagere UID (maar geen nul) dan gespecificeerd is bij `MinShowUID`. Items bij `SelectedUsers` en `HiddenUsers` die voorafgegaan worden door `@` representeren alle gebruikers in de gebruikersgroep met die naam. De gebruikerslijst wordt alfabetisch gesorteerd als `SortUsers` ingeschakeld is.

  De standaard is NotHidden.

`SelectedUsers`

- Zie `ShowUsers`.

  Standaard leeg

`HiddenUsers`

- Zie `ShowUsers`.

  Standaard leeg

`MinShowUID`

- Zie `ShowUsers`.

`MaxShowUID`

- Zie `ShowUsers`.

  De standaard is 65535.

`SortUsers`

- Zie `ShowUsers`.

  De standaard is true.

`FaceSource`

- Als `UserList` ingeschakelkd is, specificeert deze optie waar &kdm; de afbeeldingen vandaan haalt.

  `AdminOnly`

- uit `<`FaceDir`>/$`USER`.face[.icon]`

`PreferAdmin`

- de voorkeur is <`FaceDir`>, terugvallen op $`HOME`

`PreferUser`

- ... en andersom

`UserOnly`

- uit de gebruikers `$`HOME`/.face[.icon]`

De afbeeldingen kunnen elk bestandstype hebben dat door Qt herkend wordt, maar de bestandsnamen moeten aan de verwachtingen van &kdm; voldoen: `.face.icon` moet een pictogram van 48x48 zijn, terwijl `.face` een afbeelding van 300x300 moet zijn. Op dit moment wordt de grote afbeelding alleen (verkleind) gebruikt als er geen pictogram is, maar in de toekomst wordt het misschien in het logogebied of in een helpballon weergegeven. Om toegankelijk te zijn voor &kdm;, moeten de afbeeldingen leesbaar zijn voor de iedereen en de mappen waarin ze verblijven moet voor iedereen executable zijn.

De standaard is AdminOnly.

`FaceDir`

- Zie `FaceSource`.

  De standaard is ${`kde_datadir`}/kdm/faces.

`PreselectUser`

- Specificeert of er een gebruiker, en zo ja, welke gebruiker, voorgeselecteerd moet worden om zich aan te melden:

  `None`

- geen gebruiker voorselecteren

`Previous`

- de gebruiker die zich de laatste keer succesvol heeft aangemeld

`Default`

- de gebruiker die bij de optie `DefaultUser` gespecificeerd is

Als de optie `FocusPasswd` ingeschakeld is en er een gebruiker voorgeselecteerd is, wordt de cursor automatisch in het wachtwoordveld geplaatst.

Inschakelen dat een gebruiker voorgeselecteerd wordt, kan een veilgheidsrisico zijn, omdat een mogelijke kraker een geldige gebruikersnaam te zien krijgt en er alleen een wachtwoord geraden hoeft te worden. Aan de andere kant is het mogelijk om bij de optie `DefaultUser` een niet-bestaande gebruikersnaam in te vullen.

De standaard is None.

`DefaultUser`

- Zie `PreselectUser`.

  Standaard leeg

`FocusPasswd`

- Zie `PreselectUser`.

  De standaard is false.

`EchoPasswd`

- Als dit waar is dan worden ingevoerde wachtwoorden geëchood als punten. Anders wordt er geen terugkoppeling gegeven.

  De standaard is true.

`UseBackground`

- Als deze optie ingeschakeld is, start &kdm; automatisch het programma `krootimage` om de achtergrond in te stellen; anders wordt de achtergrond ingesteld door het programma `Setup`.

  De standaard is true.

`BackgroundCfg`

- Het configuratiebestand dat door `krootimage` gebruikt wordt. Het bevat een sectie `[Desktop0]` net als in `kdesktoprc`. Deze opties worden hier niet besschreven; u kunt de betekenis raden of het configuratiecentrum gebruiken.

  De standaard is ${`kde_confdir`}/kdm/backgroundrc.

`GrabInput`

- Om de veiligheid te vergroten, kan de begroetingspagina de invoer van muis en toetsenbord pakken zodat geen andere X-clients deze kan afluisteren. Hoewel, het X-authorisatiemechanisme gewoonlijk zal voorkomen dat foute X-clients überhaupt een verbinding kunnen maken. Het gevolg is dat locale schermen pakken geen zin heeft en alleen marginaal de beveiliging verbeterd wordt voor schermen op afstand.

  Het pakken van de muis maakt een toetsenbord op het scherm onbruikbaar.

  `Never`

- nooit pakken

`IfNoAuth`

- pakken als een scherm op afstand geen X-autorisatie vereist

`Always`

- altijd pakken

De standaard is IfNoAuth.

`GrabServer`

- Om de veiligheid te verbeteren pakt het begroetingsvenster bij het opstarten de &X-Server; en daarna de invoer. Deze optie specificeert of de &X-Server; gepakt blijft gedurende het lezen van de gebruikersnaam en het wachtwoord. Als de optie uitgeschakeld is, wordt de &X-Server; losgelaten zodra de invoer gepakt wordt; anders wordt de &X-Server; losgelaten net voordat de sessie begint.

  Als deze optie ingeschakeld wordt, worden de opties `UseBackground` en `Setup` uitgeschakeld.

  De standaard is false.

`GrabTimeout`

- Deze optie specificeert hoe lang &kdm; maximaal wacht tot het vasthouden gelukt is. Vasthouden kan mislukken als een andere X-client de &X-Server; of het toetsenbord vasthoudt, of als het netwerk traag reageert. Wees voorzichtig met het verlengen van de time-out, een gebruiker kan bedrogen worden door een nep-venster op de display. Als het vashouden mislukt, sluit &kdm; de &X-Server; af en herstart hem (indien mogelijk) en de sessie.

  De standaard is 3.

`AuthComplain`

- Geeft een waarschuwing als een display geen X-autorisatie heeft. Dit kan komen doordat

  - het autorisatie-bestand voor een lokale &X-Server; niet gecreëerd kon worden,

  - een display op afstand via &XDMCP; geen autorisatie heeft aangevraagd of

  - de display een vreemde display is, die gespecificeerd is bij `StaticServers`.

  De standaard is true.

`LoginMode`

- Specificeert of het begroetingsvenster van lokale displays in host chooser-modus (op afstand) of login-modus (lokaal) moet opstarten en of het toegestaan is naar de andere modus over te schakelen.

  `LocalOnly`

- alleen lokale aanmelding is mogelijk

`DefaultLocal`

- start in lokale modus, het is toegestaan om naar de modus op afstand over te schakelen

`DefaultRemote`

- ... en andersom

`RemoteOnly`

- alleen de keuze van een host op afstand is mogelijk

De standaard is LocalOnly.

`ChooserHosts`

- Een lijst met hosts die aautomatisch aan het aanmeldmenu worden toegevoegd. De speciale naam `*` betekent broadcast. Heeft geen effect als de optie `LoginMode` `LocalOnly` is.

  de standaard is *.

`ForgingSeed`

- Gebruik dit getal als beginwaarde voor een serie willekeurige getallen bij het vervalsen van opgeslagen sessie-typen, enzovoort, van onbekende gebruikers. Dit wordt gedaan om te voorkomen dat een kraker, door terug te redeneren, iets te weten komt over bestaande gebruikers. Deze waarde moet willekeurig zijn, maar constant binnen het aanmelddomein.

`ShowLog`

- Schakelt het ingebouwde commando `xconsole` van &kdm; in. Deze optie kan alleen voor één display tegelijk ingeschakeld worden. Bovendien is deze optie alleen beschikbaar als &kdm; ge-`configure`d is met de optie `--enable-kdm-xconsole`.

  De standaard is false.

`LogSource`

- De gegevensbron voor het ingebouwde commando `xconsole` van &kdm;. Als de waarde leeg is, wordt doorsturen van een console-log aangevraagd van `/dev/console`. Heeft geen effect als de optie `ShowLog` uitgeschakeld is.

  Standaard leeg

`PluginsLogin`

- Specificeert de gesprek-plugins voor het aanmeldvenster; aanvankelijk wordt de eerste in de lijst geselecteerd. Elke plugin kan gespecificeerd worden als een basisnaam (die wordt uitgebreid tot `$`kde_modulesdir`/kgreet_`base``) of met het volledige pad.

  Gesprek-plugins zijn modules voor het begroetingsvenster die de authenticatie-gegevens van de gebruiker opvragen. Op dit moment wordt alleen de plugin `classic` met &kde; meegeleverd; deze plugin levert de bekende tekstvelden voor gebruikersnaam en wachtwoord.

  De standaard is classic.

`PluginsShutdown`

- Hetzelfde als `PluginsLogin`, maar dan voor het afsluitvenster.

  De standaard is classic.

`PluginOptions`

- Een lijst met opties met de indeling `Sleutel``=``Waarde`. De gesprek-plugins kunnen deze instellingen opvragen, het is afhankelijk van de plugins wat de mogelijke sleutels zijn.

  Standaard leeg

`AllowConsole`

- Toont de actie Console aanmelding in het begroetingsvenstr (als de optie `ServerTTY`/`ConsoleTTYs` geconfigureerd is).

  De standaard is true.

`AllowClose`

- Toont de actie X-Server herstarten/Verbinding sluiten in het begroetingsvenster.

  De standaard is true.

`Preloader`

- Een programma dat gedraaid wordt terwijl het begroetingsvenster zichtbaar is. Het is bedoeld om tevoren al zo veel mogelijk te laden van de sessie die (hoogstwaarschijnlijk) gestart gaat worden.

  Standaard leeg

`UseTheme`

- Of het begroetingsvenster met thema wilt gebruiken. Merk op dat de begroeting met thema vanwege zijn toegankelijkheid onder vuur ligt en thema's mogelijk geen ondersteuning hebben voor functies zoals een gebruikerslijst of alternatieve authenticatiemethoden.

  De standaard is false.

`Theme`

- Het thema dat voor het venster gebruikt moet worden. Dit kan naar een directory of een XML-bestand wijzen.

  Standaard leeg

`AllowThemeDebug`

- Schakel de Alt-Ctrl-D sneltoets in om het debugging-thema van het begroetingsscherm om te schakelen.

  De standaard is false.

## Permanente &X-Server;s specificeren

Elk item in de lijst `StaticServers` geeft een display aan die constant beheerd moet worden en die geen &XDMCP; gebruikt. Deze methode wordt in de regel alleen gebruikt voor lokale &X-Server;s die door &kdm; gestart worden, maar &kdm; kan ook vreemde &X-Server;s (die extern opgestart zijn) beheren, of ze nu op de lokale of op een andere computer draaien.

De formele syntax van een specificatie is

    display name [_display class]

voor alle &X-Server;s. Vreemde displays zijn afwijkend, deze hebben een host-naam in de display-naam, dit kan `localhost` zijn.

De `display-naam` moet iets zijn dat in de optie `-display` aan een X-programma doorgegeven kan worden. Deze string wordt gebruikt om de display-specifieke sectie-naam te genereren, let er dus op dat de namen overeenkomen. De display-naam van &XDMCP;-displays wordt afgeleid van het adres van de display door de host-naam te "vertalen". Voor configuratie-doeleinden wordt het voorvoegsel `localhost` van lokale &XDMCP;-displays niet verwijderd om ze van lokale &X-Server;s, die door &kdm; gestart, zijn te onderscheiden.

Het deel `display-klasse` wordt ook in de display-specifieke secties gebruikt. Dit is nuttig als u een grote hoeveelheid gelijksoortige displays (zoals een serie X-terminals) hebt, en opties voor een hele groep tegelijk wilt instellen. Wanneer de display &XDMCP; gebruikt, moet deze de display-klasse specificeren, de handleiding voor deze bepaalde X-terminal moet dus de string van de display-klasse voor het device beschrijven. Als dit niet het geval is, kunt u &kdm; in debug-modus draaien en het commando `grep` op het logbestand loslaten om de class te vinden.

De displays die gespecificeerd is bij `ReserveServers` wordt niet gestart wanneer &kdm; opstart, maar wanneer er expliciet om gevraagd wordt via de commando-socket. Als er reserve displays gespecificeerd zijn, heeft het &kde;-menu onderin een item Nieuwe sessie starten; dit kunt u gebruiken om een reserve-display met een nieuwe sessie te activeren. De monitor schakelt over naar de nieuwe display en u hebt een minuut de tijd om u aan te melden. Als er geen reserve-displays meer beschikbaar zijn, wordt het menu-item uitgeschakeld.

Wanneer &kdm; een sessie start, worden de autorisatie-gegevens voor de &X-Server; ingesteld. Voor lokale servers geeft &kdm; de optie ``-auth` ``filename``` door aan de commandoregel van de &X-Server; om deze naar de autorisatie-gegevens te wijzen. Voor &XDMCP;-displays geeft &kdm; autorisatie-gegevens door aan de &X-Server; via het bericht Accept van &XDMCP;.

## Beheer van &XDMCP;-toegang

Het bestand dat gespecificeerd wordt door de optie `AccessFile` levert informatie die &kdm; gebruikt om toegang te beheren van displays die diensten aanvragen via &XDMCP;. Het bestand bevat vier typen items: items die het antwoord op Direct- en Broadcast-aanvragen beheren, items die het antwoord op Indirect-aanvragen beheren, macro-definities en items die bepalen op welke netwerk-interfaces &kdm; naar &XDMCP;-aanvragen luistert. Lege regels worden genegeerd, `#` wordt als het begin van een commentaar beschouwd, waardoor de rest van die regel genegeerd wordt, door `\` wordt een onmiddellijk daaropvolgende nieuwe regel genegeerd, waardoor lijsten met hosts uit meerdere regels kunnen bestaan.

De indeling van de Direct-items is eenvoudig, een host-naam of een patroon dat vergeleken wordt met de host-naam van het display-device. Als alternatief kan een macro gebruikt worden om het item te laten overeenkomen met alles waar de macro door wordt vervangen. Patronen worden onderscheiden van host-namen doordat er één of meer meta-tekens in voorkomen; `*` komt overeen met een reeks van 0 of meer tekens, en `?` komt overeen met een willekeurig teken. Als het item een host-naam is, wordt deze vergeleken met netwerkadressen, elke willekeurige naam die in het juiste netwerkadres omgezet kan worden, kan dus gebruikt worden. Houd er rekening mee dat alleen het eerste geretourneerde netwerkadres voor een host-naam gebruikt wordt. Patronen worden alleen met "echte" host-namen vergeleken, gebruik dus geen aliassen. Host-namen van &XDMCP;-aanvragen bevatten altijd de lokale domeinnaam, zelfs als na omgekeerd terugzoeken een korte naam gevonden wordt, u kunt dus patronen gebruiken voor het lokale domein. Als een item voorafgegaan wordt door het teken `!`, worden hosts die met dat item overeenkomen uitgesloten. Het laten voorafgaan door een `=` heeft geen effect maar is vereist wanneer een macro wordt gespecificeerd om het item te onderscheiden van een macrodefinitie. Om alleen op Direct-aanvragen voor een host of patroon te antwoorden, kan het optionele sleutelwoord `NOBROADCAST` eraan toegevoegd worden. Dit kan gebruikt worden om te voorkomen dat er een &kdm;-server in menu's, die gebaseerd zijn op Broadcast-aanvragen, verschijnt.

Een Indirect-item bevat ook een host-naam, macro of patroon, maar wordt gevolgd door een lijst met host-namen of macro's waarnaar de aanvragen moeten worden doorgestuurd. Indirect-items kunnen ook adressen uitsluiten, in dat geval moet een (geldige) dummy host-naam gegeven worden om het item te onderscheiden van een Direct-item. Als er met IPv6-ondersteuning gecompileerd is, kunnen multicast adresgroepen in de adressenlijst, waar de aanvragen naar doorgestuurd worden, opgenomen worden. Als de indirecte host-lijst het sleutelwoord `CHOOSER` bevat, worden Indirect-aanvragen niet doorgestuurd, in plaats daarvan wordt een dialoogvenster, de host chooser, door &kdm; geopend. De chooser stuurt een Direct-aanvraag naar elk van de resterende host-namen in de lijst en geeft een menu met alle hosts die antwoorden. De host-lijst kan het sleutelwoord `BROADCAST` bevatten, om de chooser ook een Broadcast-aanvraag te laten versturen. Opmerking: op sommige besturingssystemen kunnen UDP-pakketten niet ge-broadcast worden, in dat geval werkt deze functie niet.

Bij het controleren van de toegang voor een bepaalde display-host, wordt elk item bekeken en het eerste overeenkomende item bepaalt het antwoord. Direct- en Broadcast-items worden genegeerd wanneer naar een Indirect-item gezocht wordt, en omgekeerd.

Een macro-definitie bevat een macro-naam en een lijst met host-namen en andere macro's waar de macro naar uitgebreid wordt. Om macro's van host-namen te onderscheiden, begint een macro-naam met het teken `%`.

Het laatste itemtype is de `LISTEN`-richtlijn. De formele syntax is

     LISTEN [interface [multicast list]]

Als er één of meer regels bij `LISTEN` gespecificeerd zijn, luistert &kdm; alleen naar &XDMCP;-aanvragen op de gespecificeerde interfaces. `interface` kan een host-name of IP-adres zijn dat een netwerk-interface op deze computer representeert of het jokerteken `*` dat alle beschikbare netwerk-interfaces representeert. Als er multicast-groep-adressen op een `LISTEN`-regel vermeld worden, maakt &kdm; verbinding met de multicast-groepen op de gegeven interface. Voor IPv6-multicasts heeft de IANA ff0`X`:0:0:0:0:0:0:12b toegewezen als het permanent toegewezen bereik van multicast-adresen voor &XDMCP;. De `X` in het voorvoegsel kan vervangen worden door elke geldige scope-identifier, zoals 1 voor Node-Local, 2 voor Link-Local, 5 voor Site-Local, enzovoort (zie IETF RFC 2373 of het vervangende document voor verdere details en scope-definities). &kdm; luistert standaard naar het Link-Local scope-adres ff02:0:0:0:0:0:0:12b om zo goed mogelijk het gedrag van IPv4-subnet-broadcast te laten overeenkomen. Als er geen `LISTEN`-regels ingevuld zijn, luistert &kdm; op alle interfaces en maakt verbinding met de standaard &XDMCP; IPv6-multicast-groep (wanneer gecompileerd is met IPv6-ondersteuning). Om het luisteren naar &XDMCP;-aanvragen helemaal uit te schakelen, kan een `LISTEN`-regel zonder adressen gespecificeerd worden, maar de optie `[Xdmcp]` `Enable` heeft de voorkeur.

## Aanvullende programma's

De volgende programma's worden door &kdm; gedraaid in de diverse stadia van een sessie. In de regel zijn dit shell-scripts.

De programma's Setup, Startup en Reset worden als `root` gedraaid, ze moeten dus voorzichtig met de beveiligin omgaan. Het eerste argument dat aan deze programma's meegegeven wordt, is `auto` als de sessie het resultaat is van automatische aanmelding; in alle andere gevallen worden er geen argumenten meegegeven.

### Het Setup-programma

Het programma `Xsetup` wordt gedraaid nadat de &X-Server; gestart of ge-reset is, maar voordat het begroetingsvenster geopend is. Dit is de aangewezen plaats om de root-achtergrond te wijzigen (als `UseBackground` uitgeschakeld is) of om een ander venster te openen dat samen met het begroetingsvenster moet verschijnen. Hulpmiddelen voor dit programma kunnen in het bestand genaamd `Resources` worden gezet.

In aanvulling op de omgevingsvariabelen die door `ExportList` gespecificeerd zijn, worden de volgende omgevingsvariabelen doorgegeven:

DISPLAY

- de naam van de geassocieerde display

PATH

- de waarde van `SystemPath`

SHELL

- de waarde van `SystemShell`

XAUTHORITY

- kan naar een autorisatie-bestand wijzen

DM_CONTROL

- de waarde van `FifoDir`

`GrabInput` kan er voor zorgen dat &kdm; het toetsenbord en de muis pakt, waardoor andere vensters geen invoer kunnen ontvangen. Als `GrabServer` is ingesteld, zal `Xsetup` helemaal niet in staat zijn om een verbinding met het scherm te maken.

### Het Startup-programma

Het programma `Xstartup` wordt als `root` gedraaid wanneer de gebruiker zich aanmeldt. Dit is de aangewezen plaats voor commando's die items toevoegen aan `utmp` (het programma `sessreg` kan hier nuttig zijn), voor het aankoppelen van home-directory's van bestandsservers, of om de sessie af te breken als er niet aan alle vereisten voldaan is (maar op de meeste moderne systemen worden de meeste van deze taken gedaan door de PAM-modules).

In aanvulling op de omgevingsvariabelen die door `ExportList` gespecificeerd zijn, worden de volgende omgevingsvariabelen doorgegeven:

DISPLAY

- de naam van de geassocieerde display

HOME

- de aanvankelijke werk-directory van de gebruiker

LOGNAME

- de gebruikersnaam

USER

- de gebruikersnaam

PATH

- de waarde van `SystemPath`

SHELL

- de waarde van `SystemShell`

XAUTHORITY

- kan naar een autorisatie-bestand wijzen

DM_CONTROL

- de waarde van `FifoDir`

kdm; wacht tot dit programma stopt, daarna wordt de sessie van de gebruiker gestart. Als de stop-waarde van dit programma niet-nul is, breekt &kdm; de sessie af en begint een nieuwe authenticatie-cyclus.

### Het Session-programma

Het programma `Xsession` wordt als de sessie van de gebruiker gedraaid. Het draait met de toegangsrechten van de gemachtigde gebruiker. Als eerste argument wordt één van de sleutelwoorden `failsafe`, `default` of `custom` meegegeven, of een string waar een Bourne-compatibele shell het commando `eval` op uitvoert.

In aanvulling op de omgevingsvariabelen die door `ExportList` gespecificeerd zijn, worden de volgende omgevingsvariabelen doorgegeven:

DISPLAY

- de naam van de geassocieerde display

HOME

- de aanvankelijke werk-directory van de gebruiker

LOGNAME

- de gebruikersnaam

USER

- de gebruikersnaam

PATH

- de waarde van `UserPath` (of `SystemPath` voor `root` gebruikers-sessies)

SHELL

- de standaard shell van de gebruiker

XAUTHORITY

- hiervoor kan een niet-standaard autorisatie-bestand gebruikt worden

KRBTKFILE

- hiervoor kan een Kerberos4 credentials-cache-naam gebruikt worden

KRB5CCNAME

- hiervoor kan een Kerberos5 credentials-cache-naam gebruikt worden

DM_CONTROL

- de waarde van `FifoDir`

XDM_MANAGED

- bevat een door komma's gescheiden lijst met parameters die interessant kunnen zijn voor de sessie, zoals welke gesprek-plugin voor de aanmelding werd gebruikt

DESKTOP_SESSION

- de naam van de sessie die de gebruiker heeft gekozen

### Het Reset-programma

Het programma `Xreset` wordt, symmetrisch met het programma `Xstartup`, gedraaid nadat de sessie is afgesloten. Het wordt gedraaid als `root`, het moet daarom commando's bevatten die de effecten van de commando's in `Xstartup` ongedaan maken, items uit `utmp` verwijderen of directory's van bestands-servers ontkoppelen.

De omgevingsvariabelen die aan `Xstartup` werden doorgegeven, worden ook doorgegeven aan `Xreset`.