<para>In dit hoofdstuk worden de bestanden beschreven die het gedrag van &tdm; besturen. Een aantal opties kunnen ook in de &kcontrol;-module ingesteld worden, maar niet allemaal.</para>
<title>&tdmrc; - Het belangrijkste configuratiebestand van &tdm;</title>
<para>De basisopmaak van het bestand lijkt op <quote>INI-bestanden</quote>. 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 &tdm; niet-fatale foutmeldingen geeft.</para>
<para>Regels die met <literal>#</literal> beginnen zijn commentaren; lege regels worden ook genegeerd.</para>
<para>Secties worden aangegeven door <literal>[</literal><replaceable>Naam van sectie</replaceable><literal>]</literal>. </para>
<para>U kunt elke X-display individueel configureren.</para>
<para>Elke display heeft een display-naam, die uit een host-naam (die leeg is voor lokale displays die in <option>StaticServers</option> of <option>ReserveServers</option> gespecificeerd zijn), een dubbele punt en een display-nummer. Bovendien behoort een display tot display-klasse (die in de meeste gevallen genegeerd kan worden).</para>
<para>Secties met display-specifieke instellingen hebben de formele syntax <literal>[X-</literal> <replaceable>host</replaceable> [ <literal>:</literal> <replaceable>number</replaceable> [ <literal>_</literal> <replaceable>class</replaceable> ] ] <literal>-</literal> <replaceable>sub-section</replaceable> <literal>]</literal> </para>
<para>Alle secties met dezelfde <replaceable>sub-section</replaceable> vormen tezamen een sectie-klasse.</para>
<para>U kunt het jokerteken <literal>*</literal> gebruiken (komt overeen met elk willekeurig teken) voor <replaceable>host</replaceable>, <replaceable>number</replaceable>, en <replaceable>class</replaceable>. U kunt erna komende componenten weglaten; er wordt aangenomen dat die dan <literal>*</literal> zijn. Het host-deel kan een domein-specificatie als <replaceable>.inf.tu-dresden.de</replaceable> zijn of het jokerteken <literal>+</literal> (komt overeen met niet-lege plaatsen).</para>
<para>Een exacte overeenkomst heeft voorrang op een gedeeltelijke overeenkomst (voor het host-deel), die weer voorrang heeft op een jokerteken. (<literal>+</literal> heeft voorrang op <literal>*</literal>).</para>
<para>Algemeen gebruikte secties zijn [X-*] (alle displays), [X-:*] (alle lokale displays) en [X-:0] (de eerste lokale display).</para>
<para>De indeling van alle sleutels is <userinput><option><replaceable>key</replaceable></option> <literal>=</literal> <parameter>value</parameter></userinput>. 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. </para>
<para>Als een instelling niet gevonden wordt in een bijbehorende sectie, wordt de standaard gebruikt.</para>
<para>Speciale tekens moeten worden voorafgegaan door een backslash (spaties aan het begin en aan het eind van de regel (<literal>\s</literal>), tab (<literal>\t</literal>), nieuwe regel (<literal>\n</literal>), regelterugloop (<literal>\r</literal>) en de backslash zelf (<literal>\\</literal>)).</para>
<para>In lijsten worden velden gescheiden door komma's zonder spaties ertussen. </para>
<para>Sommige commando-strings worden op een vereenvoudigde sh-manier gesplitst: enkele aanhalingstekens (<literal>'</literal>) en dubbele aanhalingstekens (<literal>"</literal>) hebben de gangbare betekenis; de backslash haalt alles aan (niet alleen speciale tekens). Opmerking: de backslashes moeten verdubbeld worden vanwege de twee aanhalings-niveaus.</para>
<note><para>Een onaangeroerd &tdmrc;-bestand is voorzien van uitgebreide commentaren. Alle commentaren gaan verloren als u dit bestand met het K-Configuratiecentrum wijzigt.</para></note>
<para>Deze optie is er alleen om nette automatische upgrades mogelijk te maken. Wijzig dit <emphasis>in geen geval</emphasis>, u zou toekomstige upgrades in de war kunnen gooien en het resultaat kan zijn dat &tdm; niet meer werkt. </para>
<para>Lijst van displays (&X-Server;s) die permanent door &tdm; beheerd worden. Displays met een host-naam zijn "vreemde" displays, waarvan verwacht wordt dat ze al draaien, de andere zijn lokale displays waarvoor &tdm; een eigen &X-Server; start; zie <option>ServerCmd</option>. Elke display kan aan een display-klasse behoren; u kunt dit aan de display-naam toevoegen, gescheiden door een underscore. Zie <xref linkend="tdmrc-xservers"/> voor de details. </para>
<para>Lijst van Virtual Terminals om aan &X-Server;s toe te wijzen. Bij negatieve getallen wordt de absolute waarde gebruikt, de <acronym>VT</acronym> wordt alleen toegewezen als de kernel aangeeft dat deze vrij is. Als &tdm; deze lijst overschrijdt, worden vrije <acronym>VT</acronym>s toegewezen die een hogere waarde hebben dan de laatste absolute waarde in de lijst. Op dit moment alleen voor Linux. </para>
<para>Deze optie is voor besturingssystemen (<acronym>OS</acronym>-en) met ondersteuning voor virtuele terminals (<acronym>VT</acronym>'s), zowel door &tdm; als de <acronym>OS</acronym> zelf. Op dit moment geldt dit alleen voor Linux. </para><para>Wanneer &tdm; overschakelt naar de console-modus, begint het alle <acronym>TTY</acronym>'s te monitoren (zonder de voorafgaande <literal>/dev/</literal>). Als er geeneen gedurende een bepaalde tijd actief is, schakelt &tdm; terug naar het X-aanmeldscherm. </para>
<para>De gespecificeerde bestandsnaam wordt aangemaakt en bevat dan een ASCII-representatie van het proces-ID van het hoofdproces van &tdm;; de PID wordt niet opgeslagen als de bestandsnaam leeg is. </para>
<para>Deze optie geeft een naam aan de directory waarin &tdm; &X-Server;-autorisatie-bestanden opslaat bij het initialiseren van de sessie. &tdm; verwacht dat het systeem tijdens het rebooten verouderde bestanden uit deze directory verwijdert. </para><para>Het autorisatie-bestand, dat voor eenm bepaalde display gebruikt moet worden, kan gespecificeerd worden met de optie <option>AuthFile</option> in [X-*-Core]. </para>
<para>De standaard is <quote>/var/run/xauth</quote>.</para>
<para>Aanvullende omgevingsvariabelen die &tdm; mee moet geven aan alle programma's die het draait. <envar>LD_LIBRARY_PATH</envar> en <envar>XCURSOR_THEME</envar> zijn goede kandidaten; overigens zou dit niet vaak nodig moeten zijn. </para>
<para>Als het systeem geen eigen entropiebron, zoals /dev/urandom (zie <option>RandomDevice</option>) heeft, en er geen entropie-daemon, zoals EGD (zie <option>PrngdSocket</option> en <option>PrngdPort</option>) draait, valt &tdm; 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). </para><para>Deze optie is niet beschikbaar op Linux en diverse BSD's. </para>
<para>De standaard is <quote>/dev/mem</quote>.</para>
<para>Als het systeem geen eigen entropiebron, zoals /dev/urandom (zie <option>RandomDevice</option>) heeft, worden willekeurige gegevens van een Pseudo-Random Number Generator Daemon, zoals EGD (http://egd.sourceforge.net) via deze UNIX-domain-socket gelezen. </para><para>Deze optie is niet beschikbaar op Linux en diverse BSD's. </para>
<para>Het pad naar een character-device waarvanaf &tdm; de willekeurige gegevens moet lezen. Leeg betekent dat het geprefereerde entropy-device van het systeem gebruikt wordt, als dat er is. </para><para>Deze optie is niet beschikbaar op OpenBSD, dit gebruikt in plaats daarvan de functie arc4_random. </para>
<para>De directory waarin &tdm; blijvende werkgegevens moet opslaan; zulke gegevens zijn bijvoorbeeld: de vorige gebruiker die zich op een bepaalde display aangemeld had. </para>
<para>De standaard is <quote>/var/lib/tdm</quote>.</para>
<para>De directory waarin &tdm; de <filename>.dmrc</filename>-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). </para>
<para>Dit duidt het nummer van de UDP-port aan die &tdm; 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. </para>
<para>&XDMCP;-authenticatie op de manier van XDM-AUTHENTICATION-1 vereist dat een privésleutel gedeeld wordt door &tdm; 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. </para>
<para>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 <xref linkend="tdmrc-xaccess"/>. </para>
<para>De standaard is <quote>${<envar>kde_confdir</envar>}/tdm/Xaccess</quote>.</para>
<para>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. </para>
<para>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 &tdm;, als deze optie ingeschekeld is, het domein-naam deel van de host-naam als deze hetzelfde is als de domein-naam van de lokale host. </para>
<para>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. </para>
<para>De standaard is <quote>false</quote>.</para>
<para>Dit specificeert een programma dat gedraaid wordt (als <systemitem class="username">root</systemitem>) 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 <quote>Willing to manage</quote> verstuurd. </para>
<para>Het commando (de woorden in deze string worden, indien nodig, gesplitst) dat gedraaid wordt om het systeem te stoppen of geheel uit te schakelen. </para><para>De standaard is een commando dat gangbaar is voor het systeem waarop &tdm; gecompileerd werd, bijvoorbeeld <command>/sbin/shutdown <option>-h</option> <parameter>now</parameter></command>. </para>
<para>Het commando (de woorden in deze string worden, indien nodig, gesplitst) dat gedraaid wordt om het systeem te rebooten. </para><para>De standaard is een commando dat gangbaar is voor het systeem waarop &tdm; gecompileerd werd, bijvoorbeeld <command>/sbin/shutdown <option>-r</option> <parameter>now</parameter></command>. </para>
<para>Bepaalt of het toegestaan is om actieve sessies af te breken wanneer het systeem uitgeschakeld wordt door middel van het globale commando <acronym>FiFo</acronym>. </para><para>Dit heeft alleen effect als <option>AllowFifo</option> ingeschakeld is. </para>
<para>Deze opties besturen het gedrag van &tdm; wanneer geprobeerd wordt verbinding met een &X-Server; te maken. <option>OpenDelay</option> is de lengte van de pauze (in seconden) tussen opeenvolgende pogingen, <option>OpenRepeat</option> is het aantal pogingen dat gedaan wordt en <option>OpenTimeout</option> bepaalt hoe lang een poging om verbinding te maken duurt. Nadat <option>OpenRepeat</option> pogingen zijn gedaan, of als <option>OpenTimeout</option> seconden zijn verstreken bij een bepaalde poging, wordt de poging als mislukt beschouwd. </para>
<para>Bepaalt hoe vaak &tdm; moet proberen om een <literal>vreemde</literal> display, die vermeld is in <option>StaticServers</option>, 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 <option>-once</option> aan de &X-Server; was gegeven). </para>
<para>Het commando om de &X-Server; te starten, zonder display-nummer en VT-specificatie. De woorden in deze string worden, indien nodig, gesplitst. </para><para>De standaard is een gangbaar commando voor het systeem waarop &tdm; gecompileerd werd, bijvoorbeeld <command>/usr/X11R6/bin/X</command>. </para>
<para>De VT waarop de &X-Server; moet draaien. In plaats van deze optie kunt u beter <option>ServerVTs</option> gebruiken. Laat de waarde op nul staan om &tdm; automatisch een <acronym>VT</acronym> toe te wijzen. Zet de waarde op <literal>-1</literal> om te voorkomen dat er een <acronym>VT</acronym> toegewezen wordt - dit is vereist voor systemen met meerdere consoles. Op het moment alleen voor Linux. </para>
<para>Deze optie is voor <acronym>OS</acronym>-en (besturingssystemen) die geen ondersteuning hebben voor <acronym>VT</acronym>'s, noch door &tdm; of het <acronym>OS</acronym> zelf. Op het moment geldt dit voor alle <acronym>OS</acronym>-en, uitgezonderd Linux. </para><para>Wanneer &tdm; overschakelt naar de console-modus, begint het deze <acronym>TTY</acronym> (zonder de voorafgaande <literal>/dev/</literal>) te monitoren. Als er gedurende een bepaalde tijd geen activiteit is, schakelt &tdm; terug naar het X-aanmeldscherm. </para>
<para>Om te weten wanneer displays <emphasis>op afstand</emphasis> uitvallen, pingt &tdm; ze regelmatig. <option>PingInterval</option> specificeert de tijd (in minuten) tussen de pings en <option>PingTimeout</option> 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. </para><para>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. </para>
<para>Bepaalt of &tdm; 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. </para>
<para>De standaard is <quote>false</quote>.</para>
<para>Bepaalt of &tdm; autorisatie voor <emphasis>local</emphasis> &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. </para>
<para>Als de waarde van de optie <option>Authorize</option> 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. </para>
<para>De standaard is <quote>DEF_AUTH_NAME</quote>.</para>
<para>Sommige <emphasis>oude</emphasis> &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 &tdm; 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 &tdm; 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 </para>
<para>De standaard is <quote>false</quote>.</para>
<para>De commandoregel-optie <option>-auth</option> van de &X-Server; gebruikt dit bestand om de autorisatie-gegevens van &tdm; 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 <option>AuthDir</option> en de naam van het display. </para>
<para>Deze optie specificeert de naam van het bestand, dat door <command>xrdb</command> 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 <option>Setup</option> X-systeembronnen nodig heeft. </para>
<para>Het programma <command>xrdb</command> dat gebruikt moet worden om het bestand met de de X-systeembronnen te lezen, dit bestand wordt gespecificeerd in <option>Recources</option>. Het commando wordt, indien nodig, gesplitst. </para>
<para>De standaard is <quote>${<envar>x_bindir</envar>}/xrdb</quote>.</para>
<para>Deze string wordt, indien nodig, gesplitst. Hiermee wordt een programma gespecificeerd dat (als <systemitem class="username">root</systemitem>) 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 bijvoorbeeld een <command>xconsole</command> draaien). Gewoonlijk wordt hier <command>Xsetup</command> gebruikt. Zie <xref linkend="tdmrc-xsetup"/>. </para>
<para>Deze string wordt, indien nodig, gesplitst. Hiermee wordt een programma gespecificeerd dat (als <systemitem class="username">root</systemitem>) gedraaid wordt, nadat de gebruiker succesvol is aangemeld. Gewoonlijk wordt hier <command>Xstartup</command> gebruikt. Zie <xref linkend="tdmrc-xstartup"/>. </para>
<para>Deze string wordt, indien nodig, gesplitst. Hiermee wordt een programma gespecificeerd dat (als <systemitem class="username">root</systemitem>) gedraaid wordt, nadat de sessie afgesloten is. Gewoonlijk wordt hier <command>Xreset</command> gebruikt. Zie <xref linkend="tdmrc-xreset"/>. </para>
<para>Deze string 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 <command>Xsession</command> gebruikt. Zie <xref linkend="tdmrc-xsession"/>. </para>
<para>De standaard is <quote>${<envar>x_bindir</envar>}/xterm -ls -T</quote>.</para>
<para>Als het progamma <option>Session</option> niet uitgevoerd kan worden, valt &tdm; terug op dit programma. Dit programma wordt zonder argumenten , maar met dezelfde omgevingsvariabelen als de sessie zou hebben, uitgevoerd (zie <xref linkend="tdmrc-xsession"/>). </para>
<para>De standaard is <quote>${<envar>x_bindir</envar>}/xterm</quote>.</para>
<para>De omgevingsvariabele <envar>PATH</envar> voor niet-<systemitem class="username">root</systemitem> <option>Session</option>s. </para><para>De standaard is afhankelijk van het systeem waarop &tdm; gecompileerd werd. </para>
<para>De omgevingsvariabele <envar>PATH</envar> voor alle programma's, uitgezonderd niet-<systemitem class="username">root</systemitem> <option>Session</option>s. Opmerking: Het is een goede gewoonte om <literal>.</literal> (de huidige directory) in dit item op te nemen. </para><para>De standaard is afhankelijk van het systeem waarop &tdm; gecompileerd werd. </para>
<para>Wanneer &tdm; niet naar het standaard autorisatie-bestand van de gebruiker ($<envar> HOME</envar>/.Xauthority) kan schrijven, creëert het een uniek bestand in deze directory en verwijst de omgevingsvariabele <envar>XAUTHORITY</envar> naar dat bestand. </para>
<para>Als deze optie ingeschakeld is, herstart &tdm; 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). </para>
<para>De standaard is <quote>false</quote>.</para>
<para>Als deze optie uitgeschakeld is, hebben <systemitem class="username">root</systemitem> (en iedere andere gebruiker met UID = 0) geen toestemming om zich rechtstreeks aan te melden. </para>
<para>Bepaalt wie toestemming heeft om het systeem af te sluiten. Dit heeft betrekking op zowel het begroetingsvenster, als op het commando <acronym>FiFo</acronym>. </para>
<listitem><para>er is totaal geen toestemming om afsluiten te kunnen forceren</para></listitem>
</varlistentry>
<varlistentry>
<term><parameter>Root</parameter></term>
<listitem><para>het wachtwoord van <systemitem class="username">root</systemitem> moet ingetypt worden om afsluiten te kunnen forceren</para></listitem>
</varlistentry>
<varlistentry>
<term><parameter>All</parameter></term>
<listitem><para>iedereen het kan het afsluiten van de computer forceren</para></listitem>
<para>Bepaalt welke gebruikers zich zonder wachtwoord kunnen aanmelden. Items die voorafgegaan worden door <literal>@</literal>: alle gebruikers in de gebruikersgroep met die naam. <literal>*</literal>: alle gebruikers, uitgezonderd <systemitem class="username">root</systemitem> (en iedere andere gebruiker met UID = 0). Zet <systemitem class="username">root</systemitem> <emphasis>nooit</emphasis> in deze lijst. </para>
<para>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. </para>
<para>De standaard is <quote>false</quote>.</para>
<para>Specificeert de naam van de gebruiker die automatisch aangemeld wordt. Specificeer hier <emphasis>nooit</emphasis> <systemitem class="username">root</systemitem>! </para>
<para>Specificeert het wachtwoord voor de gebruiker die automatisch aangemeld wordt. Dit is <emphasis>niet</emphasis> vereist, met uitzondering van gebruikers die in een <acronym>NIS</acronym> of Kerberos-domein aangemeld zijn. Als u deze optie gebruikt, moet u vanzelfsprekend het commando <command>chmod <option>600</option> <filename>tdmrc</filename></command> uitvoeren. </para>
<para>Het bestand (in relatie tot de home-directory van de gebruiker) waarnaar de sessie-output doorgestuurd moet worden. Eén enkele <parameter>%s</parameter> in deze string wordt vervangen door de naam van de display. Om een <literal>%</literal> in te voegen moet u <parameter>%%</parameter> gebruiken. </para>
<para>De standaard is <quote>.xsession-errors</quote>.</para>
<para>Specificeert of &tdm;'s ingebouwde registratie in utmp/wtmp/lastlog gebruikt moet worden. Zo niet, dan moet het commando <command>sessreg</command> in de <option>Startup</option>- en <option>Reset</option>-scripts gebruikt worden, of anders, moet de pam_lastlog-module gebruikt worden op systemen waarop <acronym>PAM</acronym> ingeschakeld is. </para>
<para>Specificeert de widget-stijl voor het begroetingsvenster. Leeg betekent dat de ingebouwde standaard gebruikt wordt, op het moment is dit <literal>Plastik</literal>. </para>
<para>Specifuceert het widget-kleurenschema voor het begroetingsvenster. Leeg betekent dat de ingebouwde standaard gebruikt wordt, op het moment is dit geelgrijz met wat lichtblauwe en gele elementen. </para>
<para>Bepaalt wat er in het venster, rechts van de input-regels (als <option>UserList</option> uitgeschakeld is) of erboven (als <option>UserList</option> ingeschakeld is): </para>
<para>De relatieve coördinaten (percentages van de schermafmetingen; X,Y) waar het midden van het venster geplaatst wordt. &tdm; lijnt het venster uit aan de randen van het scherm als het er buiten zou vallen. </para>
<para>De standaard is <quote>50,50</quote>.</para>
<para>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. </para>
<para>De kopregel in het venster. Een lege string betekent geen kopregel. </para><para>De volgende tekenparen worden vervangen dor hun waarde: <variablelist>
<para>Deze optie bepaalt welke gebruikernamen in de lijst voorkomen (<option>UserList</option>) en/of de naam automatisch aangevuld wordt (<option>UserCompletion</option>). Bij <literal>Selected</literal> bevat <option>SelectedUsers</option> de uiteindelijke lijst met gebruikers. Bij <literal>NotHidden</literal> bevat de lijst aanvankelijk alle gebruikers die in het systeem gevonden worden. Gebruikers die vermeld zijn bij <option>HiddenUsers</option> worden uit de lijst verwijderd, net als alle gebruikers met een hogere UID dan gespecificeerd is bij <option>MaxShowUID</option> en gebruikers met een lagere UID (maar geen nul) dan gespecificeerd is bij <option>MinShowUID</option>. Items bij <option>SelectedUsers</option> en <option>HiddenUsers</option> die voorafgegaan worden door <literal>@</literal> representeren alle gebruikers in de gebruikersgroep met die naam. De gebruikerslijst wordt alfabetisch gesorteerd als <option>SortUsers</option> ingeschakeld is. </para>
<para>De standaard is <quote>NotHidden</quote>.</para>
<para>De afbeeldingen kunnen elk bestandstype hebben dat door Qt herkend wordt, maar de bestandsnamen moeten aan de verwachtingen van &tdm; voldoen: <literal>.face.icon</literal> moet een pictogram van 48x48 zijn, terwijl <literal>.face</literal> 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. </para>
<para>De standaard is <quote>AdminOnly</quote>.</para>
<para>Als de optie <option>FocusPasswd</option> ingeschakeld is en er een gebruiker voorgeselecteerd is, wordt de cursor automatisch in het wachtwoordveld geplaatst. </para>
<note><para>Inschakelen dat een gebruiker voorgeselecteerd wordt, kan een veilgheidsrisico zijn, omdat een mogelijke kraker een geldige gebruikersnaam te zien krijgt en er <quote>alleen</quote> een wachtwoord geraden hoeft te worden. Aan de andere kant is het mogelijk om bij de optie <option>DefaultUser</option> een niet-bestaande gebruikersnaam in te vullen.</para></note>
<para>Als deze optie ingeschakeld is, start &tdm; automatisch het programma <command>krootimage</command> om de achtergrond in te stellen; anders wordt de achtergrond ingesteld door het programma <option>Setup</option>. </para>
<para>Het configuratiebestand dat door <command>krootimage</command> gebruikt wordt. Het bevat een sectie <literal>[Desktop0]</literal> net als in <filename>kdesktoprc</filename>. Deze opties worden hier niet besschreven; u kunt de betekenis raden of het configuratiecentrum gebruiken. </para>
<para>De standaard is <quote>${<envar>kde_confdir</envar>}/tdm/backgroundrc</quote>.</para>
<para>Om de veiligheid te verbeteren houdt het begroetingsvenster bij het opstarten de &X-Server; en daarna het toetsenbord vast. Deze optie specificeert of de &X-Server; vastgehouden blijft gedurende het lezen van de gebruikersnaam en het wachtwoord. Als de optie uitgeschakeld is, wordt de &X-Server; losgelaten zodra het toetsenbord vastgehouden wordt; anders wordt de &X-Server; losgelaten net voordat de sessie begint. </para>
<note><para>Als deze optie ingeschakeld wordt, worden de opties <option>UseBackground</option> en <option>Setup</option> uitgeschakeld.</para></note>
<para>Deze optie specificeert hoe lang &tdm; 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 &tdm; de &X-Server; af en herstart hem (indien mogelijk) en de sessie. </para>
<para>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. </para>
<para>Een lijst met hosts die aautomatisch aan het aanmeldmenu worden toegevoegd. De speciale naam <literal>*</literal> betekent broadcast. Heeft geen effect als de optie <option>LoginMode</option> <literal>LocalOnly</literal> is. </para>
<para>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. </para>
<para>Schakelt het ingebouwde commando <command>xconsole</command> van &tdm; in. Deze optie kan alleen voor één display tegelijk ingeschakeld worden. Bovendien is deze optie alleen beschikbaar als &tdm; ge-<command>configure</command>d is met de optie <option>--enable-tdm-xconsole</option>. </para>
<para>De standaard is <quote>false</quote>.</para>
<para>De gegevensbron voor het ingebouwde commando <command>xconsole</command> van &tdm;. Als de waarde leeg is, wordt doorsturen van een console-log aangevraagd van <filename>/dev/console</filename>. Heeft geen effect als de optie <option>ShowLog</option> uitgeschakeld is. </para>
<para>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 <filename>$<envar>kde_modulesdir</envar>/kgreet_<replaceable>base</replaceable></filename>) of met het volledige pad. </para><para>Gesprek-plugins zijn modules voor het begroetingsvenster die de authenticatie-gegevens van de gebruiker opvragen. Op dit moment wordt alleen de plugin <literal>classic</literal> met &kde; meegeleverd; deze plugin levert de bekende tekstvelden voor gebruikersnaam en wachtwoord. </para>
<para>De standaard is <quote>classic</quote>.</para>
<para>Een lijst met opties met de indeling <replaceable>Sleutel</replaceable><literal>=</literal><replaceable>Waarde</replaceable>. De gesprek-plugins kunnen deze instellingen opvragen, het is afhankelijk van de plugins wat de mogelijke sleutels zijn. </para>
<para>Toont de actie <guilabel>Console aanmelding</guilabel> in het begroetingsvenstr (als de optie <option>ServerTTY</option>/<option>ConsoleTTYs</option> geconfigureerd is). </para>
<para>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. </para>
<para>Elk item in de lijst <option>StaticServers</option> 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 &tdm; gestart worden, maar &tdm; kan ook <quote>vreemde</quote> &X-Server;s (die extern opgestart zijn) beheren, of ze nu op de lokale of op een andere computer draaien.</para>
<para>De formele syntax van een specificatie is <screen>
</screen> voor alle &X-Server;s. <quote>Vreemde</quote> displays zijn afwijkend, deze hebben een host-naam in de display-naam, dit kan <literal>localhost</literal> zijn.</para>
<para>De <replaceable>display-naam</replaceable> moet iets zijn dat in de optie <option>-display</option> 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 <literal>localhost</literal> van lokale &XDMCP;-displays <emphasis>niet</emphasis> verwijderd om ze van lokale &X-Server;s, die door &tdm; gestart, zijn te onderscheiden.</para>
<para>Het deel <replaceable>display-klasse</replaceable> 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 &tdm; in debug-modus draaien en het commando <command>grep</command> op het logbestand loslaten om de <quote>class</quote> te vinden.</para>
<para>De displays die gespecificeerd is bij <option>ReserveServers</option> wordt niet gestart wanneer &tdm; opstart, maar wanneer er expliciet om gevraagd wordt via de commando-socket (of <acronym>FiFo</acronym>). Als er reserve displays gespecificeerd zijn, heeft het &kde;-menu onderin een item <guilabel>Nieuwe sessie starten</guilabel>; 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.</para>
<para>Wanneer &tdm; een sessie start, worden de autorisatie-gegevens voor de &X-Server; ingesteld. Voor lokale servers geeft &tdm; de optie <command><option>-auth</option> <filename> <replaceable>filename</replaceable></filename></command> door aan de commandoregel van de &X-Server; om deze naar de autorisatie-gegevens te wijzen. Voor &XDMCP;-displays geeft &tdm; autorisatie-gegevens door aan de &X-Server; via het bericht <quote>Accept</quote> van &XDMCP;.</para>
<para>Het bestand dat gespecificeerd wordt door de optie <option>AccessFile</option> levert informatie die &tdm; gebruikt om toegang te beheren van displays die diensten aanvragen via &XDMCP;. Het bestand bevat vier typen items: items die het antwoord op <quote>Direct</quote>- en <quote>Broadcast</quote>-aanvragen beheren, items die het antwoord op <quote>Indirect</quote>-aanvragen beheren, macro-definities voor <quote>Indirect</quote>-items en items die bepalen op welke netwerk-interfaces &tdm; naar &XDMCP;-aanvragen luistert. Lege regels worden genegeerd, <literal>#</literal> wordt als het begin van een commentaar beschouwd, waardoor de rest van die regel genegeerd wordt, door <literal>\</literal> wordt een onmiddellijk daaropvolgende nieuwe regel genegeerd, waardoor lijsten met indirect hosts uit meerdere regels kunnen bestaan. </para>
<para>De indeling van de <quote>Direct</quote>-items is eenvoudig, een host-naam of een patroon dat vergeleken wordt met de host-naam van het display-device. Patronen worden onderscheiden van host-namen doordat er één of meer meta-tekens in voorkomen; <literal>*</literal> komt overeen met een reeks van 0 of meer tekens, en <literal>?</literal> 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-naamgebruikt 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 <literal>!</literal>, worden hosts die met dat item overeenkomen uitgesloten. Om alleen op <quote>Direct</quote>-aanvragen voor een host of patroon te antwoorden, kan het optionele sleutelwoord <literal>NOBROADCAST</literal> eraan toegevoegd worden. Dit kan gebruikt worden om te voorkomen dat er een &tdm;-server in menu's, die gebaseerd zijn op <quote>Broadcast</quote>-aanvragen, verschijnt.</para>
<para>Een <quote>Indirect</quote>-item bevat ook een host-naam of patroon, maar wordt gevolgd door een lijst met host-namen of macro's waarnaar de aanvragen moeten worden doorgestuurd. <quote>Indirect</quote>-items kunnen ook adressen uitsluiten, in dat geval moet een (geldige) dummy host-naam gegeven worden om het item te onderscheiden van een <quote>Direct</quote>-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 <literal>CHOOSER</literal> bevat, worden <quote>Indirect</quote>-aanvragen niet doorgestuurd, in plaats daarvan wordt een dialoogvenster, de host chooser, door &tdm; geopend. De chooser stuurt een <quote>Direct</quote>-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 <literal>BROADCAST</literal> bevatten, om de chooser ook een <quote>Broadcast</quote>-aanvraag te laten versturen. Opmerking: op sommige besturingssystemen kunnen UDP-pakketten niet ge-broadcast worden, in dat geval werkt deze functie niet. </para>
<para>Bij het controleren van de toegang voor een bepaalde display-host, wordt elk item bekeken en het eerste overeenkomende item bepaalt het antwoord. <quote>Direct</quote>- en <quote>Broadcast</quote>-items worden genegeerd wanneer naar een <quote>Indirect</quote>-item gezocht wordt, en omgekeerd.</para>
<para>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 <literal>%</literal>.</para>
<para>Het laatste itemtype is de <literal>LISTEN</literal>-richtlijn. De formele syntax is <screen>
</screen> Als er één of meer regels bij <literal>LISTEN</literal> gespecificeerd zijn, luistert &tdm; alleen naar &XDMCP;-aanvragen op de gespecificeerde interfaces. <replaceable>interface</replaceable> kan een host-name of IP-adres zijn dat een netwerk-interface op deze computer representeert of het jokerteken <literal>*</literal> dat alle beschikbare netwerk-interfaces representeert. Als er multicast-groep-adressen op een <literal>LISTEN</literal>-regel vermeld worden, maakt &tdm; verbinding met de multicast-groepen op de gegeven interface. Voor IPv6-multicasts heeft de IANA ff0<replaceable>X</replaceable>:0:0:0:0:0:0:12b toegewezen als het permanent toegewezen bereik van multicast-adresen voor &XDMCP;. De <replaceable>X</replaceable> 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). &tdm; 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 <literal>LISTEN</literal>-regels ingevuld zijn, luistert &tdm; 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 <literal>LISTEN</literal>-regel zonder adressen gespecificeerd worden, maar de optie <literal>[Xdmcp]</literal> <option>Enable</option> heeft de voorkeur. </para>
<para>De programma's Setup, Startup en Reset worden als <systemitem class="username">root</systemitem> gedraaid, ze moeten dus voorzichtig met de beveiligin omgaan. Het eerste argument dat aan deze programma's meegegeven wordt, is <literal>auto</literal> als de sessie het resultaat is van automatische aanmelding; in alle andere gevallen worden er geen argumenten meegegeven. </para>
<para>Het programma <filename>Xsetup</filename> 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 <option>UseBackground</option> uitgeschakeld is) of om een ander venster te openen dat samen met het begroetingsvenster moet verschijnen. </para>
<para>In aanvulling op de omgevingsvariabelen die door <option>ExportList</option> gespecificeerd zijn, worden de volgende omgevingsvariabelen doorgegeven:</para>
<para>Houd er rekening mee dat &tdm; het toetsenbord vasthoudt, andere vensters kunnen hierdoor geen invoer van het toetsenbord krijgen. Ze kunnen echter wel op muisklikken reageren; dit kan veiligheidsrisico's met zich meebrengen. Als de optie <option>GrabServer</option> ingesteld is, kan <filename>Xsetup</filename> in geen geval een verbinding met de display maken. Bronnen voor dit programma kunnen opgenomen worden in het bestand waar <option>Resources</option> naar wijst. </para>
<para>Het programma <filename>Xstartup</filename> wordt als <systemitem class="username">root</systemitem> gedraaid wanneer de gebruiker zich aanmeldt. Dit is de aangewezen plaats voor commando's die items toevoegen aan <filename>utmp</filename> (het programma <command>sessreg</command> 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 <acronym>PAM</acronym>-modules).</para>
<para>In aanvulling op de omgevingsvariabelen die door <option>ExportList</option> gespecificeerd zijn, worden de volgende omgevingsvariabelen doorgegeven:</para>
<para>tdm; wacht tot dit programma stopt, daarna wordt de sessie van de gebruiker gestart. Als de stop-waarde van dit programma niet-nul is, breekt &tdm; de sessie af en begint een nieuwe authenticatie-cyclus.</para>
<para>Het programma <filename>Xsession</filename> 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 <literal>failsafe</literal>, <literal>default</literal> of <literal>custom</literal> meegegeven, of een string waar een Bourne-compatibele shell het commando <command>eval</command> op uitvoert.</para>
<para>In aanvulling op de omgevingsvariabelen die door <option>ExportList</option> gespecificeerd zijn, worden de volgende omgevingsvariabelen doorgegeven:</para>
<listitem><para>de waarde van <option>UserPath</option> (of <option>SystemPath</option> voor <systemitem class="username">root</systemitem> gebruikers-sessies)</para>
<listitem><para>bevat een door komma's gescheiden lijst met parameters die interessant kunnen zijn voor de sessie, zoals de locatie van het commando <acronym>FiFo</acronym> en de mogelijkheden ervan en welke gesprek-plugin voor de aanmelding werd gebruikt</para>
<para>Het programma <filename>Xreset</filename> wordt, symmetrisch met het programma <filename>Xstartup</filename>, gedraaid nadat de sessie is afgesloten. Het wordt gedraaid als <systemitem class="username">root</systemitem>, het moet daarom commando's bevatten die de effecten van de commando's in <filename>Xstartup</filename> ongedaan maken, items uit <filename>utmp</filename> verwijderen of directory's van bestands-servers ontkoppelen.</para>
<para>De omgevingsvariabelen die aan <filename>Xstartup</filename> werden doorgegeven, worden ook doorgegeven aan <filename>Xreset</filename>. </para>