# Die Konfigurationsdateien von &kdm;

Dieses Kapitel dokumentiert die Dateien, die das Verhalten von &kdm; beeinflussen. Einige davon können auch über das &systemsettings;-Modul geändert werden, aber nicht alle.

## &kdmrc;- die Haupt-Konfigurationsdatei von &kdm;

Das grundlegende Format für diese Datei ist an INI-Dateien angelehnt. Einstellungen werden als Schlüssel/Wert-Paare in Sektionen abgelegt. Alle Einträge berücksichtigen Groß-/Kleinschreibung. Syntaktische Fehler oder unbekannte Schlüssel/Wert-Paare veranlassen &kdm; dazu entsprechende Fehlermeldungen auszugeben, die aber nicht-kritisch sind.

Zeilen, die mit `#` beginnen, sind Kommentare. Leere Zeilen werden ebenfalls ignoriert.

Sektionen werden mit `[`Name der Sektion`]` gekennzeichnet.

Sie können jedes X-Display einzeln konfigurieren.

Jedes Display hat einen Display-Namen, der aus dem Rechnernamen (der bei lokalen Displays, die in `StaticServers` oder `ReserveServers` eingetragen sind, leer ist), einem Doppelpunkt und der Display-Nummer besteht. Zusätzlich gehört ein Display noch zu einer Display-Klasse, aber diese kann in den meisten Fällen ignoriert werden.

Sektionen mit Display-spezifischen Einstellungen besitzen die formale Syntax`[X-` Rechner [ `:` Nummer [ `_` Klasse ] ] `-` Untersektion `]`

Alle Sektionen mit derselben Untersektion bilden eine Sektionsklasse.

Sie können den Platzhalter `*` für Rechner, Nummer und Klasse verwenden. Bestandteile, die sich am Ende befinden, dürfen weggelassen werden. Für sie wird der Platzhalter `*` angenommen. Der Rechner-Bestandteil kann eine Domain-Angabe sein, wie .inf.tu.dresden.de oder der Platzhalter `+` (trifft auf alle nicht-leeren Einträge zu).

Aus welcher Sektion eine Einstellung verwendet wird, entscheidet sich nach den folgenden Regeln:

- Eine exakte Übereinstimmung hat Vorrang vor einer teilweisen Übereinstimmung (im Rechner-Bestandteil), die wiederum Vorrang vor dem Platzhalter hat (`+` hat Vorrang vor `*`).

- Bei exakt übereinstimmenden Einträgen nimmt die Priorität von links nach rechts ab.

- Beispiel: Display-Name meinrechner.foo:0, Klasse dpy

  - [X-meinrechner.foo:0_dpy] hat Vorrang vor

  - [X-meinrechner.foo:0_*] (identisch mit [X-meinrechner.foo:0]) hat Vorrang vor

  - [X-meinrechner.foo:*_dpy] hat Vorrang vor

  - [X-myhost.foo:*_*] (identisch mit [X-meinrechner.foo]) hat Vorrang vor

  - [X-.foo:*_*] (identisch mit [X-.foo]) hat Vorrang vor

  - [X-+:0_dpy] hat Vorrang vor

  - [X-*:0_dpy] hat Vorrang vor

  - [X-*:0_*] (identisch mit [X-*:0]) hat Vorrang vor

  - [X-*:*_*] (identisch mit [X-*]).

  - Die folgenden Sektionen stimmen nicht mit diesem Display überein:

    [X-seinrechner], [X-meinrechner.foo:0_dec], [X-*:1], [X-:*]

Häufige Sektionen sind [X-*] (alle Displays), [X-:*] (alle lokalen Displays) und [X-:0] (der erste lokale Display).

Das Format aller Schlüssel ist ``Schlüssel` `=` `Wert``. Schlüssel sind nur in Sektionen gültig, für die sie definiert sind. Manche Schlüssel sind für bestimmte Displays nicht anwendbar und werden dann ignoriert.

Wird eine Einstellung in keiner passenden Sektion gefunden, wird die Voreinstellung verwendet.

Sonderzeichen müssen durch einen Backslash geschützt werden (führende und anhängende Leerzeichen (`\s`), Tabulatoren (`\t`), Zeilenvorschub (`\n`), Wagenrücklauf (`\r`) und der Backslash selbst (`\\`).

In Listen werden die Felder durch Kommata ohne Leerzeichen getrennt.

Einige Befehlszeichenketten werden nach den vereinfachten sh-Regeln in einzelne Teile (Wörter) aufgespalten. Einfache Anführungszeichen (`'`) und doppelte Anführungszeichen (`"`) haben die übliche Bedeutung, der Backslash kennzeichnet alles (nicht nur Sonderzeichen). Beachten Sie, dass Backslash-Zeichen verdoppelt werden müssen, da sie ansonsten nicht als Backslash ausgewertet werden.

Eine jungfräuliche &kdmrc; ist sehr ausführlich dokumentiert. Alle Kommentare gehen verloren, sobald Sie die Datei über die &systemsettings; ändern.

### Die Sektion [General] von &kdmrc;

Diese Sektion enthält globale Einstellungen, die in keine andere Sektion passen.

`ConfigVersion`

  Diese Einstellung existiert einzig zum Zwecke automatischer Upgrades. Ändern Sie sie nicht! Es könnte sein, dass ihre Änderung mit zukünftigen Upgrades nicht verträglich ist. Dies kann dazu führen, dass &kdm; nicht mehr startet.

`StaticServers`

  Liste der Displays (&X-Server;), die dauerhaft von &kdm; verwaltet werden. Displays mit einem Rechnernamen sind bereits laufende entfernte Displays, die anderen sind lokale Displays, für die &kdm; einen neuen X-Server startet (siehe die Option `ServerCmd`). Jedes Display kann zu einer Display-Klasse gehören. Hängen Sie diese an den Namen des Displays nach einem Unterstrich an. Details dazu finden Sie unter .

  Die Voreinstellung ist :0.

`ReserveServers`

  List der Displays auf Anforderung. Siehe `StaticServers` für die Syntax.

  Per Voreinstellung leer.

`ServerVTs`

  Liste der virtuellen Terminals, die einem X-Server zugeordnet werden. Für negative Werten wird der absolute Wert verwendet und das VT wird nur zugewiesen, falls der Kernel es als frei angibt. Wenn &kdm; die Liste ausgeschöpft hat, werden mehr VTs als der absolute Wert des letzten Eintrags zugewiesen. Dies gilt derzeit nur für Linux.

  Per Voreinstellung leer.

`ConsoleTTYs`

  Diese Option ist für Betriebssysteme (BS) mit Unterstützung für virtuelle Terminals (VT) sowohl durch &kdm; und das BS selbst. Derzeit gilt dies nur für Linux.

  Wenn &kdm; in den Konsolen-Modus umschaltet, überwacht es alle hier aufgeführten TTY-Zeilen (ohne das führende `/dev/`). Findet auf keinem davon innerhalb eines bestimmten Zeitraumes eine Aktivität statt, schaltet &kdm; zurück zur X-Anmeldeoberfläche.

  Per Voreinstellung leer.

`PidFile`

  Die angegebene Datei wird angelegt, um darin die ASCII-Darstellung der Prozess-ID des Hauptprozesses von &kdm; abzulegen. Ist kein Dateiname angegeben, wird die PID nicht abgelegt.

  Per Voreinstellung leer.

`LockPidFile`

  Diese Option steuert, ob &kdm; Dateisperren verwendet, um zu verhindern, dass mehrere Display-Manager auf einander laufen.

  Die Voreinstellung ist true.

`AuthDir`

  Hier wird der Ordner eingetragen, in dem &kdm; die Autorisierungsdateien des &X-Server; speichert, während die Sitzung initialisiert wird. &kdm; erwartet, dass hier liegengebliebene Dateien vom System bei einem Neustart entfernt werden.

  Die Autorisierungsdatei für ein bestimmtes Display kann mit `AuthFile` in [X-*-Core] angegeben werden.

  Die Voreinstellung ist /var/run/xauth.

`AutoRescan`

  Dieser boolesche Wert steuert, ob &kdm; seine Konfigurationsdateien automatisch neu einliest, wenn es feststellt, dass diese geändert wurden.

  Die Voreinstellung ist true.

`ExportList`

  Zusätzliche Umgebungsvariablen, die &kdm; an alle von ihm gestarteten Programme übergibt. `LD_LIBRARY_PATH` und `XCURSOR_THEME` sind gute Kandidaten, andere Umgebungsvariablen sind nur selten nötig.

  Per Voreinstellung leer.

`RandomFile`

  Falls das System keine eigene Entropie-Quelle wie /dev/urandom besitzt (siehe dazu die Option `RandomDevice`) und kein Entropie-Dienst wie EGD läuft (siehe dazu die Option `PrngdSocket` und `PrngdPort`), dann wird &kdm; den eingebauten Zufallszahlengenerator einsetzen. Unter anderem erstellt dieser nacheinander Prüfsummen aus Teilen dieser Datei (deren Inhalt sich häufig ändern sollte).

  Diese Option existiert nicht unter Linux und verschiedenen BSD-Systemen.

  Die Voreinstellung ist /dev/mem.

`PrngdSocket`

  Falls das System keinen eigenen Zufallsgenerator wie &eg; /dev/urandom enthält (siehe `RandomDevice`), werden zufällige Daten aus diesem UNIX-Socket eines Pseudo-Zufallszahlengenerators wie EGD gelesen (http://egd.sourceforge.net).

  Diese Option existiert nicht unter Linux und verschiedenen BSD-Systemen.

  Per Voreinstellung leer.

`PrngdPort`

  Das Selbe wie `PrngdSocket`, auf localhost nur TCP-Sockets verwenden.

`RandomDevice`

  Der Pfad zum zeichenbasierten Gerät, von dem &kdm; Zufallsdaten lesen soll. Ist dieser Eintrag leer, wird das vom System bevorzugte Gerät für Entropie verwendet.

  Diese Option existiert nicht auf OpenBSD, da es stattdessen die Funktion arc4_random verwendet.

  Per Voreinstellung leer.

`FifoDir`

  Der Ordner, in dem die Befehls-Sockets erzeugt werden sollen. Zum Abschalten diese Option leer lassen.

  Die Voreinstellung ist /var/run/xdmctl.

`FifoGroup`

  Die Gruppe, zu dem der globale Befehl Socket gehören soll. Entweder ein Name oder eine numerische ID.

`GreeterUID`

  Der Benutzer, unter welchem das Anmeldefenster ausgeführt wird. Bei leerer Einstellung wird der Systemverwalter (root) verwendet. Beachten Sie beim Einstellen den Einfluss auf `LogSource`.

  Per Voreinstellung leer.

`DataDir`

  In diesem Ordner speichert &kdm; seine dauerhaften Arbeitsdaten ab. Es handelt sich dabei um Daten wie &eg; den zuvor auf einem bestimmten Display angemeldeten Benutzer.

  Die Voreinstellung ist /var/lib/kdm.

`DmrcDir`

  Der Ordner, in dem &kdm; die `.dmrc`-Dateien von Benutzern speichert. Dies wird nur benötigt, wenn die Persönlichen Ordner vor der Benutzeranmeldung nicht lesbar sind (so ist es &eg; bei AFS).

  Per Voreinstellung leer.

### Die Sektion [Xdmcp] von &kdmrc;

Dieser Abschnitt enthält Optionen, welche das Verhalten von &kdm; bei Anfragen über &XDMCP; festlegen.

`Enable`

  Soll &kdm; auf eingehende Anfragen von &XDMCP; warten.

  Die Voreinstellung ist true.

`Port`

  Dies gibt den UDP-Port an, den &kdm; zum Warten auf eingehende &XDMCP;-Anfragen verwendet. Sofern Sie keine Fehlersuche auf Ihrem System betreiben, sollten Sie diesen Wert in der Voreinstellung belassen.

  Die Voreinstellung ist 177.

`KeyFile`

  Eine &XDMCP;-Authentifizierung nach XDM-AUTHENTICATION-1 erfordert einen zwischen &kdm; und dem Terminal gemeinsam genutzten privaten Schlüssel. Mit dieser Option geben Sie die Datei an, die die nötigen Informationen enthält. Jeder Eintrag in der Datei enthält einen Display-Namen und den gemeinsamen privaten Schlüssel.

  Per Voreinstellung leer.

`Xaccess`

  Um nicht autorisierte &XDMCP;-Dienste zu verhindern und die Weiterleitung von &XDMCP;-IndirectQuery-Anfragen zu ermöglichen, enthält diese Datei eine Datenbank mit Rechnernamen, denen entweder direkter Zugriff auf diesen Rechner erlaubt wird oder eine Liste mit Rechnern, an die solche Anfragen weitergeleitet werden sollen. Das Format dieser Datei wird unter beschrieben.

  Die Voreinstellung ist $`kde_confdir`/kdm/Xaccess.

`ChoiceTimeout`

  Dies ist die Anzahl Sekunden, die gewartet werden soll, nachdem der Benutzer einen Rechner ausgewählt hat. Wenn das Display innerhalb der Wartezeit eine &XDMCP;-IndirectQuery sendet, wird die Anfrage an den ausgewählten Rechner weitergeleitet. Ansonsten wird von einer neuen Sitzung ausgegangen und der Auswähler wird erneut angezeigt.

  Die Voreinstellung ist 15.

`RemoveDomainname`

  Beim Zusammenstellen des Display-Namens für &XDMCP;-Clients wird durch die Namensauflösung typischerweise ein voll qualifizierter Rechnername für das Terminal erzeugt. Weil dies manchmal verwirrend sein kann, entfernt &kdm; den Domänennamen vom FQHN, sofern er der Domäne des lokalen Rechners entspricht und diese Option aktiviert ist.

  Die Voreinstellung ist true.

`SourceAddress`

  Legt fest, dass die numerische IP-Adresse der eingehenden Verbindung auf Multihomed-Rechnern anstelle des Rechnernamens verwendet werden soll. Dies wird verwendet, um zu Verbindungsversuche auf einem falschen (möglicherweise deaktivierten) Netzwerkgerät zu verhindern.

  Die Voreinstellung ist false.

`Willing`

  Dies gibt ein Programm an, welches (als Systemverwalter) ausgeführt wird, wenn ein &XDMCP;-DirectQuery oder BroadcastQuery empfangen wird und dieser Rechner &XDMCP;-Display-Management anbietet. Die Ausgabe des Programms kann in einem Chooser-Fenster angezeigt werden. Wenn kein Programm angegeben ist, wird der Text Willing to manage gesendet.

  Per Voreinstellung leer.

### Die Sektion [Shutdown] von &kdmrc;

Dieser Bereich enthält globale Optionen, die das Herunterfahren des Systems betreffen.

`HaltCmd`

  Der Befehl zum Anhalten bzw. Herunterfahren des Rechners. Diese Zeichenfolge wird in einzelne Wörter aufgespalten.

  Die Voreinstellung ist ein sinnvoller Befehl für das System, auf dem &kdm; kompiliert wurde. Beispielsweise: `/sbin/shutdown `-h` `now``.

`RebootCmd`

  Der Befehl zum Neustarten des Rechners. Diese Zeichenfolge wird in einzelne Wörter aufgespalten.

  Die Voreinstellung ist ein sinnvoller Befehl für das System, auf dem &kdm; kompiliert wurde. Beispielsweise: `/sbin/shutdown `-r` `now``.

`AllowFifo`

  Gibt an, ob es erlaubt ist, das System mit Hilfe des globalen Befehls-Sockets herunterzufahren.

  Die Voreinstellung ist false.

`AllowFifoNow`

  Legt fest, ob das Abbrechen aktiver Sitzungen erlaubt ist, wenn das System über den globalen Befehls-Socket heruntergefahren wird.

  Dies wird erst wirksam, wenn `AllowFifo` aktiviert ist.

  Die Voreinstellung ist true.

`BootManager`

  Dies legt den Boot-Manager fest, den &kdm; zum Anbieten von Startmöglichkeiten im Dialog zum Herunterfahren verwenden soll.

  `None`

    Kein Boot-Manager

  `Grub`

    Grub Boot-Manager

  `Grub2`

    Grub2 Boot-Manager

  `Lilo`

    Lilo Boot-Manager (Linux nur auf i386 & x86-64)

  Die Voreinstellung ist None.

### Die Sektionsklasse [X-*-Core] von &kdmrc;

Diese Sektionsklasse enthält Einstellungen für die Einrichtung der Oberfläche &kdm;.

`OpenDelay`

  Siehe `OpenRepeat`.

  Die Voreinstellung ist 15.

`OpenTimeout`

  Siehe `OpenRepeat`.

  Die Voreinstellung ist 120.

`OpenRepeat`

  Diese Einstellungen legen &kdm;s Verhalten beim Öffnen einer Verbindung zu einem &X-Server; fest. `OpenDelay` entspricht der gewünschten Pausenlänge (in Sekunden) zwischen aufeinanderfolgenden Versuchen, `OpenRepeat` gibt die Anzahl der Versuche an und `OpenTimeout` ist die Zeit, die für einen Verbindungsversuch aufgewendet wird. Nachdem `OpenRepeat` Versuche unternommen wurden oder `OpenTimeout` Sekunden bei einem Verbindungsversuch abgelaufen sind, wird der Startversuch als gescheitert angesehen.

  Die Voreinstellung ist 5.

`StartAttempts`

  Legt fest, wieviele Versuche &kdm; unternehmen soll, um eine Verbindung zu `entfernten` Displays aus der Liste `StaticServers` zu öffnen, bevor der Verbindungsversuch aufgegeben und das Display deaktiviert wird. Lokale Displays werden nur einmal probiert und &XDMCP;-Displays werden unendlich oft vom Client probiert (außer die Option `-once` wurde an den &X-Server; übergeben).

  Die Voreinstellung ist 4.

`ServerAttempts`

  Legt fest, wie oft &kdm; versuchen soll, einen lokalen &X-Server; zu starten. Der Startversuch beinhaltet das Ausführen und Initialisieren.

  Die Voreinstellung ist 1.

`ServerTimeout`

  Gibt an, wie lange &kdm; auf den vollständigen Start eines lokalen &X-Server;s warten soll.

  Die Voreinstellung ist 30.

`ServerCmd`

  Der Befehl zum Starten des &X-Server;s, ohne Display-Nummer und VT-Angabe. Beachten Sie, dass es bei einigen Arten von &X-Server; (insbesondere der von OpenSolaris) nötig ist, die meisten zusätzlichen Argumente in `ServerArgsLocal` und `ServerArgsRemote` einzutragen, selbst wenn sie für beide Optionen gleich sind. Diese Zeichenkette wird in einzelne Wörter aufgespalten.

  Die Voreinstellung ist ein sinnvoller Befehl für das System, auf dem &kdm; kompiliert wurde. Beispielsweise: `/usr/X11R6/bin/X`.

`ServerArgsLocal`

  Weitere Argumente für den &X-Server; bei lokalen Sitzungen. Diese Zeichenfolge wird in einzelne Wörter aufgespalten.

  Per Voreinstellung leer.

`ServerArgsRemote`

  Weitere Argumente für den &X-Server; bei entfernten Sitzungen. Diese Zeichenfolge wird in einzelne Wörter aufgespalten.

  Per Voreinstellung leer.

`ServerVT`

  Das Virtuelle Terminal, auf dem der &X-Server; laufen soll. Stattdessen sollte besser die Option `ServerVTs` verwendet werden. Belassen Sie diesen Wert bei 0, wenn &kdm; automatisch ein VT zuweisen soll. Ein Wert von `-1` verhindert die Zuweisung von VTs - dies ist nötig an Systemen mit mehreren physikalischen Konsolen. Derzeit nur für Linux.

`ServerTTY`

  Diese Option ist für Betriebssysteme ohne Unterstützung für VTs gedacht (entweder von &kdm; oder vom Betriebssystem selbst). Dies gilt derzeit für alle Betriebssysteme außer Linux.

  Wenn &kdm; in den Konsolen-Modus umschaltet, überwacht es dieses TTY (angegeben ohne das führende `/dev/`) auf Aktivität. Wenn das Terminal für einige Zeit unbenutzt ist, schaltet &kdm; wieder zurück auf die X-Anmeldeoberfläche.

  Per Voreinstellung leer.

`ServerUID`

  Der Benutzer, unter welchem der X-Server gestartet wird. Bei leerer Einstellung wird root verwendet.

  Per Voreinstellung leer.

`PingInterval`

  Siehe `PingTimeout`.

  Die Voreinstellung ist 5.

`PingTimeout`

  Um herauszufinden, wenn entfernte Displays nicht mehr zur Verfügung stehen, sendet &kdm; in regelmäßigen Abständen einen Ping. Die Option `PingInterval` legt die Wartezeit zwischen den Pings fest (in Minuten). `PingTimeout` gibt die maximale Antwortzeit des Terminals auf einen Ping an (in Minuten). Wenn das entfernte Terminal nicht reagiert, wird die Sitzung als tot deklariert und beendet.

  Wenn Sie häufiger entfernte X-Terminals verwenden, die unter Umständen die Verbindung verlieren, so sollten Sie die Wartezeit erhöhen. Der einzige Nachteil daran ist, dass eine Sitzung länger bestehen bleibt, nachdem ein Terminal versehentlich abgeschaltet wurde.

  Die Voreinstellung ist 5.

`TerminateServer`

  Legt fest, ob &kdm; den lokalen &X-Server; nach dem Sitzungsende ganz neu starten soll, anstelle ihn zu nur zurückzusetzen. Sie sollten diese Option verwenden, falls der &X-Server; ein Speicherleck aufweist oder das System beim Zurücksetzen abstürzen lässt.

  Die Voreinstellung ist false.

`Authorize`

  Dies legt fest, ob &kdm; Autorisierung für lokale &X-Server;-Verbindungen erzeugt und verwendet. Für &XDMCP;-Displays wird die von dem Display angeforderte Autorisierung verwenden, nicht-&XDMCP;-Displays unterstützen sowieso keine Autorisierung.

  Die Voreinstellung ist true.

`AuthNames`

  Falls `Authorize` wahr ist, werden die hier aufgezählten Autorisierungsmechanismen verwendet. MIT-MAGIC-COOKIE-1-Autorisierung ist grundsätzlich immer verfügbar; XDM-AUTHORIZATION-1, SUN-DES-1 und MIT-KERBEROS-5 könnten ebenso verfügbar sein (abhängig von der Konfiguration beim Kompilieren).

  Die Voreinstellung ist DEF_AUTH_NAME.

`ResetForAuth`

  Einige alte &X-Server; lesen die Autorisierungsdatei beim Zurücksetzen des &X-Server;s anstatt beim Prüfen der ersten Verbindung neu ein. Da &kdm; die Berechtigungsinformationen erst kurz vor der Verbindung erzeugt, erhält solch ein alter &X-Server; nicht-aktuelle Autorisierungsdaten. Diese Option veranlasst &kdm; dazu, das Signal SIGHUP an den &X-Server; zu senden, nachdem die Datei erzeugt wurde. Der dadurch veranlasste &X-Server;-Neustart sorgt dann für das Neu-Einlesen der Datei durch den &X-Server;.

  Die Voreinstellung ist false.

`AuthFile`

  Diese Datei wird verwendet, um dem &X-Server; die Autorisierungsdaten von &kdm; zu übermitteln. Dazu wird die Option `-auth` des &X-Server;s verwendet. Diese Datei sollte in einem Ordner aufbewahrt werden, der nicht von jedem beschreibbar ist. Sonst besteht die Gefahr, dass die Datei entfernt oder manipuliert wird und somit der Autorisierungsmechanismus des &X-Server;s nicht mehr funktionieren würde. Falls nicht angegeben, wird ein zufälliger Name aus `AuthDir` und dem Namen des Displays generiert.

  Per Voreinstellung leer.

`Resources`

  Diese Option gibt die Datei an, die von `xrdb` als Ressourcendatenbank auf das root-Fenster des Bildschirms 0 des Displays geladen werden soll. KDE-Programme verwenden grundsätzlich keine X-Ressourcen, daher ist diese Option nur nützlich, falls das `Setup`-Programm einige solche Ressourcen benötigt.

  Per Voreinstellung leer.

`Xrdb`

  Das `xrdb`-Programm, welches zum Einlesen der X-Ressourcendatei benutzt werden soll. Die Ressourcendatei wurde in `Resources` angegeben. Diese Zeichenfolge wird in einzelne Wörter aufgespalten.

  Die Voreinstellung ist ${`x_bindir`}/xrdb.

`Setup`

  Diese Zeichenfolge wird in einzelne Wörter aufgespalten. Sie gibt ein Programm an, das (als Systemverwalter root) vor der Anzeige des Anmeldefensters ausgeführt wird. Dies kann zum Ändern des Bildschirminhalts um das Anmeldefenster genutzt werden oder um weitere Fenster nebenher anzuzeigen (&eg; könnten Sie hier eine `xconsole` ausführen). Die üblicherweise verwendete Datei hierfür heißt `Xsetup`. Siehe auch .

  Per Voreinstellung leer.

`Startup`

  Diese Zeichenfolge wird in einzelne Wörter aufgespalten. Sie gibt ein Programm an, welches (als Systemverwalter root) nach der Benutzer-Authentifizierung ausgeführt wird. Üblicherweise wird dafür das Skript `Xstartup` benutzt. Siehe auch .

  Per Voreinstellung leer.

`Reset`

  Diese Zeichenfolge wird in einzelne Wörter aufgespalten. Sie gibt ein Programm an, das (als Systemverwalter root) nach Beendigung der Sitzung ausgeführt wird. Üblicherweise wird dafür das Skript `Xreset` verwendet. Siehe auch .

  Per Voreinstellung leer.

`Session`

  Diese Zeichenfolge wird in einzelne Wörter aufgespalten. Sie gibt das Sitzungsprogramm an, das (unter dem Benutzer der Sitzung) ausgeführt wird. Die üblicherweise verwendete Datei hierfür heißt `Xsession`. Siehe auch .

  Die Voreinstellung ist ${`x_bindir`}/xterm -ls -T.

`FailsafeClient`

  Falls das `Session`-Programm nicht ausgeführt werden kann, wird &kdm; auf dieses Programm zurückgreifen. Das Programm wird ohne jegliche Argumente aufgerufen, aber verfügt über die gleichen Umgebungsvariablen wie die eigentliche Sitzung (siehe ).

  Die Voreinstellung ist ${`x_bindir`}/xterm.

`UserPath`

  Die `PATH`-Umgebungsvariable für nicht-root-`Session`.

  Die Voreinstellung hängt von dem System ab, auf dem &kdm; kompiliert wurde.

`SystemPath`

  Die `PATH`-Umgebungsvariable für alle Programme außer nicht-root-Sitzungen (siehe `Session`). Sie sollte nach Möglichkeit nicht `.` enthalten (der Pfad zum jeweils aktuellen Ordner).

  Die Voreinstellung hängt von dem System ab, auf dem &kdm; kompiliert wurde.

`SystemShell`

  Die `PATH`-Umgebungsvariable für alle Programme außer `Session`.

  Die Voreinstellung ist /bin/sh.

`UserAuthDir`

  Falls &kdm; die normale Benutzerautorisierungsdatei ($`HOME`/.Xauthority) nicht schreiben kann, wird eine einzigartige Datei in diesem Ordner erstellt und die Umgebungsvariable `XAUTHORITY` zeigt dann auf diese neu erstellte Datei.

  Die Voreinstellung ist /tmp.

`ForceUserAuthDir`

  Wenn true gesetzt, wird `UserAuthDir` in jedem Fall verwendet.

  Die Voreinstellung ist false.

`AutoReLogin`

  Wenn diese Einstellung aktiviert ist, wird &kdm; einen abgestürzten (oder mittels Strg+Alt+Entf beendeten) &X-Server; automatisch neu starten. Achtung: Das Aktivieren dieser Einstellung kann zu einem Sicherheitsproblem werden. Eine mit Passwort geschützte Sitzung könnte umgangen werden (es sei denn, &kde;s eingebauter Bildschirmschoner mit Passwort wird verwendet).

  Die Voreinstellung ist false.

`AllowRootLogin`

  Falls diese Einstellung deaktiviert ist, wird dem Systemverwalter root und anderen Benutzern mit der UID=0 ein direktes Anmelden untersagt.

  Die Voreinstellung ist true.

`AllowNullPasswd`

  Wenn diese Einstellung deaktiviert ist, können sich nur noch Benutzer mit einem zugewiesenen Passwort anmelden.

  Die Voreinstellung ist true.

`AllowShutdown`

  Dies bestimmt, wem das Herunterfahren des Systems gestattet ist. Dies gilt sowohl für das Anmeldefenster als auch für den Befehls-Socket.

  `None`

    es wird kein Eintrag Herunterfahren ... angezeigt

  `Root`

    das root-Passwort muss zum Herunterfahren eingegeben werden

  `All`

    Jeder kann den Rechner herunterfahren

  Die Voreinstellung ist All.

`AllowSdForceNow`

  Wer darf aktive Sitzungen beim Herunterfahren abbrechen.

  `None`

    es ist überhaupt kein erzwungenes Herunterfahren erlaubt

  `Root`

    das root-Passwort muss zum erzwungenen Herunterfahren eingeben werden

  `All`

    Jeder kann das Herunterfahren des Rechners erzwingen

  Die Voreinstellung ist All.

`DefaultSdMode`

  Die Voreinstellung zum Herunterfahren und zur Zeiteinstellung

  `Schedule`

    Herunterfahren, nachdem alle aktiven Sitzungen beendet wurden (möglicherweise auf einmal)

  `TryNow`

    Herunterfahren, wenn keine aktiven Sitzungen offen sind; ansonsten geschieht nichts

  `ForceNow`

    bedingungslos Herunterfahren

  Die Voreinstellung ist Schedule.

`ScheduledSd`

  Wie soll der Zeitplan zum Herunterfahren angeboten werden:

  `Never`

    überhaupt nicht

  `Optional`

    als Knopf in einfachen Herunterfahren-Dialogen

  `Always`

    anstelle der einfachen Herunterfahren-Dialoge

  Die Voreinstellung ist Never.

`NoPassEnable`

  Passwortlose Anmeldungen auf diesem Display zulassen. Nur mit größter Vorsicht verwenden!

  Die Voreinstellung ist false.

`NoPassUsers`

  Die Benutzer, die kein Passwort zur Anmeldung benötigen. Einträge mit einem vorangestellten `@` repräsentieren alle Benutzer in der so benannten Gruppe. `*` meint alle Benutzer außer root (und jeden anderen Benutzer mit der UID=0). Tragen Sie hier niemals den Benutzer root ein!

  Per Voreinstellung leer.

`AutoLoginEnable`

  Aktiviert die automatische Anmeldung. Verwenden Sie diese Einstellung mit größter Vorsicht!

  Die Voreinstellung ist false.

`AutoLoginAgain`

  Falls wahr, wird nach dem Abmelden erneut automatisch angemeldet. Ansonsten wird die automatische Anmeldung nur beim Start einer Display-Sitzung verwendet.

  Die Voreinstellung ist false.

`AutoLoginDelay`

  Die Wartezeit in Sekunden, bevor die automatische Anmeldung durchgeführt wird. Dies wird auch zeitgesteuerte Anmeldung genannt.

`AutoLoginUser`

  Der automatisch anzumeldende Benutzer. Geben Sie hier niemals den Benutzer root an!

  Per Voreinstellung leer.

`AutoLoginPass`

  Das Passwort für den automatisch anzumeldenden Benutzer. Dies wird nicht benötigt, es sei denn der Benutzer wird in einer NIS- oder Kerberos-Domäne angemeldet. Wenn Sie diese Option verwenden, sollten Sie `chmod `600` `kdmrc`` ausführen, damit das Passwort nicht durch jeden lesbar ist.

  Per Voreinstellung leer.

`AutoLoginLocked`

  Durch diese Option wird die Sitzung sofort nach der Anmeldung gesperrt. Dies funktioniert allerdings nur mit KDE-Sitzungen.

  Die Voreinstellung ist false.

`SessionsDirs`

  Eine nach Priorität sortierte Liste mit Ordnern, die Sitzungsbeschreibungen enthalten.

  Die Voreinstellung ist ${`kde_datadir`}/kdm/sessions.

`ClientLogFile`

  Die Datei (relativ zum Heimatordner des Benutzers), in die die Ausgaben der Sitzung umgeleitet werden.

  Die folgenden Zeichenpaare werden durch ihren jeweiligen Wert ersetzt:

  `%d`

    Name des aktuellen Displays

  `%u`

    Benutzername des aktuellen Benutzers

  `%r`

    Zunächst leer. Siehe unten.

  `%%`

    ein einzelnes `%`

  Wenn der konstruierte Dateiname nicht mit Sicherheit verwendet werden kann und die Spezifikation enthält `%`Irgendwas `r`, werden andere Namen versucht - diesmal wird `%`Irgendwas `r` zu Irgendwas gefolgt von einer Zufallszahl aufgelöst.

  Die Voreinstellung ist .xsession-errors.

`ClientLogFallback`

  Alternativlösung, wenn `ClientLogFile` nicht benutzt werden kann. Hierbei gelten dieselben Expansionsregeln. Benutzen Sie hier keine relativen Pfade.

  Die Voreinstellung ist /tmp/xerr-%u-%d%-r.

`UseSessReg`

  Gibt an, ob &kdm;s eingebaute Registrierung in utmp/wtmp/lastlog benutzt werden soll. Falls nicht, sollte das Programm `sessreg` in den Skripten `Startup` und `Reset`, oder alternativ das PAM-Modul pam_lastlog, verwendet werden.

  Die Voreinstellung ist true.

### Die [X-*Greeter] Abschnittklasse von &kdmrc;

Diese Abschnittklasse enthält Optionen, die die Einrichtung des &kdm;-Anmeldefensters (Greeter) betreffen.

`GUIStyle`

  Geben Sie den Stil der Bedienelemente für das Anmeldefenster an. Wenn Sie die Option leer lassen, wird die eingebaute Voreinstellung verwendet (derzeit `Oxygen-Air`).

  Per Voreinstellung leer.

`ColorScheme`

  Geben Sie das Farbschema der Bedienelemente für das Anmeldefenster an. Wenn Sie die Option leer lassen, wird die eingebaute Voreinstellung verwendet (derzeit `Oxygen-Air`).

  Per Voreinstellung leer.

`LogoArea`

  Legt fest, was im Anmeldefenster rechts neben den Eingabe-Textfeldern, bzw. falls `UserList` abgeschaltet ist, über ihnen angezeigt werden soll:

  `None`

    nothing

  `Logo`

    das mit `LogoPixmap` angegebene Bild

  `Clock`

    eine schicke analoge Uhr

  Die Voreinstellung ist Clock.

`LogoPixmap`

  Das im Anmeldefenster anzuzeigende Bild, falls `LogoArea` auf `Logo` eingestellt ist.

  Per Voreinstellung leer.

`GreeterPos`

  Die relative Position (in Prozent der Bildschirmgröße; X, Y), an der die Mitte des Anmeldefensters erscheinen soll. &kdm; richtet das Fenster an den Bildschirmrändern aus, die es sonst möglicherweise überschneiden würde.

  Die Voreinstellung ist 50,50.

`GreeterScreen`

  Dies ist der Bildschirm, auf dem das Anmeldefenster auf Mehrschirmsystemen (Multi-Head, Xinerama) erscheinen soll. Die Nummerierung beginnt bei 0. Bei Xinerama entspricht dies der Reihenfolge der Auflistung im Bereich ServerLayout der Datei XF86Config. -1 bedeutet, den Bildschirm oben links zu verwenden, -2 ist der Bildschirm oben rechts.

`GreetString`

  Die Überschrift im Anmeldefenster. Ein leerer Eintrag deaktiviert die Überschrift.

  Die folgenden Platzhalter werden durch entsprechenden Werte ersetzt:

  `%d`

    Name des aktuellen Displays

  `%h`

    der lokale Rechnername, möglicherweise mit Domänenname

  `%n`

    lokaler Rechnername, höchstwahrscheinlich der Rechnername ohne den Domänennamen

  `%s`

    das Betriebssystem

  `%r`

    die Betriebssystemversion

  `%m`

    Maschinentyp (Hardwarebezogen)

  `%%`

    das Prozentzeichen `%`

  Die Voreinstellung ist Willkommen zu %s auf %n.

`AntiAliasing`

  Legt fest, ob die Kantenglättung für die Schrift im Anmeldefenster aktiviert werden soll.

  Die Voreinstellung ist false.

`GreetFont`

  Die Schriftart für die Überschrift des Anmeldefensters. Der Wert ist kodiert.

  Die Voreinstellung ist Serif 20pt fett.

`StdFont`

  Die normale Schrift im Anmeldefenster. Der Wert ist kodiert.

  Die Voreinstellung ist Sans Serif 10pt.

`FailFont`

  Die Schriftart, die für die Nachricht Anmeldung fehlgeschlagen verwendet wird. Der Wert ist kodiert.

  Die Voreinstellung ist Sans Serif 10pt fett.

`NumLock`

  Legt den Status der Num Lock-Taste im Anmeldefenster fest:

  `Off`

    abschalten

  `On`

    einschalten

  `Keep`

    den aktuellen Status beibehalten

  Die Voreinstellung ist Keep.

`Language`

  Die im Anmeldefenster zu verwendenden Regional- und Spracheinstellung, kodiert wie $`LANGUAGE`. Falls leer, wird die systemweite Einstellung verwendet.

  Per Voreinstellung leer.

`UserCompletion`

  Aktiviert die automatische Vervollständigung im Textfeld für den Benutzernamen.

  Die Voreinstellung ist false.

`UserList`

  Zeigt eine Liste mit Benutzernamen, echten Namen und Bildern im Anmeldefenster an.

  Die Voreinstellung ist true.

`ShowUsers`

  Diese Einstellung legt fest, welche Benutzer in der Benutzerliste (Option `UserList`) angezeigt werden und/oder für die Autovervollständigung (`UserCompletion`) zur Verfügung stehen. Bei Wahl von `Selected` enthält `SelectedUsers` eine endgültige Liste der Benutzer. Mit der Einstellung `NotHidden` enthält die Liste anfangs alle im System gefundenen Benutzer. In `HiddenUsers` aufgeführte Benutzer werden aus der Liste entfernt, genauso wie alle Benutzer mit einer UID größer `MaxShowUID` sowie Benutzer mit einer UID,die nicht 0 und kleiner als `MinShowUID` ist. Einträge in `SelectedUsers` und `HiddenUsers` mit einem vorangestellten `@` repräsentieren alle Benutzer der so genannten Gruppe. Schlussendlich wird die fertige Liste alphabetisch sortiert, sofern die Option `SortUsers` aktiviert ist.

  Die Voreinstellung ist NotHidden.

`SelectedUsers`

  Siehe `ShowUsers`.

  Per Voreinstellung leer.

`HiddenUsers`

  Siehe `ShowUsers`.

  Per Voreinstellung leer.

`MinShowUID`

  Siehe `ShowUsers`.

`MaxShowUID`

  Siehe `ShowUsers`.

  Die Voreinstellung ist 65535.

`SortUsers`

  Siehe `ShowUsers`.

  Die Voreinstellung ist true.

`FaceSource`

  Wenn `UserList` aktiviert ist, wird hiermit angegeben, aus welchen Quellen &kdm; die Benutzerbilder bezieht:

  `AdminOnly`

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

  `PreferAdmin`

    bevorzugt <`FaceDir`>, ansonsten $`HOME`

  `PreferUser`

    ... und anders herum

  `UserOnly`

    aus dem Persönlichen Ordner `$`HOME`/.face[.icon]` des Benutzers

  Die Bilder dürfen in jedem von Qt unterstützten Format vorliegen, aber der Dateiname muss den folgenden Erwartungen von &kdm; entsprechen: `.face.icon` muss ein 48x48 Pixel großes Symbol sein, während `.face` ein 300x300 Pixel großes Bild ist. Derzeit wird das große Bild nur als Alternative verwendet und herunter skaliert, möglicherweise wird es aber in Zukunft auch im Logobereich oder einem Kurztipp angezeigt. Damit sie von &kdm; gelesen werden können, müssen die Bilder für alle lesbar, sowie der übergeordnete Ordner für alle ausführbar sein.

  Die Voreinstellung ist AdminOnly.

`FaceDir`

  Siehe `FaceSource`.

  Die Voreinstellung ist ${`kde_datadir`}/kdm/faces.

`PreselectUser`

  Gibt an, ob und welcher Benutzer für die Anmeldung vorausgewählt sein soll:

  `None`

    keinen Benutzer vorauswählen

  `Previous`

    der Benutzer, der sich als letzter erfolgreich angemeldet hat

  `Default`

    Der Benutzer, der in der Option `DefaultUser` angegeben ist

  Falls `FocusPassword` aktiviert ist und ein Benutzer vorausgewählt wurde, so wird der Cursor automatisch in das Passworteingabefeld gestellt, sodass direkt mit der Passworteingabe begonnen werden kann.

  Die Vorauswahl eines Benutzers kann als Sicherheitsrisiko empfunden werden, weil einem möglichen Angreifer auf diese Weise ein gültiger Benutzername verraten wird. Nun muss er nur noch das Passwort erraten und nicht mehr beides. Auf der anderen Seite könnte man auch `DefaultUser` entsprechend setzen, um einen gefälschten Benutzernamen einzustellen.

  Die Voreinstellung ist None.

`DefaultUser`

  Siehe `PreselectUser`.

  Per Voreinstellung leer.

`FocusPasswd`

  Siehe `PreselectUser`.

  Die Voreinstellung ist false.

`EchoPasswd`

  Wenn true, wird das eingegebene Passwort in Form von Sternchen dargestellt. Andernfalls erfolgt bei Eingabe des Passworts keine sichtbare Ausgabe.

  Die Voreinstellung ist true.

`UseBackground`

  Falls aktiviert, wird &kdm; automatisch das Programm `krootimage` starten, um den Hintergrund einzurichten. Ansonsten ist Das `Setup`-Programm dafür zuständig.

  Die Voreinstellung ist true.

`BackgroundCfg`

  Die Konfigurationsdatei für `krootimage`. Sie enthält einen Abschnitt `[Desktop0]`, genauso wie `kdesktoprc` auch. Die Optionen werden hier nicht weiter beschrieben. Erraten Sie deren Bedeutung oder verwenden Sie das Kontrollzentrum zur Einstellung.

  Die Voreinstellung ist ${`kde_confdir`}/kdm/backgroundrc.

`GrabInput`

  Zur Erhöhung der Sicherheit kann das Anmeldefenster Maus und Tastatur exklusiv beanspruchen, damit keine anderen X-Clients mithören können. Allerdings sorgt das X-Autorisierungsverfahren normalerweise dafür, dass bösartige X-Clients gar nicht erst verbinden können. Aus diesem Grund ist das Beanspruchen lokaler Displays sinnlos und erhöht die Sicherheit bei entfernten Displays nur geringfügig.

  Durch das exklusive Beanspruchen der Maus können Bildschirmtastaturen nicht benutzt werden.

  `Never`

    niemals beanspruchen

  `IfNoAuth`

    beanspruchen, wenn das Display keine X-Autorisierung benötigt

  `Always`

    immer beanspruchen

  Die Voreinstellung ist IfNoAuth.

`GrabServer`

  Zur Erhöhung der Sicherheit beansprucht das Anmeldefenster exklusiv den &X-Server; und anschließend beim Start die Eingabe. Diese Option gibt an, ob die Beanspruchung für die Dauer des Auslesens von Name und Passwort beibehalten werden soll. Wenn deaktiviert, wird der &X-Server; wieder freigegeben, sobald die Eingabe erfolgreich beansprucht wurde, ansonsten wird der &X-Server; bis kurz vor den Sitzungsstart beansprucht.

  Das Aktivieren dieser Einstellung deaktiviert die Optionen `UseBackground` und `Setup`.

  Die Voreinstellung ist false.

`GrabTimeout`

  Diese Option gibt die maximale Wartezeit für &kdm; an, bis eine Beanspruchung erfolgreich ist. Eine Beanspruchung könnte scheitern, wenn der &X-Server; oder die Tastatur bereits durch einen anderen X-Client beansprucht wird oder wenn die Wartezeit im Netzwerk ziemlich hoch ist. Sie sollten die Wartezeit nicht unvorsichtig heraufsetzen, denn ein Benutzer könnte getäuscht werden durch ein Fenster, welches wie das Anmeldefenster von &kdm; aussieht. Falls die Beanspruchung durch &kdm; fehlschlägt, werden der &X-Server; (wenn möglich) sowie die Sitzung beendet und neu gestartet.

  Die Voreinstellung ist 3.

`AuthComplain`

  Warnen, falls ein Display keine X-Autorisierung hat. Dies ist der Fall, wenn

  - die Datei mit den Autorisierungsdaten für den lokalen &X-Server; nicht erstellt werden konnte,

  - ein entferntes &XDMCP;-Display keine Autorisierung angefordert hat oder

  - das Display ein entferntes Display aus der Liste `StaticServers` ist.

  Die Voreinstellung ist true.

`LoginMode`

  Gibt an, ob das Anmeldefenster für lokale Displays mit der Auswahl von entfernten Rechnern oder der lokalen Anmeldung starten soll und ob der Wechsel zum jeweils anderen Modus erlaubt ist.

  `LocalOnly`

    nur lokale Anmeldung möglich

  `DefaultLocal`

    im lokalen Modus starten, das Umschalten in den entfernten Modus ist erlaubt

  `DefaultRemote`

    ... und anders herum

  `RemoteOnly`

    es können nur entfernte Rechner ausgewählt werden

  Die Voreinstellung ist LocalOnly.

`ChooserHosts`

  Eine Liste mit Rechnern, die automatisch zum Menü für entfernte Anmeldungen hinzugefügt werden. Der besondere Eintrag `*` meint Broadcast. Dies hat keine Wirkung, wenn `LoginMode` auf `LocalOnly` eingestellt ist.

  Die Voreinstellung ist *.

`ForgingSeed`

  Diese Zahl wird als Zufallsbasis verwendet, wenn gefälschte gespeicherte Sitzungstypen &etc; für unbekannte Nutzer generiert werden. Dies ist nützlich, um einem potentiellen Angreifer keine Rückschlüsse auf real existierende Benutzer zu ermöglichen. Dieser Wert sollte zufällig, aber einheitlich über die gesamte Anmeldedomäne sein.

`ShowLog`

  Aktiviert &kdm;s eingebaute `xconsole`. Hinweis: Dies kann nur für ein Display gleichzeitig aktiv sein. Die Option ist nur verfügbar, wenn &kdm; mit der Option `--enable-kdm-xconsole` konfiguriert und kompiliert wurde.

  Die Voreinstellung ist false.

`LogSource`

  Die Datenquelle für &kdm;s eingebaute `xconsole`. Falls leer, wird eine Protokollumleitung von `/dev/console` angefordert. Dies zeigt keine Wirkung, wenn `ShowLog` deaktiviert ist.

  Per Voreinstellung leer.

`PluginsLogin`

  Gibt Kommunikationserweiterungen für das Anmeldefenster an; die erste in der Liste ist eingangs ausgewählt. Jede Erweiterung kann mit dem Basisnamen (expandiert zu `$`kde_modulordner`/kgreet_basis`) oder dem vollständigen Pfad angegeben werden.

  Kommunikationserweiterungen sind Module für das Anmeldefenster, mit deren Hilfe Authentifizierungsdaten über Benutzer eingeholt werden können. Mit &kde; wird derzeit nur die `classic`-Erweiterung ausgeliefert, welche die typische Form Benutzername/Passwort unterstützt.

  Die Voreinstellung ist classic.

`PluginsShutdown`

  Das Gleiche wie `PluginsLogin`, nur für den Herunterfahren-Dialog.

  Die Voreinstellung ist classic.

`PluginOptions`

  Eine Liste mit Optionen in der Form Schlüssel`=`Wert. Die Kommunikationserweiterungen können diese Einstellungen abrufen; welche Schlüssel-Wert-Paare gültig sind, liegt im Ermessen der jeweiligen Erweiterung.

  Per Voreinstellung leer.

`AllowConsole`

  Zeigt die Option zur Konsolen-Anmeldung im Anmeldefenster an (falls `ServerTTY`/`ConsoleTTYs` eingerichtet ist).

  Die Voreinstellung ist true.

`AllowClose`

  Zeigt die Option X-Server neu starten/Verbindung schließen im Anmeldefenster an.

  Die Voreinstellung ist true.

`Preloader`

  Ein Programm, welches läuft, während das Anmeldefenster sichtbar ist. Dieses soll soviel wie möglich von der (wahrscheinlich) zu startenden Sitzung im Voraus laden.

  Per Voreinstellung leer.

`UseTheme`

  Gibt an ob ein Design für das Anmeldefenster verwendet werden soll. Beachten Sie dass ein Design nur eingeschränkte Zugangshilfen bereitstellen kann und möglicherweise Funktionen wie eine Benutzerliste oder alternative Autorisierung-Verfahren nicht unterstützt.

  Die Voreinstellung ist false.

`Theme`

  Der für das Anmeldefenster zu verwendende Stil. Dies kann entweder auf einen Ordner oder auf eine XML-Datei verweisen.

  Per Voreinstellung leer.

`AllowThemeDebug`

  Aktiviert das Tastenkürzel Alt-Strg-D zum Ein- und Ausschalten des Debuggings des Designs für das Anmeldefensters.

  Die Voreinstellung ist false.

## Angeben permanenter &X-Server;

Jeder Eintrag in der Liste `StaticServers` definiert ein Display, das dauerhaft verwaltet werden soll und kein &XDMCP; verwendet. Diese Methode wird typischerweise nur für lokale, von &kdm; gestartete &X-Server; verwendet; &kdm; kann jedoch auch externe Displays verwalten, egal ob sie auf dem gleichen Rechner oder räumlich entfernt laufen.

Die formale Syntax lautet:

    Display-Name [_Display-Klasse]

für alle &X-Server;. Fremde Displays unterscheiden sich darin, dass ihr Name einen Rechnernamen enthält, und sei es nur `localhost`.

Der Displayname muss der Option `-display` des X-Programms angehängt werden können. Diese Angabe wird zum Erzeugen der Display-spezifischen Abschnittsnamen verwendet, achten Sie also darauf, die Namen korrekt anzugeben. Der Displayname von &XDMCP;-Displays wird aus der Adresse des rückwärts aufgelösten Rechnernamens generiert. Zu Zwecken der Konfiguration wird das Präfix `localhost` von lokal laufenden &XDMCP;-Displays nicht entfernt, um sie von durch &kdm; gestarteten Displays unterscheiden zu können.

Die Display-Klasse wird auch in den Display-spezifisch Bereichen verwendet. Dies ist nützlich, wenn Sie viele ähnliche Displays und Einstellungen für die gesamte Gruppe festlegen möchten. Wenn Sie &XDMCP; verwenden, muss das Display seine Klasse bekanntmachen. Das Handbuch zu Ihrem Terminal sollte die Display-Klasse für Ihr Gerät angeben. Falls dies nicht der Fall sein sollte, können Sie &kdm; im Debug-Modus betreiben und mit `grep` das Protokoll nach class durchforsten.

Die in `ReserveServers` angegebenen Displays werden nicht beim Start von &kdm; gestartet, sondern wenn der Start explizit über den Befehls-Socket angefordert wird. Wenn Reserve-Displays angegeben sind, wird das &kde;-Menü ziemlich weit unten den Eintrag Neue Sitzung starten anzeigen; damit können Sie eine neue Reserve-Display mit einer neuen Sitzung starten. Ihr Bildschirm wird zu der neuen Sitzung umschalten und Sie haben eine Minute Zeit, sich anzumelden. Wenn keine weiteren Reserve-Displays mehr verfügbar sind, wird der Menüeintrag ausgeblendet.

Wenn &kdm; eine Sitzung startet, werden die Autorisierungsdaten für den &X-Server; eingerichtet. Für lokale Server übergibt &kdm; die Option ``-auth` `Dateiname`` an den &X-Server; und übergibt damit die nötigen Daten. Für &XDMCP;-Displays übergibt &kdm; die Daten über die &XDMCP;-Accept-Nachricht.

## &XDMCP; Zugriffskontrolle

Die mit `AccessFile` angegebene Datei enthält Informationen, mit denen &kdm; die Kontrolle über Verbindungsversuche von entfernten &XDMCP;-Displays regelt. Die Datei enthält vier Arten von Einträgen: Regeln zur Reaktion auf direkte und Broadcast-Anfragen, Regeln zur Reaktion auf indirekte Anfragen, Makrodefinitionen, und Einträge zum Festlegen der Netzwerkschnittstellen, auf welchen &kdm; auf &XDMCP;-Anfragen wartet. Leere Zeilen werden ignoriert, `#` wird als Kommentarzeichen gewertet, woraufhin der Rest der Zeile ignoriert wird, und `\` bewirkt, dass ein direkt darauf folgendes newline-Zeichen ignoriert wird, um &eg; eine Liste über mehrere Zeilen realisieren zu können.

Das Format der indirekten Einträge ist einfach, entweder ein Rechnername oder Muster, welches mit dem Rechnernamen des Displays verglichen wird. Alternativ kann ein Makro verwendet werden, damit der Eintrag auf alles passt, wozu das Makro aufgelöst werden kann. Muster werden von Rechnernamen mit Hilfe von einem oder mehr Metazeichen unterschieden: `*` passt auf eine Folge von 0 oder mehr Zeichen und `?` passt auf genau ein beliebiges Zeichen. Wenn der Eintrag ein Rechnername ist, werden alle Vergleiche mit Hilfe von Netzwerkadressen durchgeführt. Jeder Name, der zur korrekten Adresse aufgelöst werden kann, ist gültig. Nur die erste für einen Rechnernamen ermittelte Netzwerkadresse wird verwendet. Für Muster werden nur kanonische Rechnernamen in den Vergleich einbezogen, stellen Sie also sicher, dass Sie keine Aliase verwenden. Rechnernamen aus &XDMCP;-Anfragen enthalten immer den lokalen Domänennamen, selbst wenn die Rückwärtsauflösung einen Kurznamen zurückliefert. Sie können also Muster für die lokale Domäne verwenden. Wenn Sie einem Eintrag ein `!` voranstellen, so wird die Bedeutung umgekehrt, der Rechner also ausgeschlossen. Das Voranstellen von `=` hat keine Auswirkung, ist aber bei Angabe eines Makros nötig, um den Eintrag von einer Makro-Definition zu unterscheiden. Um nur auf direkte Anfragen für einen Rechner oder Muster zu reagieren, können Sie dem Eintrag das Stichwort `NOBROADCAST` anhängen. Auf diese Weise können Sie verhindern, dass ein &kdm;-Server in Menüs erscheint, die auf Broadcasts reagieren.

Ein indirekter Eintrag enthält ebenfalls einen Rechnername, ein Muster oder ein Makro, jedoch folgt dem Eintrag eine Liste mit Rechnernamen oder Makros, an die die Anfragen weitergeleitet werden sollen. Indirekte Einträge können ebenfalls ausschließen. In diesem Fall müssen Sie einen (gültigen) dummy-Rechnernamen zur Verfügung stellen, damit der Eintrag von einem direkten Eintrag unterschieden werden kann. Falls &kdm; über IPv6-Unterstützung verfügt, können auch Multicast-Adressgruppen in der Liste erscheinen. Wenn die Liste der indirekten Rechner das Stichwort `CHOOSER` enthält, so werden indirekte Anfragen nicht weitergeleitet, stattdessen wird die Rechnerauswahl von &kdm; angezeigt. Diese wiederum sendet direkte Anfragen an jeden der verbleibenden Einträge in der Liste und offeriert dann ein Menü mit allen antwortenden Anzeigen. Die Rechnerliste kann auch das Stichwort `BROADCAST` enthalten, damit der Chooser auch Broadcast-Anfragen sendet. Beachten Sie bitte, dass einige Betriebssysteme keine UDP-Pakete via broadcast senden können, daher wird diese Funktion dort nicht korrekt arbeiten.

Bei der Überprüfung der Zugangsberechtigung für einen bestimmten Rechner wird jeder Eintrag durchgegangen und der erste passende Eintrag entscheidet über die Antwort. Direkte und Broadcast-Anfragen werden ignoriert, wenn nach einem indirekten Eintrag gesucht wird, und umgekehrt funktioniert es genauso.

Eine Makrodefinition enthält einen Makronamen und eine Liste mit Rechnernamen und weiteren Makros, auf die dieses Makro expandiert. Um Makros von Rechnernamen unterscheiden zu können, starten Sie mit dem Prozentzeichen `%`.

Der letzte Eintrag dieser Art ist die `LISTEN`-Direktive. Die formale Syntax lautet:

     LISTEN [Schnittstelle [Multicast-Liste]]

Wenn eine oder mehrere `LISTEN`-Einträge angegeben sind, wartet &kdm; nur an den definierten Netzwerkschnittstellen auf &XDMCP;-Anfragen. Schnittstellen können entweder Rechnernamen oder IP-Adressen von Netzwerkkarten auf diesem Rechner sein. Der Platzhalter `*` repräsentiert alle verfügbaren Netzwerkschnittstellen. Wenn Multicast-Gruppenadressen in einer `LISTEN`-Zeile angegeben werden, so tritt &kdm; diesen Multicast-Gruppen an der Schnittstelle bei. Für IPv6-Multicast hat die IANA ff0X:0:0:0:0:0:0:12b als den permanent zugewiesenen Adressbereich für &XDMCP; vorgesehen. Das X im Präfix kann durch einen gültigen Bereichsidentifizierer (scope), wie &eg; 1 für Node-Local, 2 für Link-Local, 5 für Site-Local &etc; (siehe IETF RFC 2373) vergeben werden. &kdm; verwendet in der Voreinstellung die Link-Local-Adresse ff02:0:0:0:0:0:0:12b um möglichst nah am IPv4-Pendant zu sein. Wenn keine `LISTEN`-Zeilen angegeben werden, wartet &kdm; auf allen Schnittstellen und betritt die Standard-Multicastgruppe für &XDMCP;-Anfragen. Um das Warten auf &XDMCP;-Verbindungen zu deaktivieren, können Sie eine `LISTEN`-Zeile ohne Adresse angeben, jedoch wird die Verwendung von `[Xdmcp]` `Enable` vorgezogen.

## Hilfsprogramme

Die folgenden Programme werden von &kdm; in bestimmten Startphasen ausgeführt. Es handelt sich typischerweise um Shell-Skripte.

Die Setup-, Startup- und Reset-Programme werden als Systemverwalter root ausgeführt. Beim Erstellen dieser Skripte sollte man die Systemsicherheit im Auge behalten. Das erste Argument ist `auto`, sofern die Sitzung aus einer automatischen Anmeldung resultiert; ansonsten werden keine Argumente an die Skripte übergeben.

### Setup-Programm

Das Programm `Xsetup` wird ausgeführt, nachdem der &X-Server; gestartet oder zurückgesetzt wurde, aber befor das Anmeldefenster angezeigt wird. Hier können Sie &eg; den Hintergrund verändern (falls die Option `UseBackground` deaktiviert ist) oder zusätzliche Fenster anzeigen lassen. Ressourcen für das Programm können in der Datei mit Namen `Resources` abgelegt werden.

Zusätzlich zu den mit `ExportListe` angegebenen, werden noch die folgenden Umgebungsvariablen übergeben:

DISPLAY

  der zugewiesene Displayname

PATH

  der Wert von `SystemPath`

SHELL

  der Wert von `SystemShell`

XAUTHORITY

  kann auf eine Authority-Datei gesetzt werden

DM_CONTROL

  der Wert von `FifoDir`

`GrabInput` veranlasst &kdm; dazu, Tastatur und Maus exklusiv zu beanspruchen, wodurch andere Fenster keine Eingaben mehr empfangen können. Ist `GrabServer` gesetzt, kann sich `Xsetup` nicht zum Display verbinden.

### Startup-Programm

Das Programm `Startup` wird als Systemverwalter root ausgeführt, wenn der Benutzer sich anmeldet. Hier können Einträge in `utmp` vorgenommen werden (dafür könnte `sessreg` nützlich sein), entfernte Persönliche Ordner des Benutzers eingebunden werden, oder die Sitzung beendet werden falls eine Voraussetzung nicht erfüllt wird. Die meisten dieser Aufgaben werden auf modernen Systemen bereits von entsprechenden PAM-Modulen bereitgestellt.

Zusätzlich zu den mit `ExportListe` angegebenen, werden noch die folgenden Umgebungsvariablen übergeben:

DISPLAY

  der zugewiesene Displayname

HOME

  der initiale Arbeitsordner des Benutzers

LOGNAME

  der Benutzername

USER

  der Benutzername

PATH

  der Wert von `SystemPath`

SHELL

  der Wert von `SystemShell`

XAUTHORITY

  kann auf eine Authority-Datei gesetzt werden

DM_CONTROL

  der Wert von `FifoDir`

&kdm; wartet, bis das Programm beendet ist, bevor es die eigentliche Sitzung des Benutzers startet. Wenn der Rückgabewert des Programms nicht 0 ist, wird &kdm; die Sitzung nicht fortführen und stattdessen erneut authentifizieren.

### Session-Programm

Das Programm `Xsession` ist der Befehl, welches als die Sitzung des Benutzers ausgeführt wird. Sie wird mit den Rechten des angemeldeten Benutzers ausgeführt. Das erste Argument an das Programm ist der Wert `failsafe`, `default`, `custom` oder eine Zeichenkette an `eval`, die von einer Bourne-Shell ausgewertet werden kann.

Zusätzlich zu den mit `ExportListe` angegebenen, werden noch die folgenden Umgebungsvariablen übergeben:

DISPLAY

  der zugewiesene Displayname

HOME

  der initiale Arbeitsordner des Benutzers

LOGNAME

  der Benutzername

USER

  der Benutzername

PATH

  der Wert von `UserPath` (oder `SystemPath` für root-Sitzungen)

SHELL

  Die Standard-Shell des Benutzers

XAUTHORITY

  kann auf eine vom Standard abweichende Authority-Datei eingestellt werden

KRBTKFILE

  kann auf einen Zwischenspeicher-Namen für Kerberos4-Benutzerdaten eingestellt werden

KRB5CCNAME

  kann auf einen Zwischenspeicher-Namen für Kerberos5-Benutzerdaten eingestellt werden

DM_CONTROL

  der Wert von `FifoDir`

XDM_MANAGED

  enthält eine durch Kommata getrennte Liste mit Parametern, die für die Sitzung interessant sein könnten. Dazu gehört zum Beispiel, welche Kommunikationserweiterung für die Anmeldung benutzt wurde

DESKTOP_SESSION

  der Name der Sitzung, die der Benutzer ausgewählt hat

### Reset-Programm

Entsprechend zu `Xstartup` wird `Xreset` ausgeführt, nachdem die Sitzung beendet wurde. Dies wird als Systemverwalter root ausgeführt und sollte die Befehle zum Rückgängigmachen der Befehle aus `Xstartup` enthalten. Dazu gehört &eg; das Entfernen der Einträge aus `utmp` oder das Lösen der Laufwerkseinbindungen von Dateiservern.

Die Umgebungsvariablen, die an `Xstartup` übergeben wurden, werden ebenso an `Xreset` übergeben.