<refentry id="kdmrc">
<refmeta>
<refentrytitle
>&kdmrc;</refentrytitle>
<manvolnum
>5</manvolnum>
<refmiscinfo class="date"
>6 March 2003</refmiscinfo>
<refmiscinfo class="sectdesc"
>man5</refmiscinfo>
<refmiscinfo class="software"
>release</refmiscinfo>
<refmiscinfo class="copyright"
>Copyright KDE</refmiscinfo>
</refmeta>

<!-- IMPORTANT -->
<!-- The stylesheets for man pages are white space sensitive! -->
<!-- Do not leave empty lines between elements unless you really mean
to, and preview the result before you are done with it. -->

<refnamediv>
<refname
>&kdmrc;</refname>
<refpurpose
>The &kdm; Configuration File</refpurpose>
</refnamediv>

<refsect1>
<title
>&kdmrc; General Comments</title>

<para
>The basic format of the file is <quote
>INI-like</quote
>. Options or <quote
>keys</quote
> have a name and a value, separated by a <literal
>=</literal
>, placed in sections. Keys are only valid in the sections they are defined for, and will not be applied (and a non-fatal error reported) if they are placed incorrectly. Some keys don't apply to particular displays, in which case they are ignored. </para>

<para
>The format for all keys are <userinput
><option
><replaceable
>key</replaceable
></option
>=<parameter
>value</parameter
></userinput
>. Key names are case sensitive. Sections are denoted by <literal
>[<replaceable
>Name of Section</replaceable
>]</literal
>. Lines beginning with <literal
>#</literal
> are comments.</para>

<para
>You can configure every X-display individually.</para>
<para
>Every display has a display name, which consists of a host name (which is empty for local displays specified in the Xservers file), a colon and a display number. Additionally, a display belongs to a display class (which can be ignored in most cases; the control centre does not support this feature at all).</para>

<para
>Sections with display-specific settings have the formal syntax <quote
>[X-" host [":" number [ "_" class ]] "-" sub-section "]</quote
></para>

<para
>You can use the <literal
>*</literal
> wildcard for host, number and class. You may omit trailing components; they are assumed to be <quote
>*</quote
> then. The host part may be a domain specification like <quote
>.inf.tu-dresden.de</quote
>.</para>

<para
>From which section a setting is actually taken is determined by these rules:</para>

<para
>An exact match takes precedence over a partial match (for the host part), which in turn takes precedence over a wildcard.</para>

<para
>Precedence decreases from left to right for equally exact matches</para>

<itemizedlist>
<title
>Example: display name "myhost:0", class "dpy"</title>
<listitem>
<para
>[X-myhost:0_dpy] precedes</para>
</listitem>
<listitem>
<para
>[X-myhost:0_*] (same as [X-myhost:0]) precedes</para>
</listitem>
<listitem>
<para
>[X-myhost:*_dpy] precedes</para>
</listitem>
<listitem>
<para
>[X-myhost:*_*] (same as [X-myhost]) precedes</para>
</listitem>
<listitem>
<para
>[X-*:0_dpy] precedes</para>
</listitem>
<listitem>
<para
>[X-*:0_*] (same as [X-*:0]) precedes</para>
</listitem>
<listitem>
<para
>[X-*:*_*] (same as [X-*])</para>
</listitem>
</itemizedlist>

<para
>These sections do <emphasis
>NOT</emphasis
> match this display:</para>

<para
>[X-hishost], [X-myhost:0_dec], [X-*:1], [X-:*]</para>

<para
>If a setting is not found in any matching section, the default is used.</para>

<note
><para
>The &kdmrc; is very thoroughly commented, and this documentation is based on those comments. Every comment applies to the following section or key.</para>

<para
>All comments will be lost if you change this file with the kcontrol frontend. The defaults refer to &kdm;'s built-in values. Values set in &kdmrc; override the defaults, you do not need to set every key if those defaults already suit you.</para
></note>

</refsect1>

<refsect1 id="kdmrc-general">
<title
>General</title>

<para
>The <literal
>[General]</literal
> section contains most of the global options, and will apply to every instance of &kdm; and every display.</para>

<variablelist>
<varlistentry>
<term
><option
>Xservers</option
></term>
<listitem>
<para
>If the value starts with a slash (<literal
>/</literal
>, this key specifies the file where X-Servers to be used by &kdm; are listed. The file is in the usual &xdm; Xservers format. If the value does not start with a slash, this key is interpreted as if it were a singleline of the Xservers file, &ie; it specifies exactly one X-server.</para>
<para
>The default value is <parameter
>:0 local /usr/X11R6/bin/X</parameter
> </para
> <para
>During installation, &kdm; will try to fill in the path to an existing <filename
>Xservers</filename
> file if it can find one.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><option
>PidFile</option
></term>
<listitem>
<para
>Where &kdm; should store it's <acronym
>PID</acronym
>. The default is to leave this key empty, which means <quote
>don't store</quote
>. You might want to set instead a full path, for example <filename
>/var/run/xdm.pid</filename
> so that you can check with a script if &kdm; is running or not.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><option
>LockPidFile</option
></term>
<listitem>
<para
>Whether &kdm; should lock the <acronym
>PID</acronym
> file to prevent having multiple &kdm; instances running at once. Leave it to <quote
>true</quote
>, unless you are brave. This will have no effect unless you set the <option
>PidFile</option
> first.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><option
>AuthDir</option
></term>
<listitem>
<para
>Where to store authorisation files. The default is <filename class="directory"
>/var/run/xauth</filename
>.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><option
>AutoRescan</option
></term>
<listitem>
<para
>Whether &kdm; should automatically re-read configuration files, if it finds they have changed. The default is <quote
>true</quote
>, and you should probably not need to change it.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><option
>ExportList</option
></term>
<listitem>
<para
>Additional environment variables &kdm; should pass to <filename
>kdm_config</filename
>, <filename
>kdm_greet</filename
>, <filename
>Xsetup</filename
>, <filename
>Xstartup</filename
>, <filename
>Xsession</filename
> and <filename
>Xreset</filename
>.</para>
<para
>A good candidate is <envar
>LD_LIBRARY_PATH</envar
>. The format is:</para>
<screen
><userinput
><option
>ExportList</option
>=<parameter
>SOME_VAR,ANOTHER_IMPORTANT_VAR</parameter
></userinput
></screen>
</listitem>
</varlistentry>

<varlistentry>
<term
><option
>RandomFile</option
></term>
<listitem>
<para
>Where &kdm; should fetch <link linkend="gloss-entropy"
>entropy</link
> from. The default is <filename
>/dev/mem</filename
>. You should not need to change this.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><option
>FifoDir</option
></term>
<listitem>
<para
>Where the command <acronym
>FiFo</acronym
>s should be created. Make it empty to disable the <acronym
>FiFo</acronym
>s. The default is <filename
>/var/run/xdmctl</filename
></para>
</listitem>
</varlistentry>

<varlistentry>
<term
><option
>FifoGroup</option
></term>
<listitem>
<para
>To which group the command <acronym
>FiFo</acronym
>s should belong. The default is <parameter
>-1</parameter
>, effectively <systemitem class="username"
>root</systemitem
>.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><option
>ConfigVersion</option
></term>
<listitem>
<para
>This option exists solely for the purpose of clean automatic upgrades. <emphasis
>Do not</emphasis
> change it, you may interfere with future upgrades and this could result in &kdm; failing to run.</para>
</listitem>
</varlistentry>
</variablelist>

</refsect1>

<refsect1 id="kdmrc-xdmcp">
<title
>Xdmcp</title>

<para
><indexterm
><primary
>&XDMCP;</primary
></indexterm
> This section configures remote logins via the &XDMCP;.</para>

<variablelist>
<title
>Keys for the [Xdmcp] Section of &kdmrc;</title>
<varlistentry>
<term
><option
>Enable</option
></term>
<listitem>
<para
>Whether &kdm; should listen to &XDMCP; requests. The default is <parameter
>true</parameter
></para>
</listitem>
</varlistentry>

<varlistentry>
<term
><option
>Port</option
></term>
<listitem>
<para
>The <acronym
>UDP</acronym
> port &kdm; should listen on for &XDMCP; requests. The default is <parameter
>177</parameter
> and this should not be changed.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><option
>KeyFile</option
></term>
<listitem>
<para
>File with the private keys of X-terminals. Required for &xdm; authentication. The default is to leave this key empty.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><option
>Xaccess</option
></term>
<listitem>
<para
>&XDMCP; access control file, in the usual &xdm; <filename
>Xaccess</filename
> format.</para>
<para
>The default is a file named <acronym
>Xaccess</acronym
> in the same folder as &kdmrc;. You could put the path to your working &xdm; <filename
>Xaccess</filename
> file here.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><option
>ChoiceTimeout</option
></term>
<listitem>
<para
>Number of seconds to wait for display to respond after the user has selected a host from the chooser. The default value is <parameter
>15</parameter
></para>
</listitem>
</varlistentry>

<varlistentry>
<term
><option
>RemoveDomainname</option
></term>
<listitem>
<para
>Strip the domain name from the remote display names, if it is equal to the local domain. The default is <parameter
>true</parameter
>.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><option
>SourceAddress</option
></term>
<listitem>
<para
>Use the numeric <acronym
>IP</acronym
> address of the incoming connection instead of the host name. Use this on multihomed hosts. The default is <parameter
>false</parameter
>.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><option
>Willing</option
></term>
<listitem>
<para
>The program which is invoked to dynamically generate replies to &XDMCP; Broadcast query requests.</para>
<para
>By default, no program is invoked, and <quote
>Willing to manage</quote
> is sent in reply.</para>
<para
>You could put a path here to an existing <filename
>Xwilling</filename
> if you have already configured one.</para>
</listitem>
</varlistentry>
</variablelist>

</refsect1>

<refsect1 id="kdmrc-shutdown">
<title
>Shutdown</title>
<para
></para>

<variablelist>
<title
>Keys for the [Shutdown] Section of &kdmrc;</title>

<varlistentry>
<term
><option
>HaltCmd</option
></term>
<listitem>
<para
>The command to run to halt the system. The default is <command
>/sbin/shutdown</command
> <option
>-h</option
> <parameter
>now</parameter
></para>
</listitem>
</varlistentry>

<varlistentry>
<term
><option
>RebootCmd</option
></term>
<listitem>
<para
>The command to run to reboot the system. The default is <command
>/sbin/shutdown</command
> <option
>-r</option
> <parameter
>now</parameter
></para>
</listitem>
</varlistentry>

<varlistentry>
<term
><option
>AllowFifo</option
></term>
<listitem>
<para
>Whether one can shut down the system via the global command <acronym
>FiFo</acronym
></para>
<para
>The default is <parameter
>False</parameter
>.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><option
>AllowFifoNow</option
></term>
<listitem>
<para
>Whether one can abort still running sessions when shutting down the system via the global command <acronym
>FiFo</acronym
>.</para>
<para
>The default is <parameter
>true</parameter
>.</para>
<para
>This will have no effect unless you previously set the key <option
>AllowFifo</option
>.</para>
</listitem>
</varlistentry>

</variablelist>

</refsect1>

<refsect1 id="kdmrc-x-core">
<title
>X-*-Core</title>

<para
>Core configuration for all displays. Times are specified in seconds unless noted otherwise.</para>

<para
>Some rough estimations how many seconds &kdm; will spend at most performing certain actions:</para>

<variablelist>
<varlistentry>
<term
>Opening a connection to the &X-Server; (OpenTime)</term>
<listitem
><para
><option
>OpenRepeat</option
> * (<option
>OpenTimeout</option
> + <option
>OpenDelay</option
>)</para
></listitem>
</varlistentry>

<varlistentry>
<term
>Starting a local &X-Server; (ServerTime)</term>
<listitem>
<para
><option
>ServerAttempts</option
> * <option
>ServerTimeout</option
></para
></listitem>
</varlistentry>

<varlistentry>
<term
>Starting a local display</term>
<listitem>
<para
><option
>StartAttempts</option
> * (ServerTime + OpenTime)</para>
</listitem>
</varlistentry>

<varlistentry>
<term
>Starting a remote display</term>
<listitem>
<para
><option
>StartAttempts</option
> * OpenTime</para>
</listitem>
</varlistentry>
</variablelist>

<variablelist>
<title
>Keys for the [X-*-Core] Section of &kdmrc;</title>

<varlistentry>
<term
><option
>OpenDelay</option
></term>
<listitem>
<para
>How long to wait after various errors before retrying to start the display. The default is <parameter
>15</parameter
>.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><option
>OpenTimeout</option
></term>
<listitem
><para
>How long to wait before timing out XOpenDisplay. The default is <parameter
>120</parameter
>.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><option
>OpenRepeat</option
></term>
<listitem>
<para
>How often to try the XOpenDisplay. The default is 5.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><option
>StartAttempts</option
></term>
<listitem>
<para
>Try at most this many times to start a display. If this fails, the display is disabled. The default is <parameter
>4</parameter
>.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><option
>StartInterval</option
></term>
<listitem>
<para
>The <option
>StartAttempt</option
> counter is reset after this many seconds. The default is <parameter
>30</parameter
>.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><option
>PingInterval</option
></term>
<listitem>
<para
>Ping the remote display every this many minutes. The default is <parameter
>5</parameter
></para>
</listitem>
</varlistentry>

<varlistentry>
<term
><option
>PingTimeout</option
></term>
<listitem>
<para
>Wait this long for a reply to a ping. The default is <parameter
>5</parameter
>.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><option
>TerminateServer</option
></term>
<listitem>
<para
>Restart instead of resetting the local &X-Server; after session exit. Use this if you find that the server is leaking memory or otherwise not releasing resources. The default is <parameter
>False</parameter
>.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><option
>ResetSignal</option
></term>
<listitem>
<para
>The signal needed to reset the local &X-Server;. The default is <parameter
>1</parameter
> which is <command
>SIGHUP</command
>.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><option
>TermSignal</option
></term>
<listitem>
<para
>The signal needed to terminate the local &X-Server;. The default is <parameter
>15</parameter
> which is <command
>SIGTERM</command
>.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><option
>ResetForAuth</option
></term>
<listitem>
<para
>Set if necessary to reset the &X-Server; to make it read the initial <filename
>Xauth</filename
> file.</para>
<para
>The default is false</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><option
>Authorise</option
></term>
<listitem>
<para
>Create X-authorisations for local displays. The default is true.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><option
>AuthName</option
></term>
<listitem>
<para
>Which X-authorisation mechanisms should be used.</para>
<para
>The default is <parameter
>XDM-AUTHORIZATION-1,MIT-MAGIC-COOKIE-1</parameter
> and you should be very careful changing this unless you are sure you know what you are doing.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><option
>AuthFile</option
></term>
<listitem>
<para
>The name of this &X-Server;'s <filename
>Xauth</filename
> file. The default is to leave this key empty, which means that a random name in the <option
>AuthDir</option
> will be used.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><option
>Resources</option
></term>
<listitem>
<para
>Specify a file with X-resources for the greeter, chooser, and background. The &kde; frontend doesn't take any notice of this, so you don't need it unless you use an alternative chooser, or another background generator than <command
>kdmdesktop</command
></para>
</listitem>
</varlistentry>

<varlistentry>
<term
><option
>Xrdb</option
></term>
<listitem>
<para
>The <command
>xrdb</command
> program to use to read the above specified resources. The default is <filename
>/usr/X11R6/bin/xrdb</filename
>.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><option
>Setup</option
></term>
<listitem>
<para
>A program to run before the greeter is shown. You should start <command
>kdmdesktop</command
> there. Also, <command
>xconsole</command
> can be started by this script. The default is to leave this key empty.</para>
<!-- note about xdm Xsetup and docu for it -->
</listitem>
</varlistentry>

<varlistentry>
<term
><option
>Startup</option
></term>
<listitem>
<para
>A program to run before a user session starts. You should invoke <command
>sessreg</command
> there, and optionally change the ownership of the console &etc;.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><option
>Reset</option
></term>
<listitem>
<para
>A program to run after a user session exits. You should invoke sessreg there and optionally change the ownership of the console, &etc;.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><option
>Session</option
></term>
<listitem>
<para
>The program which is run as the user which logs in. It is supposed to interpret the session argument (see <option
>SessionTypes</option
>) and start an appropriate session according to it.</para>
<para
>The default is <parameter
><command
>/usr/X11R6/bin/xterm</command
> <option
>-ls</option
> <option
>-T</option
></parameter
>, but if &kdm; can locate an already configured Xsession file during installation, the path to this will be filled in instead.</para>
<!-- Link to the xsession chapter -->
</listitem>
</varlistentry>

<varlistentry>
<term
><option
>FailsafeClient</option
></term>
<listitem>
<para
>The program to run if <option
>Session</option
> fails.</para>
<para
>The default is <parameter
><command
>/usr/X11R6/bin/xterm</command
></parameter
>.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><option
>UserPath</option
></term>
<listitem>
<para
>The <envar
>PATH</envar
> for the <option
>Session</option
> program. The default is <parameter
>/bin:/usr/bin:/usr/X11R6/bin:/usr/local/bin</parameter
></para>
</listitem>
</varlistentry>

<varlistentry>
<term
><option
>SystemPath</option
></term>
<listitem>
<para
>The path for <application
>Setup</application
>, <application
>Startup</application
> and <application
>Reset</application
>, &etc;.</para>
<para
>The default is <parameter
>/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin:/usr/local/bin</parameter
>.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><option
>SystemShell</option
></term>
<listitem>
<para
>The default system shell. The default is <parameter
>/bin/sh</parameter
></para>
</listitem>
</varlistentry>

<varlistentry>
<term
><option
>UserAuthDir</option
></term>
<listitem>
<para
>Where to put the user's &X-Server; authorization file if <filename
>~/.Xauthority</filename
> cannot be created. The default is <parameter
><filename class="directory"
>/tmp</filename
></parameter
>.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><option
>AutoReLogin</option
></term>
<listitem>
<para
>If <parameter
>true</parameter
>, &kdm; will automatically restart a session after an &X-Server; crash, or if it is killed by <keycombo action="simul"
>&Ctrl;&Alt;<keycap
>Delete</keycap
></keycombo
>. The default is <parameter
>false</parameter
>.</para>
<note
><para
>Enabling this opens a security hole: a secured display lock can be circumvented, unless you are using &kde;'s built-in screen lock.</para
></note>
</listitem>
</varlistentry>

<varlistentry>
<term
><option
>AllowRootLogin</option
></term>
<listitem>
<para
>Allow <systemitem class="username"
>root</systemitem
> logins. The default is <parameter
>true</parameter
>.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><option
>AllowNullPasswd</option
></term>
<listitem>
<para
>Allow to log in when the user has an empty password. Default is <parameter
>true</parameter
>.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><option
>AllowShutdown</option
></term>
<listitem>
<para
>Who is allowed to shut down the system. This applies both to the greeter and to the command <acronym
>FiFo</acronym
>. The default is <parameter
>All</parameter
>.</para>
<para
>Possible values are:</para>

<variablelist>
<varlistentry>
<term
><parameter
>None</parameter
></term>
<listitem
><para
>No <guibutton
>Shutdown...</guibutton
> button is shown at all.</para
></listitem>
</varlistentry>
<varlistentry>
<term
><parameter
>Root</parameter
></term>
<listitem
><para
>The root password must be entered to shut down.</para
></listitem>
</varlistentry>
<varlistentry>
<term
><parameter
>All</parameter
></term>
<listitem
><para
>Everybody can shut down the machine.</para
></listitem>
</varlistentry>
</variablelist>
</listitem>
</varlistentry>

<varlistentry>
<term
><option
>AllowSdForceNow</option
></term>
<listitem>
<para
>Who is allowed to abort all still running sessions when shutting down. The possible values are the same as for <option
>AllowShutdown</option
>, and the default is <parameter
>All</parameter
></para>
</listitem>
</varlistentry>

<varlistentry>
<term
><option
>DefaultSdMode</option
></term>
<listitem>
<para
>The default choice for shutdown condition/timing.</para>
<para
>Possible values are:</para>

<variablelist>
<varlistentry>
<term
><parameter
>Schedule</parameter
></term>
<listitem
><para
>Shutdown after all sessions exit (possibly at once.) This is the default.</para>
</listitem>
</varlistentry>
<varlistentry>
<term
><parameter
>TryNow</parameter
></term>
<listitem
><para
>Shutdown, if no sessions are open, otherwise do nothing.</para>
</listitem>
</varlistentry>
<varlistentry>
<term
><parameter
>ForceNow</parameter
></term>
<listitem>
<para
>Shutdown unconditionally.</para>
</listitem>
</varlistentry>
</variablelist>
</listitem>
</varlistentry>

<varlistentry>
<term
><option
>InteractiveSd</option
></term>
<listitem
><para
>If this is <parameter
>false</parameter
>, the user must select the shutdown condition/timing directly in the shutdown dialogue. If this is <parameter
>true</parameter
>, he won't be shown the options but will be asked what to do if any sessions are actually open. The default is <parameter
>true</parameter
>.</para>
<note
><para
>The interaction is currently not implemented. If this is set to true, a normal forced shutdown will happen, ignoring the value of the <option
>AllowSdForceNow</option
> option!</para
></note>
</listitem>
</varlistentry>

<varlistentry>
<term
><option
>SessSaveFile</option
></term>
<listitem>
<para
>Where, relative to the user's home folder, to store the last selected session. The default is <filename
>.wmrc</filename
>.</para>
</listitem>
</varlistentry>
</variablelist>

</refsect1>

<refsect1 id="kdmrc-x-greeter">
<title
>X-*-Greeter</title>

<para
>Greeter configuration for all displays.</para>

<variablelist>
<title
>Keys for the [X-*-Greeter] section of &kdmrc;</title>

<varlistentry>
<term
><option
>SessionTypes</option
></term>
<listitem>
<para
>Session types the users can select. It is advisable to have <parameter
>default</parameter
> and <parameter
>failsafe</parameter
> listed here (this is the default)</para>
</listitem>
</varlistentry>

<varlistentry>
<term id="option-guistyle"
><option
>GUIStyle</option
></term>
<listitem>
<para
>Widget style of the greeter. Available are <parameter
>Default</parameter
>, <parameter
>Windows</parameter
>, <parameter
>Platinum</parameter
>, <parameter
>Motif</parameter
>, <parameter
>MotifPlus</parameter
>, <parameter
>CDE</parameter
>, <parameter
>SGI</parameter
> and any other styles you have installed, such as <parameter
>Keramik</parameter
> or <parameter
>HighColor</parameter
>.</para>
<para
>The default is <parameter
>Default</parameter
>.</para>
</listitem>
</varlistentry>

<varlistentry>
<term id="option-colorscheme"
><option
>ColorScheme</option
></term>
<listitem>
<para
>Colour scheme of the greeter. The default is <parameter
>Default</parameter
>. Any colour scheme you have installed, such as <parameter
>Pumpkin</parameter
> can be used here.</para>
</listitem>
</varlistentry>

<varlistentry>
<term id="option-logoarea"
><option
>LogoArea</option
></term>
<listitem>
<para
>What should be shown beside the input lines.</para>
<para
>The available values are:</para>
<variablelist>
<varlistentry>
<term
><parameter
>Logo</parameter
></term>
<listitem
><para
>The image specified by <option
>LogoPixmap</option
>. This is the default</para
></listitem>
</varlistentry>
<varlistentry>
<term
><parameter
>Clock</parameter
></term>
<listitem>
<para
>An analogue clock</para>
</listitem>
</varlistentry>
<varlistentry>
<term
><parameter
>None</parameter
></term>
<listitem>
<para
>Nothing</para>
</listitem>
</varlistentry>
</variablelist>
</listitem>
</varlistentry>

<varlistentry>
<term
><option
>LogoPixmap</option
></term>
<listitem>
<para
>The image to show when <option
>LogoArea</option
>=<parameter
>Logo</parameter
>. Default is <parameter
>kdelogo.png</parameter
>. </para
></listitem>
</varlistentry>

<varlistentry>
<term id="option-greeterposfixed"
><option
>GreeterPosFixed</option
></term>
<term
><option
>GreeterPosX</option
></term>
<term
><option
>GreeterPosY</option
></term>
<listitem>
<para
>Normally the greeter is centred on the screen. Use these options of you want it to appear elsewhere on the screen. The default is for <option
>GreeterPosFixed</option
> to be set to <parameter
>false</parameter
>, in which case setting the other two options will have no effect.</para>
</listitem>
</varlistentry>

<varlistentry>
<term id="option-greetstring"
><option
>GreetString</option
></term>
<listitem>
<para
>The headline in the greeter.</para>
<para
>The following characters are replaced by their value:</para>
<variablelist>
<varlistentry>
<term
><parameter
>%d</parameter
></term>
<listitem
><para
>Current display.</para
></listitem>
</varlistentry>
<varlistentry>
<term
><parameter
>%h</parameter
></term>
<listitem
><para
>host name, possibly with the domain name.</para
></listitem>
</varlistentry>
<varlistentry>
<term
><parameter
>%n</parameter
></term>
<listitem
><para
>Node name, most probably the host name without the domain name.</para
></listitem>
</varlistentry>
<varlistentry>
<term
><parameter
>%s</parameter
></term>
<listitem
><para
>The operating system</para
></listitem>
</varlistentry>
<varlistentry>
<term
><parameter
>%r</parameter
></term>
<listitem
><para
>The operating system version</para
></listitem>
</varlistentry>
<varlistentry>
<term
><parameter
>%m</parameter
></term>
<listitem
><para
>The machine (hardware) type</para
></listitem>
</varlistentry>
<varlistentry>
<term
><parameter
>%%</parameter
></term>
<listitem
><para
>A single <literal
>%</literal
></para>
</listitem>
</varlistentry>
</variablelist>

<para
>The default string is <parameter
>Welcome to %s at %n</parameter
>.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><option
>GreetFont</option
></term>
<listitem
><para
>The font for the headline. The default is <parameter
>charter,24,bold</parameter
></para
></listitem>
</varlistentry>

<varlistentry>
<term
><option
>StdFont</option
></term>
<listitem>
<para
>The normal font used in the greeter. The default is <parameter
>helvetica,12</parameter
>.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><option
>FailFont</option
></term>
<listitem>
<para
>The font used for the <errorname
>Login Failed</errorname
> message. Default is <parameter
>helvetica,12,bold</parameter
>.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
>AntiAliasing</term>
<listitem
><para
>Whether the fonts shown in the greeter should be antialiased. The default is <parameter
>false</parameter
></para
></listitem>
</varlistentry>

<varlistentry>
<term
>NumLock</term>
<listitem>
<para
>What to do with the Num Lock modifier for the time the greeter is running.</para>

<variablelist>
<varlistentry>
<term
><parameter
>On</parameter
></term>
<listitem
><para
>Turn on Num Lock</para>
</listitem>
</varlistentry>
<varlistentry>
<term
><parameter
>Off</parameter
></term>
<listitem
><para
>Turn off Num Lock</para>
</listitem>
</varlistentry>
<varlistentry>
<term
><parameter
>Keep</parameter
></term>
<listitem
><para
>Don't change the state (this is the default.)</para>
</listitem>
</varlistentry>
</variablelist>

</listitem>
</varlistentry>

<varlistentry>
<term
><option
>Language</option
></term>
<listitem>
<para
>Language to use in the greeter. The default is <parameter
>en_US</parameter
>.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><option
>ShowUsers</option
></term>
<listitem>
<para
>Specify which user names (and pictures) should be shown in the greeter.</para>
<para
>Available values are:</para>
<variablelist>
<varlistentry>
<term
><parameter
>NotHidden</parameter
></term>
<listitem
><para
>All users except those listed in <option
>HiddenUsers</option
>. This is the default.</para
></listitem>
</varlistentry>
<varlistentry>
<term
><parameter
>Selected</parameter
></term>
<listitem
><para
>Only the users listed in <option
>SelectedUsers</option
></para>
</listitem>
</varlistentry>
<varlistentry>
<term
><parameter
>None</parameter
></term>
<listitem>
<para
>No user list will be shown at all. Users must type in a correct login name.</para
></listitem>
</varlistentry>
</variablelist>
</listitem>
</varlistentry>

<varlistentry>
<term
><option
>SelectedUsers</option
></term>
<listitem
><para
>Only takes effect if <option
>ShowUsers</option
> is set to <parameter
>Selected</parameter
>. Make a comma separated list of usernames to show here.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><option
>HiddenUsers</option
></term>
<listitem
><para
>Only takes effect if <option
>ShowUsers</option
> is set to <parameter
>NotHidden</parameter
>. Make a comma separated list of usernames to hide here.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><option
>MinShowID</option
></term>
<listitem
><para
>This is a special case for <option
>HiddenUsers</option
>. In addition to usernames specified there, users with a <acronym
>UID</acronym
> less than this number (other than <systemitem class="username"
>root</systemitem
> will also be hidden. The default is <parameter
>0</parameter
>.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><option
>MaxShowID</option
></term>
<listitem
><para
>Complement to <option
>MinShowID</option
>. Users will a <acronym
>UID</acronym
> greater than this number will be hidden as well. The default is <parameter
>65535</parameter
>.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><option
>SortUsers</option
></term>
<listitem>
<para
>If <parameter
>false</parameter
>, the users are listed in the order they appear in <filename
>/etc/passwd</filename
>. If <parameter
>true</parameter
>, they are sorted alphabetically. The default is <parameter
>true</parameter
>.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><option
>FaceSource</option
></term>
<listitem
><para
>Specify where the users' pictures should be taken from. Available values are:</para>

<variablelist>
<varlistentry>
<term
><parameter
>AdminOnly</parameter
></term>
<listitem
><para
>From <filename
>$<envar
>KDEDIR</envar
>/share/apps/kdm/pics/users/$<envar
>USER</envar
>.png</filename
>. This is the default.</para>
</listitem
></varlistentry>
<varlistentry>
<term
><parameter
>UserOnly</parameter
></term>
<listitem
><para
>From the user's <filename
>$<envar
>HOME</envar
>/.face</filename
>.</para
></listitem>
</varlistentry>
<varlistentry>
<term
><parameter
>PreferAdmin</parameter
></term>
<listitem
><para
>Prefer <filename
>$<envar
>USER</envar
>.png</filename
>, fall back on <filename
>$<envar
>HOME</envar
>/.face</filename
>.</para
></listitem>
</varlistentry>
<varlistentry>
<term
><parameter
>PreferUser</parameter
></term>
<listitem
><para
>The other way around.</para
></listitem>
</varlistentry>
</variablelist>
</listitem>
</varlistentry>

<varlistentry>
<term
><option
>PreselectUser</option
></term>
<listitem
><para
>Specify if, and if so, which, user should be preselected for login.</para>
<note
><para
>Enabling this feature may be considered a security hole, since it presents a known to be valid login name to a potential attacker, so he <quote
>only</quote
> needs to guess the password.</para
></note>
<para
>Available values are:</para>

<variablelist>
<varlistentry>
<term
><parameter
>None</parameter
></term>
<listitem
><para
>Don't preselect any user. This is the default.</para
></listitem>
</varlistentry>
<varlistentry>
<term
><parameter
>Previous</parameter
></term>
<listitem
><para
>The user that successfully logged in last.</para
></listitem>
</varlistentry>
<varlistentry>
<term
><parameter
>Default</parameter
></term>
<listitem>
<para
>The user specified in the key <option
>DefaultUser</option
>.</para
></listitem>
</varlistentry>
</variablelist>

</listitem>
</varlistentry>

<varlistentry>
<term
><option
>DefaultUser</option
></term>
<listitem
><para
>The user to preselect if <option
>PreselectUser</option
> is set to <parameter
>Default</parameter
>.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><option
>FocusPasswd</option
></term>
<listitem
><para
>If this is true, the password input field is automatically focused if a user is preselected. The default is <parameter
>False</parameter
>.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><option
>EchoMode</option
></term>
<listitem>
<para
>The password input field cloaks the typed in text. Here you can specify how to do it:</para>
<variablelist>
<varlistentry>
<term
><parameter
>NoEcho</parameter
></term>
<listitem>
<para
>Nothing is shown at all. The cursor doesn't move.</para>
</listitem>
</varlistentry>
<varlistentry>
<term
><parameter
>OneStar</parameter
></term>
<listitem>
<para
><literal
>*</literal
> is shown for every typed letter. This is the default.</para
></listitem>
</varlistentry>
<varlistentry>
<term
><parameter
>ThreeStars</parameter
></term>
<listitem
><para
><literal
>***</literal
> is shown for every typed letter.</para>
</listitem>
</varlistentry>
</variablelist>
</listitem>
</varlistentry>

<varlistentry>
<term
><option
>UseBackground</option
></term>
<listitem
><para
>If true, &kdm; will set the background via <command
>krootimage</command
>. Otherwise the <command
>Setup</command
> script should be used to set up the background. The default is <parameter
>true</parameter
></para>
</listitem>
</varlistentry>

<varlistentry>
<term
><option
>BackgroundCfg</option
></term>
<listitem
><para
>The configuration file to use for <command
>krootimage</command
> if <option
>UseBackground</option
> is set to <parameter
>true</parameter
>. The default is <parameter
><filename
>$<envar
>KDEDIR</envar
>/share/config/kdm/backgroundrc</filename
></parameter
></para>
</listitem>
</varlistentry>

<varlistentry>
<term
><option
>GrabServer</option
></term>
<listitem>
<para
>Hold the &X-Server; grabbed the whole time the greeter is visible. This may be more secure, but it will disable any background and other X clients started from the <command
>Setup</command
> script. The default is <parameter
>false</parameter
></para
></listitem>
</varlistentry>

<varlistentry>
<term
><option
>GrabTimeout</option
></term>
<listitem
><para
>How many seconds to wait for the grab to succeed.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><option
>AuthComplain</option
></term>
<listitem
><para
>Warn if local X authorisation cannot be created. The default is <parameter
>true</parameter
>. This option is not implemented yet, so changing it will have no effect.</para
></listitem>
</varlistentry>
</variablelist>

</refsect1>

<refsect1 id="kdmrc-x-core-local">
<title
>X-:*-Core</title>

<para
>Core configuration for local displays.</para>

<variablelist>
<title
>Keys for the [X-:*-Core] section of &kdmrc;</title>

<varlistentry>
<term
><option
>ServerAttempts</option
></term>
<listitem>
<para
>How often to try to run the &X-Server;. Running includes executing it, and waiting for it to come up. The default is <parameter
>1</parameter
>.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><option
>ServerTimeout</option
></term>
<term
><option
>AllowShutdown</option
></term>
<term
><option
>AllowRootLogin</option
></term>
<term
><option
>AllowNullPasswd</option
></term>
<listitem
><para
>The same as for the [X-*-Core] section.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><option
>NoPassEnable</option
></term>
<listitem
><para
>Enable password-less logins on this display. <emphasis
>Use with extreme care!</emphasis
> The default is <parameter
>false</parameter
>.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><option
>NoPassUsers</option
></term>
<listitem
><para
>The users that don't need to provide a password to log in. <emphasis
>Never</emphasis
> list <systemitem class="username"
>root</systemitem
>.</para
></listitem>
</varlistentry>
</variablelist>

</refsect1>

<refsect1 id="kdmrc-x-greeter-local">
<title
>X-:*-Greeter</title>

<para
>Greeter configuration for local displays</para>

<variablelist>
<title
>Keys for the [X-:*-Greeter] Section of &kdmrc;</title>

<varlistentry>
<term
><option
>AuthComplain</option
></term>
<listitem
><para
>The same as for the [X-*-Greeter] section.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><option
>GreeterScreen</option
></term>
<listitem
><para
>The screen the greeter should be displayed on in multi-headed setups. The numbering starts with <parameter
>0</parameter
> and corresponds to the listing order in the active ServerLayout section of <filename
>XF86Config</filename
>. <parameter
>-1</parameter
> means to use the upper-left screen, <parameter
>-2</parameter
> means to use the upper-right screen. The default is <parameter
>0</parameter
>.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><option
>LoginMode</option
></term>
<listitem
><para
>Specify whether the greeter of local displays should start up in host chooser (remote) or login (local) mode and whether it is allowed to switch to the other mode.</para>
<para
>Available values are:</para>
<variablelist>
<varlistentry>
<term
><parameter
>LocalOnly</parameter
></term>
<listitem
><para
>Only local login possible. This is the default.</para
></listitem>
</varlistentry>
<varlistentry>
<term
><parameter
>RemoteOnly</parameter
></term>
<listitem
><para
>Only choice of remote host is possible.</para
></listitem>
</varlistentry>
<varlistentry>
<term
><parameter
>DefaultLocal</parameter
></term>
<listitem
><para
>Start up in local mode, but allow switch to remote mode.</para
></listitem>
</varlistentry>
<varlistentry>
<term
><parameter
>DefaultRemote</parameter
></term>
<listitem
><para
>Start up in remote mode, but allow switch to local mode.</para
></listitem>
</varlistentry>
</variablelist>
</listitem>
</varlistentry>

<varlistentry>
<term
><option
>ChooserHosts</option
></term>
<listitem
><para
>Comma separated list of hosts to be automatically added to the remote login menu. The special name <parameter
>*</parameter
> means broadcast. The default is <parameter
>*</parameter
>.</para>
</listitem>
</varlistentry>
</variablelist>

</refsect1>

<refsect1 id="kdmrc-x-core-local-first">
<title
>X-:0-Core</title>
<para
>Core configuration for just the first local display</para>

<variablelist>
<title
>Keys for the [X-:0-Core] Section of &kdmrc;</title>

<varlistentry>
<term
><option
>AutoLoginEnable</option
></term>
<listitem
><para
>Enable automatic login on this display. <emphasis
>Use with extreme care!</emphasis
></para
></listitem>
</varlistentry>

<varlistentry>
<term
><option
>AutoLoginUser</option
></term>
<listitem
><para
>The user to log in automatically. <emphasis
>Never</emphasis
> specify <systemitem class="username"
>root</systemitem
>.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><option
>AutoLoginPass</option
></term>
<listitem
><para
>The password for the user to log in automatically. This is <emphasis
>not</emphasis
> required unless the user is logged into a <acronym
>NIS</acronym
> or Kerberos domain. If you use this option, you should <userinput
><command
>chmod</command
> <option
>600</option
> <filename
>kdmrc</filename
></userinput
> for obvious reasons.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><option
>AutoLoginSession</option
></term>
<listitem>
<para
>The session for the user to log in automatically. This becomes useless after the user's first login, as the last used session will take precedence.</para
></listitem>
</varlistentry>
</variablelist>

</refsect1>

<refsect1 id="kdmrc-x-greeter-local-first">
<title
>X-:0-Greeter</title>
<para
>Greeter config for 1st local display</para>

<variablelist>
<title
>Keys for the [X-:0-Greeter] Section of &kdmrc;</title>
<varlistentry>
<term
><option
>PreselectUser</option
></term>
<term
><option
>DefaultUser</option
></term>
<listitem
><para
>These options are the same as for the [X-*-Greeter] section.</para
></listitem>
</varlistentry>
</variablelist>

</refsect1>
</refentry>


