<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 center
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, i.e. 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 authorization 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>Authorize</option></term>
<listitem>
<para>Create X-authorizations for local displays. The default is
true.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><option>AuthName</option></term>
<listitem>
<para>Which X-authorization 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 dialog.
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>Color scheme of the greeter.  The default is
<parameter>Default</parameter>.  Any color 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 analog 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>. <!-- find out path relative to, -->
<!-- formats permitted ... -->
</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 centered 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 authorization 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>


