<?xml version="1.0" ?>
<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN"
"dtd/kdex.dtd" [
  <!ENTITY kappname "&kdm;">
  <!ENTITY package "kdebase">
  <!ENTITY kdmrc "<filename
>kdmrc</filename
>">
  <!ENTITY ksmserver "<application
>ksmserver</application
>">
  <!ENTITY kdesktop "<application
>kdesktop</application
>">
  <!ENTITY XDMCP "<acronym
>XDMCP</acronym
>">
  <!ENTITY xdm "<application
>xdm</application
>">
  <!ENTITY kdmrc-ref SYSTEM "kdmrc-ref.docbook">
  <!ENTITY % addindex "INCLUDE">
  <!ENTITY % German "INCLUDE"
> <!-- change language only here -->
]>

<book lang="&language;">
<bookinfo>
<title
>Das Handbuch zu &kdm;</title>

<authorgroup>
<author
>&Oswald.Buddenhagen; &Oswald.Buddenhagen.mail; </author
><!-- 
<othercredit role="developer">
&Oswald.Buddenhagen; &Oswald.Buddenhagen.mail;
<contrib
>Developer</contrib>
</othercredit>
<othercredit role="reviewer">
&Lauri.Watts; &Lauri.Watts.mail;
<contrib
>Reviewer</contrib>
</othercredit
> -->

<!-- Volker Dose <email
>vpdose@cpmgut.toppoint.de</email
>, Hartmut Haase <email
>hartmut.haase@web.de</email
>, Stefan Doll <email
>stefan@laugenweck.de</email
> --> 

</authorgroup>

<copyright>
<year
>2000</year>
<holder
>&Neal.Crook;</holder>
</copyright>

<copyright>
<year
>2002</year>
<holder
>&Oswald.Buddenhagen;</holder>
</copyright>

<copyright>
<year
>2003</year>
<holder
>&Lauri.Watts;</holder>
</copyright>

<date
>2003-03-01</date>
<releaseinfo
>0.05.02</releaseinfo>

<abstract>
<para
>Dieses Dokument beschreibt &kdm;, den &kde;-Anmeldungsmanager.</para>
</abstract>

<keywordset>
<keyword
>KDE</keyword>
<keyword
>kdm</keyword>
<keyword
>xdm</keyword>
<keyword
>display manager</keyword>
<keyword
>login manager</keyword>
</keywordset>
</bookinfo>

<!-- ********************************************************************** -->  
<chapter id="introduction">
<title
>Einführung</title>

<para
>Der &kdm; ist eine graphische Schnittstelle, um sich beim System anzumelden. Durch Eingabe von Anmeldekennung und Passwort erfolgt eine Authentifizierung und &kdm; startet eine <quote
>Sitzung</quote
>. &kdm; ist ein Ersatz für <application
>xdm</application
>, den X Display Manager und bietet diesem gegenüber einige Verbesserungen.</para>

</chapter>

<!-- Chapters to write -->
<!-- * Just enough config to get it to run and login to KDE 
     * Adding more session types (GNOME, etc)
     * Adding other customizations to XSession (ssh/gpg-agent, etc)
     * Further customization to KDM (via the kcontrol module, and by 
       hand)
     * XDMCP by query
     * XDMCP by broadcast
     * Sound transparency (if Ade can tell me how!)
     * Document all Keys in the Config File
     * Pull in all options from the KControl Module
     * More resources
-->

<chapter id="quickstart">
<title
>Kurzanleitung</title>

<para
>Dies ist eine Kurzanleitung für Benutzer für die folgendes zutrifft:</para>

<itemizedlist>
<listitem>
<para
>X ist eingerichtet und kann mit dem Befehl <command
>startx</command
> von der Befehlszeile gestartet werden.</para>
</listitem>
<listitem>
<para
>Typischerweise verwendet ein Benutzer nur einen einzigen Fenstermanager bzw eine einzige Desktopumgebung. Geändert wird sie nur selten, und nicht allen Benutzern fällt es leicht, dies über Editieren einer Konfigurationsdatei vorzunehmen.</para>
</listitem>
</itemizedlist>

<para
>Diese Einstellungen sind für viele Systeme ausreichend, bei denen ein einzelner Benutzer oder mehre Benutzer üblicherweise zunächst den Computer hochfahren und sich dann anmelden möchten.</para>

<procedure>
<title
>Auswählen einer Standardsitzung</title>
<step>
<para
>Bearbeiten oder Anlegen der Datei <filename
>~/.xinitrc</filename
></para>
<para
>Falls Sie bereits über eine funktionierende <filename
>~/.xinitrc</filename
> verfügen, können Sie diesen Schritt überspringen.</para>
</step>
<step>
<para
>Falls noch nicht vorhanden, fügen Sie <filename
>~/.xinitrc</filename
> eine Zeile hinzu um Ihren Fenstermanager bzw Ihre Desktopumgebung zu starten.</para>
<para
>Für &kde; sollten Sie folgendes eingeben:</para>
<screen
><userinput
>startkde</userinput
></screen>
<para
>Für andere Fenstermanager und Desktopumgebungen sollten Sie das entsprechende Kommando in der jeweiligen Dokumentation finden.</para>
</step>
<step
><para
>Richten Sie wie folgt einen Link ein:</para>
<screen
><userinput
><command
>ln</command
> <option
>-s</option
> <parameter
>~/.xinitrc ~/.xsession</parameter
></userinput
></screen>
</step>
</procedure>

<para
>Wenn nun <userinput
><command
>startx</command
></userinput
> an der Kommandozeile eingegeben wird sollte X mit einer &kde;-Sitzung starten. Als nächster Schritt wird &kdm; getestet.</para>

<para
>Dazu sollte als Benutzer<systemitem class="username"
>root</systemitem
> <userinput
><command
>kdm</command
></userinput
> an der Kommandozeile eingegeben werden.</para>

<para
>Sie sollten nun ein Anmeldefenster sehen, das in <xref linkend="login"/> beschrieben wird.</para>

<para
>Wenn Sie nun Ihren Benutzernamen und Ihr Passwort in die dafür vorgesehenen Felder eingeben und <option
>Standard</option
> als Sitzungstyp auswählen dann sollten Sie eine &kde;-Sitzung erhalten.</para>

<para
>Falls Sie noch weiter Benutzer einrichten wollen sollten Sie die Prozedur, wie oben beschrieben, für jeden Benutzer wiederholen.</para>

<note>
<para
>Dies ist eine Kurzanleitung um &kdm; zum Laufen zu bringen. Sie werden wahrscheinlich darüberhinaus &kdm; weiter konfigurieren wollen. Zum Beispiel um die Namen von Systemkonten auszublenden, weitere Sitzungstypen einzurichten und vieles mehr. Bitte konsultieren Sie den Rest dieses Handbuchs für Informationen zu diesen Themen.</para>
</note>

</chapter>

<chapter id="login"
> 
<title
>Das Anmeldefenster</title
> 

<para
>Die Benutzung von &kdm; erfolgt über zwei Dialogboxen. Der Hauptdialog bietet folgende Funktionen:</para>

<itemizedlist
> 
<listitem>
<para
>Ein Eingabefeld <guilabel
>Benutzername:</guilabel
> zur Eingabe Ihrer Anmeldekennung.</para>
</listitem>

<listitem>
<para
>Ein Eingabefeld <guilabel
>Passwort:</guilabel
>, um Ihr Passwort einzugeben.</para>
</listitem>

<listitem>
<para
>Ein (optionales) Bild für jeden Benutzer (z.&nbsp;B. ein Digitalphoto). Klicken Sie auf ein Bild, wird der Benutzername in das Feld <guilabel
>Benutzername:</guilabel
>übertragen. (Diese Funktion ist der IRIX-Anmeldung nachempfunden.)</para
> 
</listitem>

<listitem>
<para
>Ein Auswahlfeld <guilabel
>Sitzungsart:</guilabel
> zur Auswahl der gewünschten Sitzungsart. &kdm; kann eine Sitzung mit verschiedenen Fenstermanagern und Desktopumgebungen, die auf dem System installiert sind, starten.</para>
</listitem>

<listitem>
<para
>(Optional) ein Bereich rechts von den Eingabefeldern, der für die Anzeige eines Bildes oder einer Analoguhr verwendet werden kann.</para>
</listitem>

<listitem>
<para
>Einen Knopf <guibutton
>Anmelden</guibutton
>, der die Kombination Benutzername und Passwort prüft und dann versucht die gewählte Sitzung zu starten.</para>
</listitem>

<listitem>
<para
>Einen <guibutton
>Abbrechen</guibutton
>-Knopf, der die <guilabel
>Benutzername</guilabel
>- und <guilabel
>Passwort</guilabel
>-Felder löscht.</para>
</listitem
> 

<listitem>
<para
>Ein <guibutton
>Menü</guibutton
>-Knopf, der ein Aktionsmenü mit den folgendenEinträgen öffnet:</para>
 
<itemizedlist>
<listitem>
<para
>(Für die Konsole) Eine Option <guimenuitem
>X-Server neu starten</guimenuitem
> die den derzeit laufenden &X-Server; beendet und neu startet. Das Anmeldungsfenster wird dann erneut aufgebaut. Das kann nützlich sein, wenn die Bildschirmanzeige nicht korrekt erscheint.</para>
</listitem>

<listitem>
<para
>(Für Fremdrechner) Eine Option <guimenuitem
>Verbindung trennen</guimenuitem
> die die Verbindung zum derzeit ausgewählten XDMCP-Server trennt. Falls die Verbindung mittels eines Host-Selektors aufgebaut wurde, wird das Menü des Selektors wieder aufgebaut - ansonsten wird lediglich der &X-Server; neugestartet und das Anmeldungsfenster wird erneut aufgebaut.</para>
</listitem>

<listitem>
<para
>(Optional an der Konsole) Eine Option <guimenuitem
>Konsole Modus</guimenuitem
>, die den derzeit laufenden &X-Server; beendet und eine Anmeldung an der Befehlszeile präsentiert. &kdm; startet nach einiger Zeit wieder ein graphisches Anmeldefenster, wenn sich niemand an der Konsole angemeldet hat.</para>
</listitem>
</itemizedlist>
</listitem>

<listitem>
<para
>(Optional) einen Knopf <guilabel
>Beenden</guilabel
>, der das Menü <guilabel
>Beenden</guilabel
> aufruft.</para>
</listitem>
</itemizedlist>

<para
>Das Menü <guilabel
>Beenden</guilabel
> bietet die folgenden Optionen, von denen eine ausgewählt werden kann:</para>

<variablelist>
<varlistentry>
<term
>Herunterfahren</term
> 
<listitem>
<para
>Fährt das System kontrolliert herunter, danach können Sie den Rechner ausschalten.</para>
</listitem>
</varlistentry>
<varlistentry>
<term
>Neu starten</term>
<listitem>
<para
>Fährt das System herunter und führt einen Neustart durch. Für Systeme, die <application
>LILO</application
> benutzen, kann man in einem weiteren Kästchen wählen, mit welchem Betriebssystem bzw. Kernel der Neustart erfolgen soll.</para>
</listitem>
</varlistentry>
<varlistentry>
<term
>X Server neu starten</term
> 
<listitem>
<para
>Diese Option können Sie benutzen, wenn Sie Ihre X11-Einstellungen geändert haben.</para>
</listitem>
</varlistentry>
<varlistentry>
<term
>Konsolen-Modus</term>
<listitem>
<para
>Hält den &X-Server; an und bringt das System in den Konsolen-Modus zurück. Das wird dadurch erreicht, dass das System auf den Runlevel 3 gebracht wird. Typischerweise benutzt der Systemadministrator diese Option, wenn er das System aktualisieren oder die X11-Einstellungen ändern will.</para
> 
</listitem>
</varlistentry>
</variablelist>

<para
>Ein Klick auf den <guibutton
>OK</guibutton
>-Knopf startet die gewählte Aktion; ein Klick auf den <guibutton
>Abbrechen</guibutton
>-Knopf schließt das Menü und kehrt zum &kdm;-Hauptmenü zurück. </para>

</chapter>

<!-- *********************************************************************** -->
<chapter id="configuring-kdm">
<title
>&kdm; einrichten</title>

<para
>In diesem Kapitel wird vorausgesetzt, dass &kdm; bereits installiert ist und auf Ihrem System läuft und dass Sie nur sein Verhalten ändern wollen.</para>

<para
>Wenn &kdm; startet, liest es zunächst die Konfigurationsdatei im Ordner <filename class="directory"
>$KDEDIR/share/config/kdm/</filename
> (die Datei könnte auf Ihrem System auch unter <filename class="directory"
>/etc/kde3/kdm/</filename
> oder an einer anderen Stelle untergebracht sein).</para>

<para
>Die wichtigste Konfigurationsdatei ist &kdmrc; - alle anderen Dateien werden von dieser Datei eingebunden und könnten im Prinzip an einer beliebigen Stelle im System untergebracht sein. Natürlich macht das in der Regel keinen Sinn. Eine Ausnahme davon wäre ein bereits installiertes &xdm; - tatsächlich werden bei der Installation eines neuen &kdm; automatisch &xdm;-Dateien gesucht und (falls vorhanden) verwendet.</para>

<para
>Wenn &kdm; startet, liest es seine Einstellungen aus der Datei &kdmrc;. Weil &kdm; laufen muss, bevor ein Benutzer angemeldet ist, ist diese Datei keinem besonderen Benutzer zugeordnet. Deshalb gibt es auch keine benutzerspezifische Datei <filename
>$HOME/share/config/kdmrc</filename
>; alle Benutzer teilen sich die gemeinsame Version von &kdmrc;. Daraus folgt dass die &kdm;-Einrichtung nur von jemandem geändert werden kann, der für <filename
>$<envar
>KDEDIR</envar
>/share/config/kdmrc</filename
> Schreibrechte hat (das ist normalerweise der Systemadministrator, der als root angemeldet ist).</para>

<para
>Sie können sich die Datei &kdmrc;, die von Ihrem System verwendet wird, anschauen, und Sie können &kdm; einrichten, indem Sie diese Datei anpassen. Oder Sie benutzen im &kcontrolcenter; das Menü <menuchoice
><guisubmenu
>Systemverwaltung</guisubmenu
> <guimenuitem
>Anmeldungsmanager</guimenuitem
></menuchoice
>, das in den <ulink url="help:/kcontrol/login-manager.html"
>Hilfedateien für &kcontrol;</ulink
> beschrieben ist. </para>

<para
>Der Rest diese Kapitels beschreibt die Einrichtung von &kdm; mit Hilfe des &kcontrol;-Moduls - das <link linkend="kdmrc"
>nächste Kapitel</link
> beschreibt die in &kdmrc; verfügbaren Optionen. Falls Sie nur lokale Benutzer einrichten müssen, sollte das &kcontrol;-Modul Ihren Anforderungen genügen. Müssen Sie jedoch entfernte Anmeldungen einrichten oder gleichzeitig mehrere &kdm;-Sitzungen betreiben, sollten Sie hier weiterlesen.</para>

<sect1 id="kdm-kcontrol-module">
<sect1info>
<authorgroup>
<author
>&Thomas.Tanghus; &Thomas.Tanghus.mail;</author>
<author
>&Steffen.Hansen; &Steffen.Hansen.mail;</author>
<author
>&Mike.McBride; &Mike.McBride.mail;</author>
</authorgroup>
</sect1info>

<title
>Das &kcontrol;-Modul des KDE Anmeldungsmanagers</title>

<para
>Mittels diese Moduls können Sie den &kde; Anmeldungsmanager &kdm; einrichten. Sie können einstellen wie das Anmeldungsfenster aussieht, wer den Anmeldungsmanager benutzen kann und wer den Computer herunterfahren kann.</para>

<note
><para
>Alle Einstellungen werden in die Konfigurationsdatei &kdmrc; geschrieben. In ihrem Urzustand enthält sie zahlreiche Kommentare, die bei der Konfiguration von &kdm; nützlich sind. Die Verwendung des &kcontrol;-Moduls entfernt diese Kommentare allerdings. Alle möglichen Einstellungen in &kdmrc; sind in <xref linkend="kdm-files"/> beschrieben.</para>

<para
>Die Einstellungen die in diesem Kapitel aufgeführt sind, sind mit Verweisen zu den zugehörigen Einträgen in &kdmrc; versehen. Alle Einstellungen die im &kcontrol;-Modul zur Verfügung stehen sind auch in &kdmrc; vorhanden - umgekehrt gilt das allerdings nicht.</para
></note>

<para
>Um diese Einstellungen übersichtlich zu gestalten, ist das Modul in fünf Abschnitte gegliedert:<link linkend="kdmconfig-appearance"
><guilabel
>Erscheinungsbild</guilabel
></link
>, <link linkend="kdmconfig-font"
><guilabel
>Schrift</guilabel
></link
>, <link linkend="kdmconfig-background"
><guilabel
>Hintergrund</guilabel
></link
>, <link linkend="kdmconfig-shutdown"
><guilabel
>Herunterfahren</guilabel
></link
>, <link linkend="kdmconfig-users"
><guilabel
>Benutzer</guilabel
></link
> und <link linkend="kdmconfig-convenience"
><guilabel
>Vereinfachungen</guilabel
></link
>.</para>

<para
>Sie können zwischen diesen Abschnitten, mit Hilfe der Reiter am oberen Rand des Fensters, umschalten.</para>

<note
><para
>Falls Sie nicht bereits als Systemverwalter (root) angemeldet sind, müssen Sie auf den Knopf <guibutton
>Systemverwaltungsmodus</guibutton
> klicken. Sie werden dann nach dem Passwort des Systemverwalters (root) gefragt. Nach Eingabe des korrekten Passworts können Sie die Einstellungen dieses Moduls verändern.</para
></note>

<sect2 id="kdmconfig-appearance">
<title
>Erscheinungsbild</title>

<para
>Auf dieser Seite kann das Erscheinungsbild von &kdm;, &kde;s Anmeldungs-Managers festgelegt werden.</para>

<para
>Der <guilabel
>Begrüßungstext:</guilabel
> ist der Titel des Anmeldungsfensters. Sie können hier verschiedene Platzhalter verwenden, die zusammen mit dem dazugehörigen Schlüssel <link linkend="option-greetstring"
><option
>GreetString</option
></link
> in &kdmrc; beschrieben sind. </para>

<para
>Sie können dann auswählen ob die aktuelle Systemzeit, ein Logo oder gar nichts im Anmeldefenster angezeigt wird. Auswählen können Sie diese Optionen im <guilabel
>Logo-Bereich</guilabel
>. Mit der Einstellung <guilabel
>Position</guilabel
> können Sie den Inhalt des Logo-Bereichs zentrieren oder auf feste Koordinaten einstellen. Das entspricht der Einstellung <link linkend="option-logoarea"
><option
>Logo-Bereich</option
></link
>  in &kdmrc;</para>

<para
>Wenn Sie <guilabel
>Logo anzeigen</guilabel
> einstellen können Sie nun ein Logo auswählen:</para>

<itemizedlist>
<listitem>
<para
>Ziehen Sie eine Bilddatei auf den Bildknopf.</para>
</listitem>
<listitem>
<para
>Klicken Sie auf den Bildknopf und wählen Sie ein Bild mittels des Auswahldialogs.</para>
</listitem>
</itemizedlist>

<para
>Wenn Sie kein Logo auswählen wird das Standardlogo <filename
>$<envar
>KDEDIR</envar
>/share/apps/kdm/pics/kdelogo.xpm</filename
> angezeigt.</para>

<para
>Normalerweise wird das Anmeldefenster in der Mitte des Bildschirms angezeigt. Mit der Einstellung <guilabel
>Position</guilabel
> kann es an beliebiger Stelle platziert werden. Standard ist <guilabel
>Zentriert</guilabel
>. Falls stattdessen <guilabel
>Benutzerdefiniert</guilabel
> gewünscht wird, lässt sich mit den Feldern <guilabel
>X</guilabel
> und <guilabel
>Y</guilabel
> genau angeben, wo die linke obere Ecke des Anmeldefensters platziert wird. Das entspricht dem Eintrag <link linkend="option-greeterpos"
><option
>GreeterPos</option
></link
> in &kdmrc;.</para>

<para
>&kde;s Erscheinungsbild hängt in erster Linie von den Einstellungen des angemeldeten Benutzers ab. Das Erscheinungsbild von &kdm; dagegen kann mittels der Einstellungen <guilabel
>GUI-Stil</guilabel
> und <guilabel
>Oberflächenstil</guilabel
> bestimmt werden.Das entspricht den Einträgen <link linkend="option-guistyle"
><option
>GUIStyle</option
></link
> und <link linkend="option-colorscheme"
><option
>ColorScheme</option
></link
> in &kdmrc;.</para>

<para
>Darunter können Sie die Spracheinstellung für das Anmeldefenster vornehmen. Das entspricht der Option <option
>Language</option
> in &kdmrc;.</para>

</sect2>

<sect2 id="kdmconfig-font">
<title
>Schrift</title>

<para
>In diesem Bereich können die Schriftarten des Anmeldefensters eingestellt werden. Hier sind nur Schriftarten einstellbar, die für alle Benutzer verfügbar sind.</para>

<para
>Dabei sind drei Schriftarten einstellbar (<guilabel
>Begrüßung</guilabel
>, <guilabel
>Fehler</guilabel
> und <guilabel
>Normal</guilabel
>). Wenn Sie auf den Knopf <guibutton
>Schriftart ändern ...</guibutton
> klicken, erscheint ein Dialogfenster, in dem die Eigenschaften der Schriftart bestimmt werden können.</para>

<itemizedlist>
<listitem>
<para
>Die Schriftart <guilabel
>Standard</guilabel
> wird überall sonst im Anmeldefenster verwendet.</para>
</listitem>
<listitem>
<para
>Die Schriftart <guilabel
>Fehler</guilabel
> wird verwendet, wenn eine Anmeldung fehlschlägt.</para>
</listitem>
<listitem>
<para
>Die Schriftart <guilabel
>Begrüßung</guilabel
> wird für den Titel (Begrüßungstext) verwendet.</para>
</listitem>
</itemizedlist>

<para
>Sie können hier auch das Ankreuzfeld <guilabel
>Anti-Aliasing für Schriftarten</guilabel
> markieren, wenn Sie geglättete Schriften im Anmeldefenster sehen wollen.</para>

</sect2>

<sect2 id="kdmconfig-background">
<title
>Hintergrund</title>

<para
>Hier können Sie den Desktop-Hintergrund einstellen, der beim Anmelden angezeigt wird. Dabei kann sowohl eine einzelne Farbe als auch ein Bild verwendet werden. Falls Sie ein Bild verwenden, das kleiner ist als der Desktop und Zentrieren auswählen, wird um das Bild herum die gewählte Hintergrundfarbe angezeigt.</para>

<para
>Die Hintergrundfarben und -effekte werden von den Optionen des Reiters <guilabel
>Hintergrund</guilabel
> bestimmt. Ein Hintergrundbild und die Plazierung des Hintergrundbild werden mit den Optionen des Reiters <guilabel
>Hintergrundbild</guilabel
> ausgewählt.</para>

<para
>Um die Standardfarbe(n) zu ändern klicken Sie einfach auf die Farbknöpfe und wählen Sie eine neue Farbe aus.</para>

<para
>Das Auswahlmenü über den Farbknöpfen bietet verschiedene Verlaufs-Modi. Wenn Sie einen dieser Modi auswählen wird der Effekt auf dem kleinen Monitor im oberen Fensterbereich angezeigt. Ihre Möglichkeiten sind:</para>

<variablelist>
<varlistentry>
<term
>Durchgehend</term>
<listitem
><para
>Wenn Sie diesen Modus wählen wird nur eine einzige Farbe (über den Knopf Farbe 1 bestimmt) verwendet, und der gesamte Hintergrund besteht nur aus dieser Farbe.</para
></listitem>
</varlistentry>
<varlistentry>
<term
>Muster</term>
<listitem
><para
>Bei diesem Modus werden zwei Farben verwendet (mit den beiden Farbknöpfen bestimmt). </para
> <para
>Danach läßt sich mit <guilabel
>Einrichtung ...</guilabel
> ein Muster auswählen. Dazu wird ein neues Dialogfenster geöffnet - selektieren Sie einfach ein Muster und klicken sie auf <guilabel
>OK</guilabel
>. &kde; wird dann das Muster mit den von Ihnen bestimmten Farben generieren. Weitere Informationen finden Sie im Kapitel <ulink url="help:/kcontrol/background/index.html#bkgnd-patterns"
>Hintergrund: Hinzufügen, Löschen und Verändern von Mustern</ulink
>.</para
></listitem>
</varlistentry>
<varlistentry>
<term
>Hintergrund-Programm</term>
<listitem
><para
>Bei dieser Einstellung ruft &kde; ein externes Programm zur Generierung des Hintergrunds auf. Dabei können Sie ein beliebiges Programm verwenden - Genaueres findet sich im Kapitel <ulink url="help:/kcontrol/background/index.html#bkgnd-programs"
>Hintergrund: Verwendung eines externen Programms</ulink
>.</para
></listitem>
</varlistentry>
<varlistentry>
<term
>Waagrechter Verlauf</term>
<listitem
><para
>Mit diesem Modus werden zwei Farben verwendet (über die beiden Farbknöpfe bestimmt) &kde; generiert dann den Hintergrund: An der linken Bildschirmkante von <guilabel
>Farbe 1</guilabel
> ausgehend und langsam in <guilabel
>Farbe 2</guilabel
> übergehend - die dann an der rechten Kante erreicht wird.</para
></listitem>
</varlistentry>
<varlistentry>
<term
>Senkrechte Verlauf</term>
<listitem
><para
>Mit diesem Modus werden zwei Farben verwendet (über die beiden Farbknöpfe bestimmt) &kde; generiert dann den Hintergrund: An der oberen Bildschirmkante von <guilabel
>Farbe 1</guilabel
> ausgehend und langsam in <guilabel
>Farbe 2</guilabel
> übergehend - die dann an der unteren Kante erreicht wird.</para
></listitem>
</varlistentry>
<varlistentry>
<term
>Pyramidialer Verlauf</term>
<listitem
><para
>Mit diesem Modus werden zwei Farben verwendet (über die beiden Farbknöpfe bestimmt) &kde; generiert dann den Hintergrund: Von allen vier Ecken des Bildschirms von <guilabel
>Farbe 1</guilabel
> ausgehend und langsam in <guilabel
>Farbe 2</guilabel
> übergehend - die dann in der Bildschirmmitte erreicht wird.</para
></listitem
> 
</varlistentry>
<varlistentry>
<term
>Röhrenkreuz-Verlauf</term>
<listitem
><para
>Mit diesem Modus werden zwei Farben verwendet (über die beiden Farbknöpfe bestimmt) &kde; generiert dann den Hintergrund: Von allen vier Ecken des Bildschirms von <guilabel
>Farbe 1</guilabel
> ausgehend und langsam in <guilabel
>Farbe 2</guilabel
> übergehend - die dann in der Bildschirmmitte erreicht wird. Der <quote
>Verlauf</quote
> unterscheidet sich dabei aber vom Pyramidialen Verlauf.</para
></listitem>
</varlistentry>
<varlistentry>
<term
>Elliptischer Verlauf</term>
<listitem
><para
>Mit diesem Modus werden zwei Farben verwendet (über die beiden Farbknöpfe bestimmt) &kde; generiert dann den Hintergrund: Von der Mitte des Bildschirms von<guilabel
>Farbe 1</guilabel
> ausgehend und langsam in <guilabel
>Farbe 2</guilabel
> übergehend - die dann in den Bildschirmecken erreicht wird. Dabei wird ein elliptisches Muster erzeugt.</para
></listitem
> 
</varlistentry>
</variablelist>

<para
>Der Knopf <guilabel
>Einrichtung ...</guilabel
> wird nur benötigt wenn Sie die Modi <guilabel
>Hintergrund-Programm</guilabel
> oder <guilabel
>Muster</guilabel
> wählen. In diesen Fällen ist der Knopf aktiv und kann zum Einstellen der Parameter verwendet werden.</para>
<para
><emphasis
>Hintergrundbild</emphasis
></para>
<para
>Um ein neues Hintergrundbild auszuwählen klicken Sie auf den Reiter <guilabel
>Hintergrundbild</guilabel
>; dann lässt sich eines der Bilder aus der Liste <guilabel
>Hintergrundbild</guilabel
> auswählen. Alternativ können Sie mit dem Knopf <guibutton
>Auswählen</guibutton
> ein beliebiges Bild verwenden.</para>

<para
>Das Bild kann auf sechs verschieden Weisen angezeigt werden:</para>
<variablelist>
<varlistentry>
<term
>Kein Hintergrundbild</term
> 
<listitem
><para
>Es wird kein Bild sondern die Hintergrundfarben angezeigt.</para>
</listitem
></varlistentry>
<varlistentry>
<term
>Zentriert</term
> 
<listitem
><para
>Das Bild wird auf dem Bildschirm zentriert angezeigt. Die Hintergrundfarben sind dort sichtbar wo das Bild den Bildschirm nicht bedeckt.</para
> </listitem>
</varlistentry>
<varlistentry>
<term
>Gekachelt</term>
<listitem
><para
>Das Bild wird so oft dupliziert bis der gesammte Desktop bedeckt ist. Das erste Bild wird dabei in der linken oberen Ecke des Bildschirms plaziert, danach nach unten und nach rechts erneut angefügt.</para
> </listitem>
</varlistentry>
<varlistentry>
<term
>Zentrierte Kacheln</term>
<listitem
><para
>Das Bild wird so oft dupliziert bis der gesammte Desktop bedeckt ist. Das erste Bild wird dabei in der Mitte des Bildschirms plaziert, danach nach Oben, Unten, Links und Rechts erneut angefügt.</para
> </listitem>
</varlistentry>
<varlistentry>
<term
>Zentrierte Maximalausdehnung</term>
<listitem
><para
>Das Bild wird in der Mitte des Bildschirms plaziert. Es wird skaliert um den Desktop zu füllen, aber das Seitenverhältnis bleibt erhalten. Dadurch wird das Bild nicht verzerrt. </para
> </listitem>
</varlistentry>
<varlistentry>
<term
>Skaliert</term>
<listitem
><para
>Das Bild wird wird skaliert um den Desktop zu füllen. Es wird so aufgezogen dass alle vier Ecken bedeckt werden.</para
> </listitem>
</varlistentry>
</variablelist>

</sect2>

<sect2 id="kdmconfig-shutdown">
<title
><guilabel
>Herunterfahren</guilabel
></title>

<para
><guilabel
>Herunterfahren erlauben</guilabel
></para>
<para
>Mit diesem Auswahlfeld können sie festlegen, wer das System herunterfahren darf:</para>
<itemizedlist>
<listitem>
<para
><guilabel
>Niemand</guilabel
>: Niemand kann das System mit &kdm; herunterfahren. Sie müssen angemeldet sein und einen entsprechenden Befehl eingeben.</para>
</listitem>
<listitem>
<para
><guilabel
>Alle</guilabel
>: Jeder kann das System mit &kdm; herunterfahren.</para>
</listitem>
<listitem
><para
><guilabel
>Nur Systemverwalter</guilabel
>: &kdm; erfordert, dass das <systemitem
>root</systemitem
>-Passwort eingegeben wird, bevor der Rechner heruntergefahren werden kann.</para
></listitem
> 
</itemizedlist>

<para
>Diese Einstellungen können separat für lokale Benutzer und für Benutzer, die über einen <guilabel
>Fremdrechner</guilabel
> angemeldet sind, vorgenommen werden.</para>

<para
><emphasis
>Befehle</emphasis
></para
> <para
>Mit diesen drei Feldern können Sie die Befehle zum Herunterfahren spezifizieren.</para
> <para
>Der Befehl <guilabel
>System anhalten</guilabel
> hat die Voreinstellung <command
>/sbin/halt</command
>. Der Befehl <guilabel
>Neu starten</guilabel
> die Voreinstellung <command
>/sbin/reboot</command
>.</para>

<para
>Wenn <guilabel
>Boot-Optionen anzeigen</guilabel
> aktiviert ist, fragt &kdm; beim Neustart Optionen für den LILO-Bootmanager abfragen. Damit dies richtig funktioniert müssen die korrekten Pfadnamen für den <command
>lilo</command
>-Befehl und für die LILO-Mapping-Datei eingetragen werden. Beachten Sie, dass diese Option nicht auf allen Betriebssystem verfügbar ist.</para>

</sect2>

<sect2 id="kdmconfig-users">
<title
>Benutzer</title>

<para
>Hier können Sie einstellen wie die Benutzer im Anmeldungsfenster dargestellt werden.</para>

<para
>Sie können die Benutzerliste im Abschnitt <guilabel
>Benutzer anzeigen</guilabel
> von &kdm; ganz ausblenden. Sie haben folgende Wahlmöglichkeiten:</para>

<variablelist>
<varlistentry>
<term
><guilabel
>Liste anzeigen</guilabel
></term>
<listitem>
<para
>Zeigt nur Benutzer an, die für die nebenstehende Liste vorgesehen sind</para>
<para
>Wenn Sie das Ankreuzfeld nicht markieren, wird keine Liste angezeigt. Das ist die sicherste Einstellung, da ein Angreifer erst einen gültigen Benutzernamen und ein gültiges Passwort finden muss. Außerdem ist es eine gute Einstellung, wenn Sie zahlreiche Benutzer auf diesem System haben - die Liste kann sonst unübersichtlich werden.</para>
</listitem>
</varlistentry>
<varlistentry>
<term
><guilabel
>Umgekehrte Auswahl</guilabel
></term>
<listitem>
<para
>Mit dieser Einstellung können Sie aus einer Liste die Benutzer auswählen, die<emphasis
>nicht</emphasis
> angezeigt werden sollen. Alle anderen werden angezeigt.</para>
</listitem>
</varlistentry>
</variablelist>

<para
>Unabhängig von den namentlich gelisteten Benutzern können Sie einen Bereich der numerischen <guilabel
>Benutzerkennungen (UIDs)</guilabel
> festlegen der nicht in der Liste angezeigt werde soll. Die Voreinstellung schließt UIDs unterhalb von 1000 aus, da diese häufig Dämonen oder Systemdienste sind. Gleichfalls werden UIDs größer als 65000 nicht angezeigt.</para>

<para
>Sie können auch die Option <guilabel
>Benutzer sortieren</guilabel
> ankreuzen, um die Benutzer in alphabetischer Reihenfolge anzuzeigen. Ist diese Einstellung nicht markiert, werden die Benutzer in der Reihenfolge angezeigt, in der sie in der Passwortdatei stehen. Wenn Sie die Einstellung <guilabel
>Autom. Vervollständigung</guilabel
> eingeschaltet haben, vervollständigt &kdm; Benutzernamen.</para>

<para
>Wenn Sie sich entscheiden Benutzer anzuzeigen, zeigt das Anmeldungsfenster (wählbare) Bilder für die Benutzer in der Liste an. Wenn sich jemand anmelden will, kann er seinen Benutzername oder sein Bild anklicken, das Passwort eingeben und wird dann angemeldet.</para>

<para
>Wenn Sie Benutzerbilder zulassen, dann können Sie die Quelle für diese Bilder einstellen.</para>

<para
>Sie können hier das Admin-Bild für jeden Benutzer im System einstellen. Abhängend von der oben getroffenen Auswahl können die Benutzer für sich stattdessen ein anderes Bild wählen.</para>

<para
>Wenn Sie die Benutzerliste nicht anzeigen, ist das Erscheinungsbild des Anmeldefensters eher traditionell. Benutzer müssen ihren Benutzernamen und ihr Passwort eingeben, um sich anzumelden. Bei sehr vielen Benutzern wird diese Option empfohlen.</para>

</sect2>

<sect2 id="kdmconfig-convenience">
<title
>Vereinfachung</title>

<para
>Im Reiter <guilabel
>Vereinfachung</guilabel
> können Sie Ihr Leben einfacher gestalten. Hier läßt sich die automatische Anmeldung einstellen und hier können Passwörter abgeschaltet werden.</para>

<important
><para
>Diese Einstellungen sollte man sich genau überlegen. Alle Optionen im Reiter<guilabel
>Vereinfachung</guilabel
> können die Sicherheit Ihres Systems schwer beeinträchtigen. Im Normalfall sollten diese Optionen nur in einer absolut unkritischen Umgebung benutzt werden - &zb; bei einem Privatcomputer Zuhause. </para
></important>

<sect3 id="loginmanager-convenience-autologin">
<title
>Automatische Anmeldung</title>

<para
>Automatische Anmeldung ermöglicht jedem den Zugang zu einem bestimmten Benutzerkonto auf Ihrem System - ohne irgendeine Überprüfung. Dies kann über die Option <guilabel
>Automatische Anmeldung erlauben</guilabel
> eingeschaltet werden.</para>

<para
>Das dafür zugelassen Benutzerkonto können sie aus der Liste <guilabel
>Benutzer:</guilabel
>auswählen.</para>

</sect3>

<sect3 id="loginmanager-convenience-nopasswd">
<title
><guilabel
>Anmeldung ohne Passwort</guilabel
></title>

<para
>Mit dieser Option können sich bestimmte Benutzer ohne Passwort anmelden. Diese Funktion wird über <guilabel
>Anmeldung ohne Passwort zulassen</guilabel
> aktiviert.</para>

<para
>Unterhalb dieser Einstellung sehen Sie eine Liste mit Benutzern des Systems. Benutzer die sich ohne Passwort anmelden können, können dort angekreuzt werden. In Normaleinstellung ist keiner der Benutzer angekreuzt.</para>

<important
><para
>Wie gesagt, sollte diese Option nur in einer sicheren Umgebung verwendet werden. Wird sie in einem eher öffentlich zugänglichen System verwendet, dann sollten Sie sicherstellen dass sie nur bei Benutzerkonten mit niedrig gesetzten Zugriffsrechten eingesetzt wird - &zb; beim Konto <systemitem
>guest</systemitem
>.</para
></important>

<para
>Sie können auch auswählen welcher Benutzer beim Start von &kdm; zunächst <quote
>vorgeschlagen</quote
> wird. Als Voreinstellung steht <guilabel
>Keine</guilabel
>.Die Option <guilabel
>Voriger</guilabel
> schlägt automatisch den bei der letzten erfolgreichen Anmeldung verwendeten Namen vor. Es ist auch möglich immer einen bestimmten Benutzer vorzuschlagen. Zusätzlich kann &kdm; den Cursor in das Passwort-Feld setzen - dann können Sie bei Anzeige des Anmeldefensters sofort Ihr Passwort eingeben.</para>

<para
>Die Option <guilabel
>Nach Absturz des X-Servers automatisch wieder anmelden</guilabel
> überspringt die Anmeldeprozedur falls ihr X-Server unbeabsichtigt abstürzt.</para>

</sect3>

</sect2>

</sect1>

</chapter>

&kdmrc-ref;

<!-- ************************************************************ -->   
<chapter id="configuring-your-system-for-kdm">
<title
>Ihr System für die Benutzung von &kdm; einrichten</title>

<para
>Für dieses Kapitel wird vorausgesetzt, dass Ihr System bereits für das X Window System eingerichtet ist und das Sie es nur noch für eine graphische Anmeldung einstellen müssen.</para>

<sect1 id="setting-up-kdm">
<title
>&kdm; einstellen</title>

<para
>Der Standard-Runlevel bestimmt, ob Ihr Systemstart mit einer Eingabeaufforderung auf einem Terminal (Konsolen-Modus) endet oder mit einer graphischen Eingabeaufforderung wie &kdm;. Der Runlevel wird vom Programm <application
><ulink url="man:init"
>/sbin/init</ulink
></application
> gesetzt, das die Datei <filename
>/etc/inittab</filename
> benutzt. Die Standard-Runlevel, die von verschiedenen Unix-Systemen (und Linux-Distributionen) benutzt werden, sind unterschiedlich, aber wenn Sie die Datei <filename
>/etc/inittab</filename
> betrachten, sollte der Anfang dieser Datei in etwa so aussehen:</para>

<screen
># Default Runlevel. The Runlevels used by RHS are:
# 0 - halt (Do NOT set initdefault to this)
# 1 - Single user mode
# 2 - Multiuser, without NFS
# 3 - Full multiuser mode
# 4 - unused
# 5 - X11
# 6 - reboot (Do NOT set initdefault to this)

id:3:initdefault:  
</screen>

<para
>Alle Zeilen dieses Auszuges bis auf die letzte sind Kommentare. Die Kommentare zeigen, dass Runlevel 5 für X11 benutzt wird und Runlevel 3 für den Mehrfachbenutzermodus ohne X11 (Konsolen-Modus). Die letzte Zeile legt fest, dass der Standard-Runlevel des Systems 3 ist (Konsolen-Modus). Wenn Ihr System zur Zeit eine graphische Eingabeaufforderung benutzt (&zb; &xdm;), wird sein Standard-Runlevel dem für X11 entsprechen.</para>

<para
>Der Runlevel mit graphischer Eingabeaufforderung (&xdm;) hat für einige gebräuchliche Linux-Distributionen folgende Werte:</para>

<itemizedlist>
<listitem
><para
>5 für &RedHat; ab 3.x und für &Mandrake;</para
></listitem>
<listitem
><para
>4 für Slackware</para
></listitem>
<listitem
><para
>3 für &SuSE; 4.x, und 5.x</para
></listitem>
</itemizedlist>

<para
>Der erste Schritt für Ihr System ist, sicherzustellen, dass Sie &kdm; von der Kommandozeile aus starten können. Wenn das funktioniert, können Sie Ihr System so einrichten, dass &kdm; automatisch bei jedem System(neu)start startet.</para>

<para
>Um &kdm; zu testen, müssen Sie Ihr System zuerst in einen Runlevel bringen, in dem &xdm; nicht läuft. Dazu müssen Sie einen Befehl wie den folgenden geben:</para>

<screen
><command
>/sbin/init <option
>3</option
></command
></screen>

<para
>Anstelle der Zahl <option
>3</option
> müssen Sie den entsprechenden Wert für den Konsolen-Modus auf Ihrem System benutzen.</para>

<para
>Wenn Ihr System Pluggable Authentication Modules (<abbrev
>PAM</abbrev
>) benutzt, was bei den meisten modernen &Linux;- und Solaris-Systemen der Fall ist, sollten Sie prüfen, ob Ihre <abbrev
>PAM</abbrev
>-Einstellungen das Anmelden mit einem Dienst namens<literal
>kde</literal
> erlauben. Wenn Sie &xdm; bereits vorher erfolgreich benutzt haben, müssen Sie Ihre <abbrev
>PAM</abbrev
>-Einstellungen nicht ändern, um &kdm; benutzen zu können (<filename
>/etc/pam.conf</filename
> oder <filename
>/etc/pam.d/kde</filename
>). Hinweise zur Einrichtung von <abbrev
>PAM</abbrev
> würden den Rahmen dieses Handbuches sprengen, aber zu <abbrev
>PAM</abbrev
> gibt es eine umfangreiche Dokumentation.(siehe auch <filename
>/usr/share/doc/*pam*/html/</filename
>).</para>

<para
>Jetzt sollten Sie &kdm; mit dem folgenden Befehl testen:</para>

<screen
><command
>kdm <option
>-nodaemon</option
></command
>
</screen>

<para
>Wenn Sie das &kdm;-Anmeldefenster sehen und sich anmelden können, ist alles in Ordnung. Das Schlimmste, was hier passieren kann, ist dass der Laufzeit-Linker die shared libraries für &Qt; oder &kde; nicht findet. Wenn Sie eine binäre Distribution der &kde;-Bibliotheken installiert haben, stellen Sie sicher, dass &kdm; dort installiert ist, wo die Bibliotheken dieanderen Bestandteile von &kde; vermuten und setzen Sie die Umgebungsvariablen, die auf Ihre &kde;- und &Qt;-Bibliotheken zeigen.</para>

<para
>Zum Beispiel:</para>

<screen
><command
>export 
<option
>KDEDIR=<replaceable
>/opt/kde</replaceable
></option
></command>
<command
>export 
<option
>QTDIR=<replaceable
>/usr/lib/qt2</replaceable
></option
></command>
<command
>export 
<option
>PATH=<replaceable
>$KDEDIR/bin:$QTDIR/bin:$PATH</replaceable
></option
></command>
<command
>export 
<option
>LD_LIBRARY_PATH=<replaceable
>$KDEDIR/lib:$QTDIR/lib</replaceable
></option
></command
>
</screen>

<para
>Wenn Sie noch immer keinen Erfolge haben, versuchen Sie, stattdessen &xdm; zu starten um sicherzustellen, dass kein grundlegenderes Problem mit den X-Einstellungen dahinter steckt.</para>

<para
>Wenn Sie &kdm; erfolgreich starten können, ersetzen Sie &xdm; durch &kdm;. Dies ist wieder je nach Distribution unterschiedlich.</para>

<itemizedlist>
<listitem>
<para
>Bei einer &RedHat;.-Distribution bearbeiten Sie in <filename
>/etc/inittab</filename
>, diese Zeile:</para>
<screen
>x:5:respawn:/usr/X11/bin/xdm -nodaemon</screen>
<para
>und ersetzen Sie diese durch:</para>
<screen
>x:5:respawn:/opt/kde/bin/kdm</screen>
<para
>Dadurch wird <command
>init</command
> dazu veranlasst &kdm; neu zu starten, wenn sich das System im Runlevel 5 befindet. Beachten Sie, dass &kdm; die <option
>-nodaemon</option
> nicht benötigt.</para>
</listitem>
<listitem>
<para
>Bei einer &Mandrake;-Distribution wird im X11 Runlevel in <filename
>/etc/inittab</filename
> das Shellskript <filename
>/etc/X11/prefdm</filename
> aufgerufen. In diesem Skript wird ausgewählt, welcher Anmeldungsmanager (unter anderen &kdm;) benutzt wird. Stellen Sie sicher, das alle Verzeichnispfade korrekt sind.</para
> 
</listitem>
<listitem>
<para
>Bei einer&SuSE; -Distribution müssen Sie in der Datei <filename
>/sbin/init.d/xdm</filename
> ganz am Anfang die folgende Zeilen hinzufügen:</para>

<screen
>. /etc/rc.config
DISPLAYMANAGER=kdm
export DISPLAYMANAGER</screen>
</listitem>
<listitem
><para
>Bei FreeBSD bearbeiten Sie <filename
>/etc/ttys</filename
> und suchen Sie die folgende Zeile:</para>
<screen
>ttyv8   "/usr/X11R6/bin/xdm -nodaemon"  xterm   off secure</screen>
<para
>und ändern Sie diese wie folgt:</para>
<screen
>ttyv8   "/usr/local/bin/kdm"  xterm   on secure</screen>
</listitem>

<listitem
><para
>Bei den meisten anderen Distributionen wird die Einrichtung auf eine vergleichbare Art vorgenommen.</para
></listitem>
</itemizedlist>

<para
>Nun können Sie &kdm; testen, indem Sie Ihr System auf den Runlevel für die graphische Anmeldung bringen. Geben Sie auf der Befehlszeile folgenden Befehl ein:</para>

<screen
><command
>/sbin/init <option
>5</option
></command
>
</screen>

<para
>Anstelle der Zahl <option
>5</option
> nehmen Sie den entsprechenden Wert für den Runlevel auf Ihrem System, der X11 startet.</para>

<para
>Als letzten Schritt müssen Sie den Parameter <parameter
>initdefault</parameter
> in der Datei <filename
>/etc/inittab</filename
> ändern. Geben Sie hier den Runlevel an, der X11 startet.</para>

<warning
><para
>Bevor Sie diese Änderungen durchführen, sollten Sie sicherstellen, dass Sie ihr System neu starten können, falls ein Problem auftritt. Dies kann in Form einer <quote
>Rettungs</quote
>-Bootdiskette Ihrer Distribution oder auch durch ein spezielles <quote
>Rettungssystem</quote
> wie etwa <literal
>tomsrtbt</literal
> geschehen. Bitte nehmen Sie diese Warnung ernst.</para
></warning>

<para
>Das erfordert gewöhnlich eine Änderung der folgenden Zeile:</para>
<screen
>id:3:initdefault:</screen>
<para
>zu</para>
<screen
>id:5:initdefault:</screen>

<para
>Nach einem Neustart sollten Sie jetzt das &kdm; graphische Anmeldungsfenster sehen.</para>

<para
>Sollte das nicht geschehen, so liegt das Problem wahrscheinlich darin, dass die Umgebungsvariable während des Bootvorgangs andere Werte haben, als während ihres Tests. Falls Sie versuchen zwei Version von &kde; nebeneinander zu betreiben sollten, Sie besonders darauf achten dass die Umgebungsvariablen <envar
>PATH</envar
> und <envar
>LD_LIBRARY_PATH</envar
> korrekt gesetzt sind, und das die Startup-Skripte diese nicht irgendwie überschreiben.</para>

</sect1>

</chapter>

<chapter id="different-window-managers-with-kdm">
<title
>Unterstützung mehrerer Window-Manager</title>

<para
>&kdm; erkennt die meisten verfügbaren Window-Manager und Arbeitsumgebungen beim Start. Neu installierte Umgebungen sollten automatisch im Hauptdialog von &kdm; unter <guilabel
>Sitzungstyp:</guilabel
> erscheinen.</para>

<para
>Verwenden Sie einen ziemlich neuen Window-Manager oder eine Umgebung, die &kdm; nicht unterstützt, sollten Sie zunächst prüfen, ob die Anwendung im <envar
>PATH</envar
> steht und oder bei der Installation einen unüblichen Namen erhalten hat.</para>

<para
>Im Falle, dass die Anwendung sehr neu ist und von &kdm; noch nicht unterstützt wird, können Sie einen neuen Sitzungstyp einfach selbst hinzufügen.</para>

<para
>Die Sitzungen sind in <firstterm
>.desktop</firstterm
>-Dateien im Order <filename class="directory"
><envar
>KDEDIR</envar
>/share/apps/kdm/sessions</filename
> abgelegt. Sie können einfach eine entsprechend benannte <literal role="extension"
>.desktop</literal
>-Datei in diesem Ordner ablegen. Die Felder sind:</para>

<programlisting
>[Desktop Entry]
Encoding=UTF-8 <lineannotation
>Dieses Feld ist auf <option
>UTF-8</option
> festgelegt und kann
ausgelassen werden.</lineannotation>
Type=XSession <lineannotation
> Dieses Feld ist auf <option
>XSession</option
> festgelegt
und kann ausgelassen werden.</lineannotation>
Exec=<replaceable
>executable name</replaceable
> <lineannotation
>Wird an 
<command
>eval exec</command
> in einer Bourne-Shell übergeben.</lineannotation>
TryExec=<replaceable
>executable name</replaceable
> <lineannotation
>Unterstützt, 
aber nicht erforderlich.</lineannotation>
Name=<replaceable
>Der Name, der in der  Liste der &kdm;-Sitzungen</replaceable
> erscheint</programlisting>

<para
>Es gibt außerdem noch drei <quote
>magische</quote
> Sitzungen:</para>

<variablelist>
<varlistentry>
<term
>Standard</term>
<listitem>
<para
>Die Standard-Sitzung für &kdm; ist normalerweise &kde;, aber Sie kann vom Systemverwalter angepasst werden. </para>
</listitem>
</varlistentry>
<varlistentry>
<term
>Benutzerdefiniert</term>
<listitem>
<para
>Die Sitzung "Benutzerdefiniert" führt die Datei ~/.xsession des Benutzers aus, sofern diese existiert. </para>
</listitem>
</varlistentry>
<varlistentry>
<term
>Abgesichert</term>
<listitem>
<para
>Abgesichert startet eine minimale Arbeitssitzung und dient nur zu Debugging-Zwecken. </para>
</listitem>
</varlistentry>
</variablelist>

<para
>Um einen Sitzungstyp zu überschreiben, kopieren Sie die .desktop-Datei aus dem data-Ordern in den config-Ordner und bearbeiten Sie nach Ihren Wünschen. Die mitgelieferen Sitzungstypen können entfernt werden, indem diese durch .desktop-Dateien "überdeckt" werden, die den Eintrag Hidden=true enthalten. Für die magischen Sitzungstypen existieren per Voreinstellung keine .desktop-Dateien, aber KDM tut so, als sei dies der Fall. Deshalb können Sie diese wie jeden anderen Sitzungstyp überschreiben. Sie sollten jetzt wissen, wie Sie einen neuen Sitzungstyp hinzufügen.</para>

</chapter>

<chapter id="xdmcp-with-kdm">
<title
>&kdm; für Anmeldungen über Fremdrechner benutzen (&XDMCP;)</title>

<para
>&XDMCP; ist der Open-Group-Standard, das <quote
>X Display Manager Control Protocol</quote
>. Dieses wird benutzt um Verbindungen zwischen verschiedenen Rechnern eines Netzwerks herzustellen.</para>

<para
>&XDMCP; ist in Situation von Nutzen in denen sich mehrere Benutzer mit Workstations einen leistungsstarken Server teilen, der mehrere X-Sitzungen gleichzeitig abwickeln kann. Zum Beispiel lässt sich &XDMCP; einsetzen um selbst alte Computer weiter verwenden zu können. Ein Pentium oder sogar nur ein 486er-Computer mit 16 MB RAM ist ausreichend um X zu betreiben. Mittels &XDMCP; kann so ein Computer eine komplette, moderne &kde;-Sitzung eines Servers ausführen. Auf dem Server gilt, dass weitere &kde;-Sitzungen zu einer bereits bestehenden nur geringfügig mehr Ressourcen verbrauchen.</para>

<para
>Dennoch - eine weitere Methode zur Anmeldung zum System bereitzustellen hat natürlich einen Einfluß auf die Sicherheit des Systems. Es empfiehlt sich diesen Service nur dann einzurichten wenn X-Server von Fremdrechnern auf diesem System Anmeldevorgänge durchführen sollen. Benutzer mit nur einem &UNIX;-System sollten diesen Service nicht aktivieren.</para>

</chapter>

<chapter id="advanced-topics">
<title
>Fortgeschrittene Themen</title>

<sect1 id="command-sockets">
<title
>Befehls-Sockets</title>

<para
>Mit dieser Funktion können Sie &kdm; fernsteuern. Sie ist hauptsächlich für die Verwendung durch &ksmserver; und &kdesktop; aus einer laufenden Sitzung heraus gedacht, kann aber auch von anderen Anwendungen genutzt werden.</para>

<para
>Hierbei handelt es sich um &UNIX; Domain-Sockets, die sich in den Unterordnern des Ordners befinden, der durch <option
>FifoDir</option
>= festgelegt wurde. Der Unterordner ist der Schlüssel zur Adressierung und die Sicherheit. Alle Sockets haben den Namen <filename
>socket</filename
> sowie die Dateiberechtigung <literal
>rw-rw-rw-</literal
> (0666). Dies ist dadurch bedingt, dass manche Systeme die Dateiberechtigungen von Socket-Dateien ignorieren.</para>

<para
>Es gibt zwei Arten von Sockets: den globalen (dmctl) und die display-spezifischen (dmctl-&lt;display&gt;).</para>

<para
>Der Unterordner des globalen Sockets gehört dem Systemverwalter root, die Unterordner der display-spezifischen gehören dem Benutzer der jeweiligen Arbeitssitzung (root oder der angemeldete Benutzer). Die Gruppenzugehörigkeit der Unterordner kann über FifoGroup= umgestellt werden, andernfalls ist die Gruppe root. Die Dateiberechtigungen der Unterordner sind rwxr-x--- (0750).</para>

<para
>Die Felder eines Befehls werden durch Tabulatoren (<token
>\t</token
>) getrennt, die Felder einer Liste durch Leerzeichen. Leerzeichen in einem Listenfeld werden durch <token
>\s</token
> dargestellt.</para>

<para
>Der Befehl wird mit einem Zeilenumbruch (<token
>\n</token
>) abgeschlossen.</para>

<para
>Das selbe gilt für Antworten. Die Antwort bei Erfolg ist <returnvalue
>ok</returnvalue
>, eventuell gefolgt von der angeforderten Information. Die Antwort bei einem Fehler ist ein Datenwort im Stil von errno (&zb; <returnvalue
>perm</returnvalue
>, <returnvalue
>noent</returnvalue
>, &etc;), gefolgt von einer längeren Erläuterung.</para>

<variablelist>
<title
>Globale Befehle:</title>
<varlistentry>
<term
><command
>login</command
> <option
>display</option
> (<parameter
>now</parameter
> | <parameter
>schedule</parameter
>) <parameter
>Benutzer</parameter
> <parameter
>Passwort</parameter
> [session_arguments]</term>
<listitem>
<para
>Benutzer am angegebenen Display anmelden. Wenn <parameter
>now</parameter
> angegeben ist, wird eine gerade laufende Sitzung abgebrochen, andernfalls wird die Anmeldung erst nach Beenden der aktuellen Sitzung durchgeführt. "session_arguments" sind im Format von printf angegebene Inhalt für .dmrc. Nicht aufgeführte Schlüssel sind mit den zuletzt gespeicherten Werten vorbelegt.</para>
</listitem>
</varlistentry>
</variablelist>

<variablelist>
<title
>display-spezifische Befehle:</title>
<varlistentry>
<term
><command
>lock</command
></term>
<listitem>
<para
>Dieses Display ist als gesperrt markiert. Wenn der X-Server in diesem Zustand abstürzt, erfolgt keine automatische Anmeldung.</para>
</listitem>
</varlistentry>
<varlistentry>
<term
><command
>unlock</command
></term>
<listitem>
<para
>Hebt den Effekt von <command
>lock</command
> auf und schaltet die automatische Anmeldung wieder ein.</para>
</listitem>
</varlistentry>
<varlistentry>
<term
><command
>suicide</command
></term>
<listitem>
<para
>Die derzeit laufende Arbeitssitzung wird zum Abbruch gezwungen. Es wird keine automatische Anmeldung versucht, aber ein geplantes "login" ausgeführt.</para>
</listitem>
</varlistentry>
</variablelist>

<variablelist>
<title
>Befehle für alle Sockets</title>
<varlistentry>
<term
><command
>caps</command
></term>
<listitem>
<para
>Gibt eine Liste der Eigenschaften dieses Sockets zurück:</para>

<variablelist>
<varlistentry>
<term
><returnvalue
>&kdm;</returnvalue
></term>
<listitem>
<para
>identifiziert kdm für den Fall, dass ein anderer Display-Manager dieses Protokoll ebenfalls unterstützt.</para>
</listitem>
</varlistentry>
<varlistentry>
<term
><returnvalue
>list</returnvalue
>, <returnvalue
>lock</returnvalue
>, <returnvalue
>suicide</returnvalue
>, <returnvalue
>login</returnvalue
></term>
<listitem>
<para
>Der entsprechende Befehl wird unterstützt</para>
</listitem>
</varlistentry>
<varlistentry>
<term
><returnvalue
>bootoptions</returnvalue
></term>
<listitem>
<para
>Der Befehl <command
>listbootoptions</command
> und <option
>=</option
> zum <command
>shutdown</command
> werden unterstützt</para>
</listitem>
</varlistentry>
<varlistentry>
<term
><returnvalue
>shutdown &lt;list&gt;</returnvalue
></term>
<listitem>
<para
><command
>shutdown</command
> wird unterstützt und ist für die aufgeführten Benutzer (eine kommaseparierte Liste) erlaubt. <returnvalue
>*</returnvalue
> steht für alle authentifizierten Benutzer.</para>
</listitem>
</varlistentry>
<varlistentry>
<term
><returnvalue
>nuke &lt;list&gt;</returnvalue
></term>
<listitem>
<para
>Ein erzwungenes Herunterfahren kann von allen aufgeführten Benutzern ausgeführt werden.</para>
</listitem>
</varlistentry>
<varlistentry>
<term
><returnvalue
>nuke</returnvalue
></term>
<listitem>
<para
>Ein erzwungenes Herunterfahren kann von jedem Benutzer ausgeführt werden</para>
</listitem>
</varlistentry>
<varlistentry>
<term
><returnvalue
>reserve &lt;anzahl&gt;</returnvalue
></term>
<listitem>
<para
>Es sind Reserve-Displays eingerichtet, und davon sind <returnvalue
>anzahl</returnvalue
> gerade verfügbar</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><command
>list</command
> [<parameter
>all</parameter
> | <parameter
>alllocal</parameter
>]</term>
<listitem>
<para
>Gibt eine Liste der laufenden Sitzungen zurück. Als Voreinstellung werden alle aktiven Sitzungen aufgeführt. Wird <parameter
>all</parameter
> angegeben, werden auch passive Sitzungen aufgeführt. Wird <parameter
>alllocal</parameter
> angegeben, werden passive Sitzungen ebenfalls aufgelistet aber alle eingehenden Sitzungen auf anderen Rechnern übergangen.</para>
<para
>Jeder Eintrag für eine Sitzung besteht aus einem mit Kommas getrennten Tupel aus:</para>
<itemizedlist>
<listitem
><para
>Display- oder TTY-Name</para
></listitem>
<listitem
><para
>VT-Namen für lokale Sitzungen</para
></listitem>
<listitem
><para
>Dem Namen des angemeldeten Benutzers oder einem leeren Eintrag bei passiven Sitzungen und ausgehenden Sitzungen auf anderen Rechnern</para
></listitem>
<listitem
><para
>Sitzungstyp oder <quote
>&lt;remove&gt;</quote
> für ausgehende Sitzungen auf anderen Rechnern, leer für passive Sitzungen.</para
></listitem>
<listitem
><para
>Einem Flag-Feld:</para>
<itemizedlist
><listitem
><para
><literal
>*</literal
> für den Display, der zum anfragenden Socket gehört.</para
></listitem>
<listitem
><para
><literal
>!</literal
> für Sitzungen, die vom anfragenden Socket nicht abgebrochen werden können.</para
></listitem>
</itemizedlist>
</listitem>
</itemizedlist>
<para
>Zukünftig können hier weitere Felder hinzukommen.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><command
>reserve</command
> [<parameter
>Wartezeit in Sekunden</parameter
>]</term>
<listitem>
<para
>Startet einen Reserver-Anmeldebildschirm. Wenn sich innerhalb der angegebenen Wartezeit (die Voreinstellung ist 1 Minute) niemand anmeldet, wird der Display wieder entfernt. Wenn die Sitzung auf diesem Display beendet wird, wird dieser ebenfalls wieder entfernt.</para>
<para
>Nur erlaubt bei Sockets für lokale Displays und den globalen Socket.</para
> 
</listitem>
</varlistentry>

<varlistentry>
<term
><command
>activate</command
> (<parameter
>vt</parameter
>|<parameter
>display</parameter
>)</term>
<listitem>
<para
>Wechselt zu einem bestimmten VT. Das VT kann entweder direkt angegebenen werden (&zb; <parameter
>vt3</parameter
>) oder über den Display, auf dem es benutzt wird (&zb; <parameter
>:2</parameter
>).</para>
<para
>Nur erlaubt bei Sockets für lokale Displays und den globalen Socket.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><command
>listbootoptions</command
></term>
<listitem>
<para
>Zeigt alle verfügbaren Boot-Optionen an.</para>
<!--FIXME: "ok" list default current
    default and current are indices into the list and are -1 if unset or
    undeterminable. -->
</listitem>
</varlistentry>

<varlistentry>
<term
><command
>shutdown</command
> (<parameter
>reboot</parameter
> | <parameter
>halt</parameter
>) [<parameter
>=<replaceable
>bootchoice</replaceable
></parameter
>] (<parameter
>ask</parameter
>|<parameter
>trynow</parameter
>|<parameter
>forcenow</parameter
>|<parameter
>schedule</parameter
>|<parameter
>start (<parameter
>-1</parameter
>|<parameter
>end (<parameter
>force</parameter
>|<parameter
>forcemy</parameter
>|<parameter
>cancel)</parameter
>)</parameter
>)</parameter
>)</term>
<listitem>
<para
>Das System erhält die Aufforderung zum Herunterfahren, entweder als reboot oder halt/poweroff.</para>
<para
>Aus der Liste, die von <command
>listbootoptions</command
> zurückgegeben wird, kann das Betriebssystem für den nächsten Rechnerstart angegeben werden</para>
<para
>Anfragen zum Herunterfahren des Systems, die von display-spezifischen Sockets ausgehen, werden ausgeführt, sobald die Sitzung auf diesem Display beendet wird</para>
<para
><parameter
>start</parameter
> gibt den Zeitpunkt an, an dem das Herunterfahren stattfinden soll. Beginnt dieser Wert mit einem Pluszeichen, wird die aktuelle Uhrzeit hinzuaddiert. Eine Null bedeutet "Sofort".</para>
<para
><parameter
>end</parameter
> ist der späteste Zeitpunkt, an dem das Herunterfahren stattfinden soll, wenn noch aktive Sitzungen laufen. Beginnt der Wert mit einem Pluszeichen, wird die Startzeit aufaddiert. "-1" bedeutet, dass unbegrenzt gewartet wird. Wenn der Endzeitpunkt erreicht ist und immer noch aktive Sitzungen laufen, kann &kdm; eine der folgenden Aktionen durchführen:</para>
<itemizedlist>
<listitem
><para
><parameter
>cancel</parameter
> - das Herunterfahren wird nicht ausgeführt</para
></listitem>
<listitem
><para
><parameter
>force</parameter
> - das Herunterfahren wird trotzdem durchgeführt</para
></listitem>
<listitem
><para
><parameter
>forcemy</parameter
> - Das Herunterfahren wird trotzdem durchgeführt, wenn alle aktiven Sitzungen zu dem Benutzer gehören, der das Herunterfahren angefordert hat. Gültig nur für display-spezifische Sockets.</para
></listitem>
</itemizedlist>
<para
><parameter
>start</parameter
> und <parameter
>end</parameter
> werden in Sekunden seit Beginn der &UNIX;-Epoche angegeben.</para>
<para
><parameter
>trynow</parameter
> is a synonym for <parameter
>0 0 cancel</parameter
>, <parameter
>forcenow</parameter
> for <parameter
>0 0 force</parameter
> and <parameter
>schedule</parameter
> for <parameter
>0 -1</parameter
>.</para>
<para
><parameter
>ask</parameter
> versucht ein sofortiges Herunterfahren und fragt beim Benutzer an, sofern noch aktive Sitzungen laufen. Gültig nur für display-spezifische Sockets.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><command
>shutdown cancel</command
> [<parameter
>local</parameter
>|<parameter
>global</parameter
>}</term>
<listitem>
<para
>Ein geplantes Herunterfahren abbrechen. Der globale Socket bricht immer das gerade anstehende Herunterfahren ab, die display-spezifischen Sockets per Voreinstellung nur die von ihnen eingestellten Anfragen.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><command
>shutdown status</command
></term>
<listitem>
<para
>Zurückliefern einer Liste mit Informationen über Anforderungen zum Herunterfahren.</para>
<para
>Die Einträge sind durch Kommas getrennte Tupel von:</para>
<itemizedlist>
<listitem>
<para
>(<returnvalue
>global</returnvalue
>|<returnvalue
>local</returnvalue
>) - anstehende oder in der Warteschlange eingestellte Anfragen zum Herunterfahren. Ein lokaler Eintrag kann nur von einem display-spezifischen Socket zurückgeliefert werden.</para>
</listitem>
<listitem
><para
>(<returnvalue
>halt</returnvalue
>|<returnvalue
>reboot</returnvalue
>)</para
></listitem>
<listitem
><para
>start</para
></listitem>
<listitem
><para
>end</para
></listitem>
<listitem
><para
>("ask"|"force"|"forcemy"|"cancel")</para
></listitem>
<listitem
><para
>Die numerische Benutzer-ID des anfragenden Benutzers, -1 für den globalen Socket.</para
></listitem>
<listitem
><para
>Das als nächstes zu bootende Betriebssystem oder "-" für keines.</para
></listitem>
</itemizedlist>
<para
>Zukünftig können weitere Felder hinzukommen</para>
</listitem>
</varlistentry>
</variablelist>
</listitem>
</varlistentry>
</variablelist>
<para
>Sockets können auf zwei Arten benutzt werden:</para>
<itemizedlist>
<listitem>
<para
>Direkte Verbindung. FifoDir wird als $<envar
>DM_CONTROL</envar
> exportiert; der Name von display-spezifischen Sockets kann aus $<envar
>DISPLAY</envar
> abgeleitet werden.</para>
</listitem>
<listitem>
<para
>Durch Verwendung des Befehls <command
>kdmctl</command
> (&zb; aus einem Shell-Skript). Um mehr darüber zu erfahren, rufen Sie <command
>kdmctl</command
><option
>-h</option
> auf.</para>
</listitem>
</itemizedlist>

<para
>Hier ist ein Beispiel für ein Bash-Skript <quote
>reboot mit FreeBSD</quote
>:</para>

<programlisting
>if kdmctl | grep -q shutdown; then
  IFS=$'\t'
  set -- `kdmctl listbootoptions`
  if [ "$1" = ok ]; then
        fbsd=$(echo "$2" | tr ' ' '\n' | sed -ne 's,\\s, ,g;/freebsd/I{p;q}')
        if [ -n "$fbsd" ]; then
      kdmctl shutdown reboot "=$fbsd" ask &gt; /dev/null
        else
          echo "FreeBSD boot unavailable."
        fi
  else
    echo "Boot options unavailable."
  fi
else
  echo "Cannot reboot system."
fi</programlisting>

</sect1>
<!-- Riddell: so there's no GUI you need to edit kdmrc to say UseTheme=true and Theme=/path/to/theme.xml
[13:31] <Riddell
> jriddell.org/programs has an example theme 

<sect1 id="dm-themes">
<title
>Themes</title>

&kdm; has limited support for desktop manager themes.  You may enable them
by adding <userinput
>UseTheme=true</userinput
> to <filename
>kdmrc</filename>
and <userinput
>Theme=/path/to/theme.xml</userinput
>.  
</sect1>
-->
</chapter>

<chapter id="Other-Information">
<title
>Weiterführende Informationen</title>

<para
>Da &kdm; von &xdm; abstammt, finden Sie in der Manual-Seite von <ulink url="man:xdm"
>xdm</ulink
> hilfreiche Hintergrundinformationen. Bei Problemen mit X sollten Sie die Manual-Seiten von <ulink url="man:X"
>X</ulink
> und <ulink url="man:startx"
>startx</ulink
> lesen. Wenn Sie Fragen zu &kdm; haben, die dieses Handbuch nicht beantwortet, so nutzen Sie die Tatsache, dass &kdm; unter den Lizenzbedingungen von GNU entwickelt wurde: Schauen Sie direkt in den Quellcode. </para>

</chapter>


<chapter id="credits"
><title
>Mitwirkende und Lizenz</title>

<para
>&kdm; stammt von &xdm; ab und enthält Code von diesem. (C) Keith Packard, MIT X Consortium.</para>

<para
>&kdm; 0.1 wurde von &Matthias.Ettrich; geschrieben. Spätere Versionen bis &kde; 2.0.x wurden von &Steffen.Hansen; erstellt. Einige neue Funktionen für &kde; 2.1.x und eine Generalüberholung für &kde; 2.2.x wurden von &Oswald.Buddenhagen; durchgeführt.</para>

<para
>Andere Teile des &kdm;-Codes gehören urheberrechtlich den Autoren und sind nach den Bedingungen der <ulink url="common/gpl-license.html"
>GNU GPL</ulink
> lizenziert. Jeder darf &kdm; ändern und das Ergebnis neu verteilen, solange die Namen der Autoren genannt werden.</para>

<para
>&kdm; benötigt die &Qt;-Bibliothek, für die Troll Tech AS das Copyright besitzt.</para>

<para
>Mitwirkende an der Dokumentation: <itemizedlist>

<listitem
><para
>Die Dokumentation wurde von &Steffen.Hansen; <email
>stefh@dit.ou.dk</email
> geschrieben.</para
></listitem>

<listitem
><para
>Erweiterungen der Dokumentation wurden von Gregor Zumstein<email
>zumstein@ssd.ethz.ch</email
> hinzugefügt. Letzte Änderung am 09.08.1998</para
></listitem>

<listitem
><para
>Für &kde; 2 wurde die Dokumentation von &Neal.Crook; überarbeitet &Neal.Crook.mail;. Letzte Änderung am 06.08.2000</para
></listitem>

<listitem
><para
>Für &kde; 2.2. wurde die Dokumentation von &Oswald.Buddenhagen; &Oswald.Buddenhagen.mail; überarbeitet und erweitert. Letzte Änderung: August 2001</para
></listitem>

</itemizedlist
></para>

<para
>Copyright der Dokumentation &Steffen.Hansen;, Gregor Zumstein, &Neal.Crook; und &Oswald.Buddenhagen;. Diese Dokument enthält auch große Teile der &xdm;-Manual-Seite, Copyright Keith Packard.</para>
&underFDL; &underGPL; </chapter>

<glossary id="glossary">
<title
>Glossar</title>

<glossentry id="gloss-greeter">
<glossterm
>Anmeldefenster</glossterm>
<glossdef
><para
>Das Fenster das der Benutzer von &kdm; sieht - das Fenster mit dem er sich anmeldet.</para>
</glossdef>
</glossentry>

<glossentry>
<glossterm id="gloss-entropy"
>Entropie</glossterm>
<glossdef
><para
>Die Entropie eines Systems ist ein Maß für seine Unvorhersehbarkeit. Dies wird bei der Erzeugung von Zufallszahlen benutzt.</para
></glossdef>
</glossentry>

</glossary>
</book>
<!--
Local Variables:
mode: xml
sgml-omittag: nil
sgml-shorttag: t
End:
-->

