Translation by Artem Sereda with my minor changes
[kde-ru.git] / docs / kdebase-workspace / kdm / kdmrc-ref.docbook
blobc41adc4fefd2a329a466f3a798a85f356d14ddb5
1 <!-- generated from /home/ossi/src/kde/head/kdebase/kdm/config.def - DO NOT EDIT! -->
3 <chapter id="kdm-files">
4 <title>The Files &kdm; Uses for Configuration</title>
6 <para>This chapter documents the files that control &kdm;'s behavior.
7 Some of this can be also controlled from the &kcontrol; module, but
8 not all.</para>
10 <sect1 id="kdmrc">
11 <title>&kdmrc; - The &kdm; master configuration file</title>
13 <para>The basic format of the file is <quote>INI-like</quote>.
14 Options are key/value pairs, placed in sections.
15 Everything in the file is case sensitive.
16 Syntactic errors and unrecognized key/section identifiers cause &kdm; to
17 issue non-fatal error messages.</para>
19 <para>Lines beginning with <literal>#</literal> are comments; empty lines
20 are ignored as well.</para>
22 <para>Sections are denoted by
23 <literal>[</literal><replaceable>Name of Section</replaceable><literal>]</literal>.
24 </para>
26 <para>You can configure every X-display individually.</para>
27 <para>Every display has a display name, which consists of a host name
28 (which is empty for local displays specified in <option>StaticServers</option>
29 or <option>ReserveServers</option>), a colon, and a display number.
30 Additionally, a display belongs to a
31 display class (which can be ignored in most cases).</para>
33 <para>Sections with display-specific settings have the formal syntax
34 <literal>[X-</literal>&nbsp;<replaceable>host</replaceable>&nbsp;[&nbsp;<literal>:</literal>&nbsp;<replaceable>number</replaceable>&nbsp;[&nbsp;<literal>_</literal>&nbsp;<replaceable>class</replaceable>&nbsp;]&nbsp;]&nbsp;<literal>-</literal>&nbsp;<replaceable>sub-section</replaceable>&nbsp;<literal>]</literal>
35 </para>
36 <para>All sections with the same <replaceable>sub-section</replaceable>
37 make up a section class.</para>
39 <para>You can use the wildcard <literal>*</literal> (match any) for
40 <replaceable>host</replaceable>, <replaceable>number</replaceable>, 
41 and <replaceable>class</replaceable>. You may omit trailing components;
42 they are assumed to be <literal>*</literal> then. The host part may be a
43 domain specification like <replaceable>.inf.tu-dresden.de</replaceable>
44 or the wildcard <literal>+</literal> (match non-empty).</para>
46 <para>From which section a setting is actually taken is determined by
47 these rules:</para>
49 <itemizedlist>
50 <listitem>
51 <para>An exact match takes precedence over a partial match (for the
52 host part), which in turn takes precedence over a wildcard
53 (<literal>+</literal> taking precendence over <literal>*</literal>).</para>
54 </listitem>
56 <listitem>
57 <para>Precedence decreases from left to right for equally exact matches.</para>
58 </listitem>
60 <listitem>
62 <para>
63 Example: display name <quote>myhost.foo:0</quote>, class <quote>dpy</quote>
64 </para>
65 <itemizedlist>
66 <listitem>
67 <para>[X-myhost.foo:0_dpy] precedes</para>
68 </listitem>
69 <listitem>
70 <para>[X-myhost.foo:0_*] (same as [X-myhost.foo:0]) precedes</para>
71 </listitem>
72 <listitem>
73 <para>[X-myhost.foo:*_dpy] precedes</para>
74 </listitem>
75 <listitem>
76 <para>[X-myhost.foo:*_*] (same as [X-myhost.foo]) precedes</para>
77 </listitem>
78 <listitem>
79 <para>[X-.foo:*_*] (same as [X-.foo]) precedes</para>
80 </listitem>
81 <listitem>
82 <para>[X-+:0_dpy] precedes</para>
83 </listitem>
84 <listitem>
85 <para>[X-*:0_dpy] precedes</para>
86 </listitem>
87 <listitem>
88 <para>[X-*:0_*] (same as [X-*:0]) precedes</para>
89 </listitem>
90 <listitem>
91 <para>[X-*:*_*] (same as [X-*]).</para>
92 </listitem>
93 <listitem>
94 <para>These sections do <emphasis>not</emphasis> match this display:</para>
95 <para>[X-hishost], [X-myhost.foo:0_dec], [X-*:1], [X-:*]</para>
96 </listitem>
97 </itemizedlist>
99 </listitem>
101 </itemizedlist>
103 <para>Common sections are [X-*] (all displays), [X-:*] (all local displays)
104 and [X-:0] (the first local display).</para>
106 <para>The format for all keys is
107 <userinput><option><replaceable>key</replaceable></option>&nbsp;<literal>=</literal>&nbsp;<parameter>value</parameter></userinput>.
108 Keys are only valid in the section class they are defined for.
109 Some keys do not apply to particular displays, in which case they are ignored.
110 </para>
112 <para>If a setting is not found in any matching section, the default
113 is used.</para>
115 <para>Special characters need to be backslash-escaped (leading and trailing
116 spaces (<literal>\s</literal>), tab (<literal>\t</literal>), linefeed
117 (<literal>\n</literal>), carriage return (<literal>\r</literal>) and the
118 backslash itself (<literal>\\</literal>)).</para>
119 <para>In lists, fields are separated with commas without whitespace in between.
120 </para>
121 <para>Some command strings are subject to simplified sh-style word splitting:
122 single quotes (<literal>'</literal>) and double quotes (<literal>"</literal>)
123 have the usual meaning; the backslash quotes everything (not only special
124 characters). Note that the backslashes need to be doubled because of the
125 two levels of quoting.</para>
127 <note><para>A pristine &kdmrc; is very thoroughly commented.
128 All comments will be lost if you change this file with the
129 kcontrol frontend.</para></note>
132 <sect2 id="kdmrc-general">
133 <title>The [General] section of &kdmrc;</title>
135 <para>
136 This section contains global options that do not fit into any specific section.
137 </para>
139 <variablelist>
141 <varlistentry>
142 <term id="option-configversion"><option>ConfigVersion</option></term>
143 <listitem>
144 <para>
145 This option exists solely for the purpose of clean automatic upgrades.
146 <emphasis>Do not</emphasis> change it, you may interfere with future
147 upgrades and this could result in &kdm; failing to run.
148 </para>
149 </listitem>
150 </varlistentry>
152 <varlistentry>
153 <term id="option-staticservers"><option>StaticServers</option></term>
154 <listitem>
155 <para>
156 List of displays (&X-Server;s) permanently managed by &kdm;. Displays with a
157 hostname are foreign displays which are expected to be already running,
158 the others are local displays for which &kdm; starts an own &X-Server;;
159 see <option>ServerCmd</option>. Each display may belong to a display class;
160 append it to the display name separated by an underscore.
161 See <xref linkend="kdmrc-xservers"/> for the details.
162 </para>
163 <para>The default is <quote>:0</quote>.</para>
164 </listitem>
165 </varlistentry>
167 <varlistentry>
168 <term id="option-reserveservers"><option>ReserveServers</option></term>
169 <listitem>
170 <para>
171 List of on-demand displays. See <option>StaticServers</option> for syntax.
172 </para>
173 <para>Empty by default.</para>
174 </listitem>
175 </varlistentry>
177 <varlistentry>
178 <term id="option-servervts"><option>ServerVTs</option></term>
179 <listitem>
180 <para>
181 List of Virtual Terminals to allocate to &X-Server;s. For negative numbers the
182 absolute value is used, and the <acronym>VT</acronym> will be allocated only
183 if the kernel says it is free. If &kdm; exhausts this list, it will allocate
184 free <acronym>VT</acronym>s greater than the absolute value of the last entry
185 in this list.
186 Currently Linux only.
187 </para>
188 <para>Empty by default.</para>
189 </listitem>
190 </varlistentry>
192 <varlistentry>
193 <term id="option-consolettys"><option>ConsoleTTYs</option></term>
194 <listitem>
195 <para>
196 This option is for operating systems (<acronym>OS</acronym>s) with support
197 for virtual terminals (<acronym>VT</acronym>s), by both &kdm; and the
198 <acronym>OS</acronym>s itself.
199 Currently this applies only to Linux.
200 </para><para>
201 When &kdm; switches to console mode, it starts monitoring all
202 <acronym>TTY</acronym> lines listed here (without the leading
203 <literal>/dev/</literal>).
204 If none of them is active for some time, &kdm; switches back to the X login.
205 </para>
206 <para>Empty by default.</para>
207 </listitem>
208 </varlistentry>
210 <varlistentry>
211 <term id="option-pidfile"><option>PidFile</option></term>
212 <listitem>
213 <para>
214 The filename specified will be created to contain an ASCII representation
215 of the process ID of the main &kdm; process; the PID will not be stored
216 if the filename is empty.
217 </para>
218 <para>Empty by default.</para>
219 </listitem>
220 </varlistentry>
222 <varlistentry>
223 <term id="option-lockpidfile"><option>LockPidFile</option></term>
224 <listitem>
225 <para>
226 This option controls whether &kdm; uses file locking to keep multiple
227 display managers from running onto each other.
228 </para>
229 <para>The default is <quote>true</quote>.</para>
230 </listitem>
231 </varlistentry>
233 <varlistentry>
234 <term id="option-authdir"><option>AuthDir</option></term>
235 <listitem>
236 <para>
237 This names a directory under which &kdm; stores &X-Server; authorization
238 files while initializing the session. &kdm; expects the system to clean up
239 this directory from stale files on reboot.
240 </para><para>
241 The authorization file to be used for a particular display can be
242 specified with the <option>AuthFile</option> option in [X-*-Core].
243 </para>
244 <para>The default is <quote>/var/run/xauth</quote>.</para>
245 </listitem>
246 </varlistentry>
248 <varlistentry>
249 <term id="option-autorescan"><option>AutoRescan</option></term>
250 <listitem>
251 <para>
252 This boolean controls whether &kdm; automatically re-reads its
253 configuration files if it finds them to have changed.
254 </para>
255 <para>The default is <quote>true</quote>.</para>
256 </listitem>
257 </varlistentry>
259 <varlistentry>
260 <term id="option-exportlist"><option>ExportList</option></term>
261 <listitem>
262 <para>
263 Additional environment variables &kdm; should pass on to all programs it runs.
264 <envar>LD_LIBRARY_PATH</envar> and <envar>XCURSOR_THEME</envar> are good candidates;
265 otherwise, it should not be necessary very often.
266 </para>
267 <para>Empty by default.</para>
268 </listitem>
269 </varlistentry>
271 <varlistentry>
272 <term id="option-randomfile"><option>RandomFile</option></term>
273 <listitem>
274 <para>
275 If the system has no native entropy source like /dev/urandom (see
276 <option>RandomDevice</option>) and no entropy daemon like EGD (see
277 <option>PrngdSocket</option> and <option>PrngdPort</option>) is running,
278 &kdm; will fall back to its own pseudo-random number generator
279 that will, among other things, successively checksum parts of this file
280 (which, obviously, should change frequently).
281 </para><para>
282 This option does not exist on Linux and various BSDs.
283 </para>
284 <para>The default is <quote>/dev/mem</quote>.</para>
285 </listitem>
286 </varlistentry>
288 <varlistentry>
289 <term id="option-prngdsocket"><option>PrngdSocket</option></term>
290 <listitem>
291 <para>
292 If the system has no native entropy source like /dev/urandom (see
293 <option>RandomDevice</option>), read random data from a Pseudo-Random
294 Number Generator Daemon,
295 like EGD (http://egd.sourceforge.net) via this UNIX domain socket.
296 </para><para>
297 This option does not exist on Linux and various BSDs.
298 </para>
299 <para>Empty by default.</para>
300 </listitem>
301 </varlistentry>
303 <varlistentry>
304 <term id="option-prngdport"><option>PrngdPort</option></term>
305 <listitem>
306 <para>
307 Same as <option>PrngdSocket</option>, only use a TCP socket on localhost.
308 </para>
309 </listitem>
310 </varlistentry>
312 <varlistentry>
313 <term id="option-randomdevice"><option>RandomDevice</option></term>
314 <listitem>
315 <para>
316 The path to a character device which &kdm; should read random data from.
317 Empty means to use the system's preferred entropy device if there is one.
318 </para><para>
319 This option does not exist on OpenBSD, as it uses the arc4_random
320 function instead.
321 </para>
322 <para>Empty by default.</para>
323 </listitem>
324 </varlistentry>
326 <varlistentry>
327 <term id="option-fifodir"><option>FifoDir</option></term>
328 <listitem>
329 <para>
330 The directory in which the command <acronym>FiFo</acronym>s should
331 be created; make it empty to disable them.
332 </para>
333 <para>The default is <quote>/var/run/xdmctl</quote>.</para>
334 </listitem>
335 </varlistentry>
337 <varlistentry>
338 <term id="option-fifogroup"><option>FifoGroup</option></term>
339 <listitem>
340 <para>
341 The group to which the global command <acronym>FiFo</acronym> should belong;
342 can be either a name or a numerical ID.
343 </para>
344 </listitem>
345 </varlistentry>
347 <varlistentry>
348 <term id="option-datadir"><option>DataDir</option></term>
349 <listitem>
350 <para>
351 The directory in which &kdm; should store persistent working data; such data
352 is, for example, the previous user that logged in on a particular display.
353 </para>
354 <para>The default is <quote>/var/lib/kdm</quote>.</para>
355 </listitem>
356 </varlistentry>
358 <varlistentry>
359 <term id="option-dmrcdir"><option>DmrcDir</option></term>
360 <listitem>
361 <para>
362 The directory in which &kdm; should store users' <filename>.dmrc</filename> files. This is only
363 needed if the home directories are not readable before actually logging in
364 (like with AFS).
365 </para>
366 <para>Empty by default.</para>
367 </listitem>
368 </varlistentry>
370 </variablelist>
371 </sect2>
374 <sect2 id="kdmrc-xdmcp">
375 <title>The [Xdmcp] section of &kdmrc;</title>
377 <para>
378 This section contains options that control &kdm;'s handling of
379 &XDMCP; requests.
380 </para>
382 <variablelist>
384 <varlistentry>
385 <term id="option-enable"><option>Enable</option></term>
386 <listitem>
387 <para>
388 Whether &kdm; should listen to incoming &XDMCP; requests.
389 </para>
390 <para>The default is <quote>true</quote>.</para>
391 </listitem>
392 </varlistentry>
394 <varlistentry>
395 <term id="option-port"><option>Port</option></term>
396 <listitem>
397 <para>
398 This indicates the UDP port number which &kdm; uses to listen for incoming
399 &XDMCP; requests. Unless you need to debug the system, leave this with its
400 default value.
401 </para>
402 <para>The default is <quote>177</quote>.</para>
403 </listitem>
404 </varlistentry>
406 <varlistentry>
407 <term id="option-keyfile"><option>KeyFile</option></term>
408 <listitem>
409 <para>
410 XDM-AUTHENTICATION-1 style &XDMCP; authentication requires a private
411 key to be shared between &kdm; and the terminal. This option specifies
412 the file containing those values. Each entry in the file consists of a
413 display name and the shared key.
414 </para>
415 <para>Empty by default.</para>
416 </listitem>
417 </varlistentry>
419 <varlistentry>
420 <term id="option-xaccess"><option>Xaccess</option></term>
421 <listitem>
422 <para>
423 To prevent unauthorized &XDMCP; service and to allow forwarding of &XDMCP;
424 IndirectQuery requests, this file contains a database of hostnames which
425 are either allowed direct access to this machine, or have a list of hosts
426 to which queries should be forwarded to. The format of this file is
427 described in <xref linkend="kdmrc-xaccess"/>.
428 </para>
429 <para>The default is <quote>${<envar>kde_confdir</envar>}/kdm/Xaccess</quote>.</para>
430 </listitem>
431 </varlistentry>
433 <varlistentry>
434 <term id="option-choicetimeout"><option>ChoiceTimeout</option></term>
435 <listitem>
436 <para>
437 Number of seconds to wait for the display to respond after the user has
438 selected a host from the chooser. If the display sends an &XDMCP;
439 IndirectQuery within this time, the request is forwarded to the chosen
440 host; otherwise, it is assumed to be from a new session and the chooser
441 is offered again.
442 </para>
443 <para>The default is <quote>15</quote>.</para>
444 </listitem>
445 </varlistentry>
447 <varlistentry>
448 <term id="option-removedomainname"><option>RemoveDomainname</option></term>
449 <listitem>
450 <para>
451 When computing the display name for &XDMCP; clients, the name resolver will
452 typically create a fully qualified host name for the terminal. As this is
453 sometimes confusing, &kdm; will remove the domain name portion of the host
454 name if it is the same as the domain name of the local host when this option
455 is enabled.
456 </para>
457 <para>The default is <quote>true</quote>.</para>
458 </listitem>
459 </varlistentry>
461 <varlistentry>
462 <term id="option-sourceaddress"><option>SourceAddress</option></term>
463 <listitem>
464 <para>
465 Use the numeric IP address of the incoming connection on multihomed hosts
466 instead of the host name. This is to avoid trying to connect on the wrong
467 interface which might be down at this time.
468 </para>
469 <para>The default is <quote>false</quote>.</para>
470 </listitem>
471 </varlistentry>
473 <varlistentry>
474 <term id="option-willing"><option>Willing</option></term>
475 <listitem>
476 <para>
477 This specifies a program which is run (as
478 <systemitem class="username">root</systemitem>) when an &XDMCP;
479 DirectQuery or BroadcastQuery is received and this host is configured
480 to offer &XDMCP; display management. The output of this program may be
481 displayed in a chooser window. If no program is specified, the string
482 <quote>Willing to manage</quote> is sent.
483 </para>
484 <para>Empty by default.</para>
485 </listitem>
486 </varlistentry>
488 </variablelist>
489 </sect2>
492 <sect2 id="kdmrc-shutdown">
493 <title>The [Shutdown] section of &kdmrc;</title>
495 <para>
496 This section contains global options concerning system shutdown.
497 </para>
499 <variablelist>
501 <varlistentry>
502 <term id="option-haltcmd"><option>HaltCmd</option></term>
503 <listitem>
504 <para>
505 The command (subject to word splitting) to run to halt/poweroff the system.
506 </para><para>
507 The default is something reasonable for the system on which &kdm; was built, like
508 <command>/sbin/shutdown&nbsp;<option>-h</option>&nbsp;<parameter>now</parameter></command>.
509 </para>
510 </listitem>
511 </varlistentry>
513 <varlistentry>
514 <term id="option-rebootcmd"><option>RebootCmd</option></term>
515 <listitem>
516 <para>
517 The command (subject to word splitting) to run to reboot the system.
518 </para><para>
519 The default is something reasonable for the system &kdm; on which was built, like
520 <command>/sbin/shutdown&nbsp;<option>-r</option>&nbsp;<parameter>now</parameter></command>.
521 </para>
522 </listitem>
523 </varlistentry>
525 <varlistentry>
526 <term id="option-allowfifo"><option>AllowFifo</option></term>
527 <listitem>
528 <para>
529 Whether it is allowed to shut down the system via the global command <acronym>FiFo</acronym>.
530 </para>
531 <para>The default is <quote>false</quote>.</para>
532 </listitem>
533 </varlistentry>
535 <varlistentry>
536 <term id="option-allowfifonow"><option>AllowFifoNow</option></term>
537 <listitem>
538 <para>
539 Whether it is allowed to abort active sessions when shutting down the
540 system via the global command <acronym>FiFo</acronym>.
541 </para><para>
542 This will have no effect unless <option>AllowFifo</option> is enabled.
543 </para>
544 <para>The default is <quote>true</quote>.</para>
545 </listitem>
546 </varlistentry>
548 <varlistentry>
549 <term id="option-bootmanager"><option>BootManager</option></term>
550 <listitem>
551 <para>
552 The boot manager &kdm; should use for offering boot options in the
553 shutdown dialog.
554 </para>
555 <variablelist>
556 <varlistentry>
557 <term><parameter>None</parameter></term>
558 <listitem><para>no boot manager</para></listitem>
559 </varlistentry>
560 <varlistentry>
561 <term><parameter>Grub</parameter></term>
562 <listitem><para>Grub boot manager</para></listitem>
563 </varlistentry>
564 <varlistentry>
565 <term><parameter>Lilo</parameter></term>
566 <listitem><para>Lilo boot manager (Linux on i386 &amp; x86-64 only)</para></listitem>
567 </varlistentry>
568 </variablelist>
569 <para>The default is <quote>None</quote>.</para>
570 </listitem>
571 </varlistentry>
573 </variablelist>
574 </sect2>
577 <sect2 id="kdmrc-core">
578 <title>The [X-*-Core] section class of &kdmrc;</title>
580 <para>
581 This section class contains options concerning the configuration
582 of the &kdm; backend (core).
583 </para>
585 <variablelist>
587 <varlistentry>
588 <term id="option-opendelay"><option>OpenDelay</option></term>
589 <listitem>
590 <para>
591 See <option>OpenRepeat</option>.
592 </para>
593 <para>The default is <quote>15</quote>.</para>
594 </listitem>
595 </varlistentry>
597 <varlistentry>
598 <term id="option-opentimeout"><option>OpenTimeout</option></term>
599 <listitem>
600 <para>
601 See <option>OpenRepeat</option>.
602 </para>
603 <para>The default is <quote>120</quote>.</para>
604 </listitem>
605 </varlistentry>
607 <varlistentry>
608 <term id="option-openrepeat"><option>OpenRepeat</option></term>
609 <listitem>
610 <para>
611 These options control the behavior of &kdm; when attempting to open a
612 connection to an &X-Server;. <option>OpenDelay</option> is the length
613 of the pause (in seconds) between successive attempts,
614 <option>OpenRepeat</option> is the number of attempts to make and
615 <option>OpenTimeout</option> is the amount of time to spend on a
616 connection attempt. After <option>OpenRepeat</option> attempts have been
617 made, or if <option>OpenTimeout</option> seconds elapse in any particular
618 connection attempt, the start attempt is considered failed.
619 </para>
620 <para>The default is <quote>5</quote>.</para>
621 </listitem>
622 </varlistentry>
624 <varlistentry>
625 <term id="option-startattempts"><option>StartAttempts</option></term>
626 <listitem>
627 <para>
628 How many times &kdm; should attempt to start a <literal>foreign</literal>
629 display listed in <option>StaticServers</option> before giving up
630 and disabling it.
631 Local displays are attempted only once, and &XDMCP; displays are retried
632 indefinitely by the client (unless the option <option>-once</option>
633 was given to the &X-Server;).
634 </para>
635 <para>The default is <quote>4</quote>.</para>
636 </listitem>
637 </varlistentry>
639 <varlistentry>
640 <term id="option-serverattempts"><option>ServerAttempts</option></term>
641 <listitem>
642 <para>
643 How many times &kdm; should attempt to start up a local &X-Server;.
644 Starting up includes executing it and waiting for it to come up.
645 </para>
646 <para>The default is <quote>1</quote>.</para>
647 </listitem>
648 </varlistentry>
650 <varlistentry>
651 <term id="option-servertimeout"><option>ServerTimeout</option></term>
652 <listitem>
653 <para>
654 How many seconds &kdm; should wait for a local &X-Server; to come up.
655 </para>
656 <para>The default is <quote>15</quote>.</para>
657 </listitem>
658 </varlistentry>
660 <varlistentry>
661 <term id="option-servercmd"><option>ServerCmd</option></term>
662 <listitem>
663 <para>
664 The command line to start the &X-Server;, without display number and VT spec.
665 This string is subject to word splitting.
666 </para>
667 <para>The default is <quote>DEF_SERVER_CMD</quote>.</para>
668 </listitem>
669 </varlistentry>
671 <varlistentry>
672 <term id="option-serverargslocal"><option>ServerArgsLocal</option></term>
673 <listitem>
674 <para>
675 Additional arguments for the &X-Server;s for local sessions.
676 This string is subject to word splitting.
677 </para>
678 <para>Empty by default.</para>
679 </listitem>
680 </varlistentry>
682 <varlistentry>
683 <term id="option-serverargsremote"><option>ServerArgsRemote</option></term>
684 <listitem>
685 <para>
686 Additional arguments for the &X-Server;s for remote sessions.
687 This string is subject to word splitting.
688 </para>
689 <para>Empty by default.</para>
690 </listitem>
691 </varlistentry>
693 <varlistentry>
694 <term id="option-servervt"><option>ServerVT</option></term>
695 <listitem>
696 <para>
697 The VT the &X-Server; should run on.
698 <option>ServerVTs</option> should be used instead of this option.
699 Currently Linux only.
700 </para>
701 </listitem>
702 </varlistentry>
704 <varlistentry>
705 <term id="option-servertty"><option>ServerTTY</option></term>
706 <listitem>
707 <para>
708 This option is for <acronym>OS</acronym>s without support for
709 <acronym>VT</acronym>s, either by &kdm; or the <acronym>OS</acronym> itself.
710 Currently this applies to all <acronym>OS</acronym>s but Linux.
711 </para><para>
712 When &kdm; switches to console mode, it starts monitoring this
713 <acronym>TTY</acronym> line (specified without the leading
714 <literal>/dev/</literal>) for activity. If the line is not used for some time,
715 &kdm; switches back to the X login.
716 </para>
717 <para>Empty by default.</para>
718 </listitem>
719 </varlistentry>
721 <varlistentry>
722 <term id="option-pinginterval"><option>PingInterval</option></term>
723 <listitem>
724 <para>
725 See <option>PingTimeout</option>.
726 </para>
727 <para>The default is <quote>5</quote>.</para>
728 </listitem>
729 </varlistentry>
731 <varlistentry>
732 <term id="option-pingtimeout"><option>PingTimeout</option></term>
733 <listitem>
734 <para>
735 To discover when <emphasis>remote</emphasis> displays disappear, &kdm;
736 regularly pings them.
737 <option>PingInterval</option> specifies the time (in minutes) between the
738 pings and <option>PingTimeout</option> specifies the maximum amount of
739 time (in minutes) to wait for the terminal to respond to the request. If
740 the terminal does not respond, the session is declared dead and terminated.
741 </para><para>
742 If you frequently use X terminals which can become isolated from
743 the managing host, you may wish to increase the timeout. The only worry
744 is that sessions will continue to exist after the terminal has been
745 accidentally disabled.
746 </para>
747 <para>The default is <quote>5</quote>.</para>
748 </listitem>
749 </varlistentry>
751 <varlistentry>
752 <term id="option-terminateserver"><option>TerminateServer</option></term>
753 <listitem>
754 <para>
755 Whether &kdm; should restart the local &X-Server; after session exit instead
756 of resetting it. Use this if the &X-Server; leaks memory or crashes the system
757 on reset attempts.
758 </para>
759 <para>The default is <quote>false</quote>.</para>
760 </listitem>
761 </varlistentry>
763 <varlistentry>
764 <term id="option-resetsignal"><option>ResetSignal</option></term>
765 <listitem>
766 <para>
767 The signal number to use to reset the local &X-Server;.
768 </para>
769 <para>The default is <quote>1 (SIGHUP)</quote>.</para>
770 </listitem>
771 </varlistentry>
773 <varlistentry>
774 <term id="option-termsignal"><option>TermSignal</option></term>
775 <listitem>
776 <para>
777 The signal number to use to terminate the local &X-Server;.
778 </para>
779 <para>The default is <quote>15 (SIGTERM)</quote>.</para>
780 </listitem>
781 </varlistentry>
783 <varlistentry>
784 <term id="option-authorize"><option>Authorize</option></term>
785 <listitem>
786 <para>
787 Controls whether &kdm; generates and uses authorization for
788 <emphasis>local</emphasis> &X-Server; connections.
789 For &XDMCP; displays the authorization requested by the display is used;
790 foreign non-&XDMCP; displays do not support authorization at all.
791 </para>
792 <para>The default is <quote>true</quote>.</para>
793 </listitem>
794 </varlistentry>
796 <varlistentry>
797 <term id="option-authnames"><option>AuthNames</option></term>
798 <listitem>
799 <para>
800 If <option>Authorize</option> is true, use the authorization mechanisms
801 listed herein. The MIT-MAGIC-COOKIE-1 authorization is always available;
802 XDM-AUTHORIZATION-1, SUN-DES-1 and MIT-KERBEROS-5 might be available as well,
803 depending on the build configuration.
804 </para>
805 <para>The default is <quote>DEF_AUTH_NAME</quote>.</para>
806 </listitem>
807 </varlistentry>
809 <varlistentry>
810 <term id="option-resetforauth"><option>ResetForAuth</option></term>
811 <listitem>
812 <para>
813 Some <emphasis>old</emphasis> &X-Server;s re-read the authorization file
814 at &X-Server; reset time, instead of when checking the initial connection.
815 As &kdm; generates the authorization information just before connecting to
816 the display, an old &X-Server; would not get up-to-date authorization
817 information. This option causes &kdm; to send SIGHUP to the &X-Server;
818 after setting up the file, causing an additional &X-Server; reset to occur,
819 during which time the new authorization information will be read.
820 </para>
821 <para>The default is <quote>false</quote>.</para>
822 </listitem>
823 </varlistentry>
825 <varlistentry>
826 <term id="option-authfile"><option>AuthFile</option></term>
827 <listitem>
828 <para>
829 This file is used to communicate the authorization data from &kdm; to
830 the &X-Server;, using the <option>-auth</option> &X-Server; command line
831 option. It should be kept in a directory which is not world-writable
832 as it could easily be removed, disabling the authorization mechanism in
833 the &X-Server;. If not specified, a random name is generated from
834 <option>AuthDir</option> and the name of the display.
835 </para>
836 <para>Empty by default.</para>
837 </listitem>
838 </varlistentry>
840 <varlistentry>
841 <term id="option-resources"><option>Resources</option></term>
842 <listitem>
843 <para>
844 This option specifies the name of the file to be loaded by
845 <command>xrdb</command> as the resource database onto the root window
846 of screen 0 of the display. KDE programs generally do not use
847 X-resources, so this option is only needed if the <option>Setup</option>
848 program needs some X-resources.
849 </para>
850 <para>Empty by default.</para>
851 </listitem>
852 </varlistentry>
854 <varlistentry>
855 <term id="option-xrdb"><option>Xrdb</option></term>
856 <listitem>
857 <para>
858 The <command>xrdb</command> program to use to read the X-resources file
859 specified in <option>Recources</option>.
860 The command is subject to word splitting.
861 </para>
862 <para>The default is <quote>${<envar>x_bindir</envar>}/xrdb</quote>.</para>
863 </listitem>
864 </varlistentry>
866 <varlistentry>
867 <term id="option-setup"><option>Setup</option></term>
868 <listitem>
869 <para>
870 This string is subject to word splitting.
871 It specifies a program which is run (as
872 <systemitem class="username">root</systemitem>) before offering the
873 greeter window. This may be used to change the appearance of the screen
874 around the greeter window or to put up other windows (e.g., you may want
875 to run <command>xconsole</command> here).
876 The conventional name for a file used here is <command>Xsetup</command>.
877 See <xref linkend="kdmrc-xsetup"/>.
878 </para>
879 <para>Empty by default.</para>
880 </listitem>
881 </varlistentry>
883 <varlistentry>
884 <term id="option-startup"><option>Startup</option></term>
885 <listitem>
886 <para>
887 This string is subject to word splitting.
888 It specifies a program which is run (as
889 <systemitem class="username">root</systemitem>) after the user
890 authentication process succeeds.
891 The conventional name for a file used here is <command>Xstartup</command>.
892 See <xref linkend="kdmrc-xstartup"/>.
893 </para>
894 <para>Empty by default.</para>
895 </listitem>
896 </varlistentry>
898 <varlistentry>
899 <term id="option-reset"><option>Reset</option></term>
900 <listitem>
901 <para>
902 This string is subject to word splitting.
903 It specifies a program which is run (as
904 <systemitem class="username">root</systemitem>) after the session
905 terminates.
906 The conventional name for a file used here is <command>Xreset</command>.
907 See <xref linkend="kdmrc-xreset"/>.
908 </para>
909 <para>Empty by default.</para>
910 </listitem>
911 </varlistentry>
913 <varlistentry>
914 <term id="option-session"><option>Session</option></term>
915 <listitem>
916 <para>
917 This string is subject to word splitting.
918 It specifies the session program to be executed (as the user owning
919 the session).
920 The conventional name for a file used here is <command>Xsession</command>.
921 See <xref linkend="kdmrc-xsession"/>.
922 </para>
923 <para>The default is <quote>${<envar>x_bindir</envar>}/xterm -ls -T</quote>.</para>
924 </listitem>
925 </varlistentry>
927 <varlistentry>
928 <term id="option-failsafeclient"><option>FailsafeClient</option></term>
929 <listitem>
930 <para>
931 If the <option>Session</option> program fails to execute, &kdm; will
932 fall back to this program. This program is executed with no arguments,
933 but executes using the same environment variables as the session would
934 have had (see <xref linkend="kdmrc-xsession"/>).
935 </para>
936 <para>The default is <quote>${<envar>x_bindir</envar>}/xterm</quote>.</para>
937 </listitem>
938 </varlistentry>
940 <varlistentry>
941 <term id="option-userpath"><option>UserPath</option></term>
942 <listitem>
943 <para>
944 The <envar>PATH</envar> environment variable for
945 non-<systemitem class="username">root</systemitem> <option>Session</option>s.
946 </para><para>
947 The default depends on the system &kdm; was built on.
948 </para>
949 </listitem>
950 </varlistentry>
952 <varlistentry>
953 <term id="option-systempath"><option>SystemPath</option></term>
954 <listitem>
955 <para>
956 The <envar>PATH</envar> environment variable for all programs but
957 non-<systemitem class="username">root</systemitem>
958 <option>Session</option>s. Note that it is good practice not to include
959 <literal>.</literal> (the current directory) into this entry.
960 </para><para>
961 The default depends on the system &kdm; was built on.
962 </para>
963 </listitem>
964 </varlistentry>
966 <varlistentry>
967 <term id="option-systemshell"><option>SystemShell</option></term>
968 <listitem>
969 <para>
970 The <envar>SHELL</envar> environment variable for all programs but the 
971 <option>Session</option>.
972 </para>
973 <para>The default is <quote>/bin/sh</quote>.</para>
974 </listitem>
975 </varlistentry>
977 <varlistentry>
978 <term id="option-userauthdir"><option>UserAuthDir</option></term>
979 <listitem>
980 <para>
981 When &kdm; is unable to write to the usual user authorization file
982 ($<envar>HOME</envar>/.Xauthority), it creates a unique file name in this
983 directory and points the environment variable <envar>XAUTHORITY</envar>
984 at the created file.
985 </para>
986 <para>The default is <quote>/tmp</quote>.</para>
987 </listitem>
988 </varlistentry>
990 <varlistentry>
991 <term id="option-autorelogin"><option>AutoReLogin</option></term>
992 <listitem>
993 <para>
994 If enabled, &kdm; will automatically restart a session after an &X-Server;
995 crash (or if it is killed by Alt-Ctrl-BackSpace). Note that enabling this
996 feature opens a security hole: a secured display lock can be circumvented
997 (unless &kde;'s built-in screen locker is used).
998 </para>
999 <para>The default is <quote>false</quote>.</para>
1000 </listitem>
1001 </varlistentry>
1003 <varlistentry>
1004 <term id="option-allowrootlogin"><option>AllowRootLogin</option></term>
1005 <listitem>
1006 <para>
1007 If disabled, do not allow <systemitem class="username">root</systemitem>
1008 (and any other user with UID = 0) to log in directly.
1009 </para>
1010 <para>The default is <quote>true</quote>.</para>
1011 </listitem>
1012 </varlistentry>
1014 <varlistentry>
1015 <term id="option-allownullpasswd"><option>AllowNullPasswd</option></term>
1016 <listitem>
1017 <para>
1018 If disabled, only users that have passwords assigned can log in.
1019 </para>
1020 <para>The default is <quote>true</quote>.</para>
1021 </listitem>
1022 </varlistentry>
1024 <varlistentry>
1025 <term id="option-allowshutdown"><option>AllowShutdown</option></term>
1026 <listitem>
1027 <para>
1028 Who is allowed to shut down the system. This applies both to the
1029 greeter and to the command <acronym>FiFo</acronym>.
1030 </para>
1031 <variablelist>
1032 <varlistentry>
1033 <term><parameter>None</parameter></term>
1034 <listitem><para>no <guilabel>Shutdown...</guilabel> menu entry is shown at all</para></listitem>
1035 </varlistentry>
1036 <varlistentry>
1037 <term><parameter>Root</parameter></term>
1038 <listitem><para>the <systemitem class="username">root</systemitem> password must be entered to shut down</para></listitem>
1039 </varlistentry>
1040 <varlistentry>
1041 <term><parameter>All</parameter></term>
1042 <listitem><para>everybody can shut down the machine</para></listitem>
1043 </varlistentry>
1044 </variablelist>
1045 <para>The default is <quote>All</quote>.</para>
1046 </listitem>
1047 </varlistentry>
1049 <varlistentry>
1050 <term id="option-allowsdforcenow"><option>AllowSdForceNow</option></term>
1051 <listitem>
1052 <para>
1053 Who is allowed to abort active sessions when shutting down.
1054 </para>
1055 <variablelist>
1056 <varlistentry>
1057 <term><parameter>None</parameter></term>
1058 <listitem><para>no forced shutdown is allowed at all</para></listitem>
1059 </varlistentry>
1060 <varlistentry>
1061 <term><parameter>Root</parameter></term>
1062 <listitem><para>the <systemitem class="username">root</systemitem> password must be entered to shut down forcibly</para></listitem>
1063 </varlistentry>
1064 <varlistentry>
1065 <term><parameter>All</parameter></term>
1066 <listitem><para>everybody can shut down the machine forcibly</para></listitem>
1067 </varlistentry>
1068 </variablelist>
1069 <para>The default is <quote>All</quote>.</para>
1070 </listitem>
1071 </varlistentry>
1073 <varlistentry>
1074 <term id="option-defaultsdmode"><option>DefaultSdMode</option></term>
1075 <listitem>
1076 <para>
1077 The default choice for the shutdown condition/timing.
1078 </para>
1079 <variablelist>
1080 <varlistentry>
1081 <term><parameter>Schedule</parameter></term>
1082 <listitem><para>shut down after all active sessions exit (possibly at once)</para></listitem>
1083 </varlistentry>
1084 <varlistentry>
1085 <term><parameter>TryNow</parameter></term>
1086 <listitem><para>shut down, if no active sessions are open; otherwise, do nothing</para></listitem>
1087 </varlistentry>
1088 <varlistentry>
1089 <term><parameter>ForceNow</parameter></term>
1090 <listitem><para>shut down unconditionally</para></listitem>
1091 </varlistentry>
1092 </variablelist>
1093 <para>The default is <quote>Schedule</quote>.</para>
1094 </listitem>
1095 </varlistentry>
1097 <varlistentry>
1098 <term id="option-scheduledsd"><option>ScheduledSd</option></term>
1099 <listitem>
1100 <para>
1101 How to offer shutdown scheduling options:
1102 </para>
1103 <variablelist>
1104 <varlistentry>
1105 <term><parameter>Never</parameter></term>
1106 <listitem><para>not at all</para></listitem>
1107 </varlistentry>
1108 <varlistentry>
1109 <term><parameter>Optional</parameter></term>
1110 <listitem><para>as a button in the simple shutdown dialogs</para></listitem>
1111 </varlistentry>
1112 <varlistentry>
1113 <term><parameter>Always</parameter></term>
1114 <listitem><para>instead of the simple shutdown dialogs</para></listitem>
1115 </varlistentry>
1116 </variablelist>
1117 <para>The default is <quote>Never</quote>.</para>
1118 </listitem>
1119 </varlistentry>
1121 <varlistentry>
1122 <term id="option-nopassenable"><option>NoPassEnable</option></term>
1123 <listitem>
1124 <para>
1125 Enable password-less logins on this display. <emphasis>Use with extreme care!</emphasis>
1126 </para>
1127 <para>The default is <quote>false</quote>.</para>
1128 </listitem>
1129 </varlistentry>
1131 <varlistentry>
1132 <term id="option-nopassusers"><option>NoPassUsers</option></term>
1133 <listitem>
1134 <para>
1135 The users that do not need to provide a password to log in.
1136 Items which are prefixed with <literal>@</literal> represent all users in the
1137 user group named by that item.
1138 <literal>*</literal> means all users but
1139 <systemitem class="username">root</systemitem>
1140 (and any other user with UID = 0).
1141 <emphasis>Never</emphasis> list <systemitem class="username">root</systemitem>.
1142 </para>
1143 <para>Empty by default.</para>
1144 </listitem>
1145 </varlistentry>
1147 <varlistentry>
1148 <term id="option-autologinenable"><option>AutoLoginEnable</option></term>
1149 <listitem>
1150 <para>
1151 Enable automatic login. <emphasis>Use with extreme care!</emphasis>
1152 </para>
1153 <para>The default is <quote>false</quote>.</para>
1154 </listitem>
1155 </varlistentry>
1157 <varlistentry>
1158 <term id="option-autologinuser"><option>AutoLoginUser</option></term>
1159 <listitem>
1160 <para>
1161 The user to log in automatically. <emphasis>Never</emphasis> specify <systemitem class="username">root</systemitem>!
1162 </para>
1163 <para>Empty by default.</para>
1164 </listitem>
1165 </varlistentry>
1167 <varlistentry>
1168 <term id="option-autologinpass"><option>AutoLoginPass</option></term>
1169 <listitem>
1170 <para>
1171 The password for the user to log in automatically. This is <emphasis>not</emphasis> required
1172 unless the user is logged into a <acronym>NIS</acronym> or Kerberos domain. If you use this
1173 option, you should <command>chmod&nbsp;<option>600</option>&nbsp;<filename>kdmrc</filename></command> for obvious reasons.
1174 </para>
1175 <para>Empty by default.</para>
1176 </listitem>
1177 </varlistentry>
1179 <varlistentry>
1180 <term id="option-sessionsdirs"><option>SessionsDirs</option></term>
1181 <listitem>
1182 <para>
1183 A list of directories containing session type definitions.
1184 </para>
1185 <para>The default is <quote>${<envar>kde_datadir</envar>}/kdm/sessions</quote>.</para>
1186 </listitem>
1187 </varlistentry>
1189 <varlistentry>
1190 <term id="option-clientlogfile"><option>ClientLogFile</option></term>
1191 <listitem>
1192 <para>
1193 The file (relative to the user's home directory) to redirect the session
1194 output to. One occurrence of <parameter>%s</parameter> in this string will be
1195 substituted with the display name. Use <parameter>%%</parameter> to obtain a
1196 literal <literal>%</literal>.
1197 </para>
1198 <para>The default is <quote>.xsession-errors</quote>.</para>
1199 </listitem>
1200 </varlistentry>
1202 <varlistentry>
1203 <term id="option-usesessreg"><option>UseSessReg</option></term>
1204 <listitem>
1205 <para>
1206 Specify whether &kdm;'s built-in utmp/wtmp/lastlog registration should
1207 be used. If it is not, the tool <command>sessreg</command> should be used
1208 in the <option>Startup</option> and <option>Reset</option> scripts, or,
1209 alternatively, the pam_lastlog module should be used on
1210 <acronym>PAM</acronym>-enabled systems.
1211 </para>
1212 <para>The default is <quote>true</quote>.</para>
1213 </listitem>
1214 </varlistentry>
1216 </variablelist>
1217 </sect2>
1220 <sect2 id="kdmrc-greeter">
1221 <title>The [X-*-Greeter] section class of &kdmrc;</title>
1223 <para>
1224 This section class contains options concerning the configuration
1225 of the &kdm; frontend (greeter).
1226 </para>
1228 <variablelist>
1230 <varlistentry>
1231 <term id="option-guistyle"><option>GUIStyle</option></term>
1232 <listitem>
1233 <para>
1234 Specify the widget style for the greeter. Empty means to use the
1235 built-in default which currently is <literal>Plastik</literal>.
1236 </para>
1237 <para>Empty by default.</para>
1238 </listitem>
1239 </varlistentry>
1241 <varlistentry>
1242 <term id="option-colorscheme"><option>ColorScheme</option></term>
1243 <listitem>
1244 <para>
1245 Specify the widget color scheme for the greeter. Empty means to use
1246 the built-in default which currently is yellowish grey with some light
1247 blue and yellow elements.
1248 </para>
1249 <para>Empty by default.</para>
1250 </listitem>
1251 </varlistentry>
1253 <varlistentry>
1254 <term id="option-logoarea"><option>LogoArea</option></term>
1255 <listitem>
1256 <para>
1257 What should be shown in the greeter righthand of the input lines (if
1258 <option>UserList</option> is disabled) or above them (if
1259 <option>UserList</option> is enabled):
1260 </para>
1261 <variablelist>
1262 <varlistentry>
1263 <term><parameter>None</parameter></term>
1264 <listitem><para>nothing</para></listitem>
1265 </varlistentry>
1266 <varlistentry>
1267 <term><parameter>Logo</parameter></term>
1268 <listitem><para>the image specified by <option>LogoPixmap</option></para></listitem>
1269 </varlistentry>
1270 <varlistentry>
1271 <term><parameter>Clock</parameter></term>
1272 <listitem><para>a neat analog clock</para></listitem>
1273 </varlistentry>
1274 </variablelist>
1275 <para>The default is <quote>Clock</quote>.</para>
1276 </listitem>
1277 </varlistentry>
1279 <varlistentry>
1280 <term id="option-logopixmap"><option>LogoPixmap</option></term>
1281 <listitem>
1282 <para>
1283 The image to show in the greeter if <option>LogoArea</option> is
1284 <literal>Logo</literal>.
1285 </para>
1286 <para>Empty by default.</para>
1287 </listitem>
1288 </varlistentry>
1290 <varlistentry>
1291 <term id="option-greeterpos"><option>GreeterPos</option></term>
1292 <listitem>
1293 <para>
1294 The relative coordinates (percentages of the screen size; X,Y) at which
1295 the center of the greeter is put. &kdm; aligns the greeter to the edges
1296 of the screen it would cross otherwise.
1297 </para>
1298 <para>The default is <quote>50,50</quote>.</para>
1299 </listitem>
1300 </varlistentry>
1302 <varlistentry>
1303 <term id="option-greeterscreen"><option>GreeterScreen</option></term>
1304 <listitem>
1305 <para>
1306 The screen the greeter should be displayed on in multi-headed and Xinerama
1307 setups. The numbering starts with 0. For Xinerama, it corresponds to the
1308 listing order in the active ServerLayout section of XF86Config; -1 means
1309 to use the upper-left screen, -2 means to use the upper-right screen.
1310 </para>
1311 </listitem>
1312 </varlistentry>
1314 <varlistentry>
1315 <term id="option-greetstring"><option>GreetString</option></term>
1316 <listitem>
1317 <para>
1318 The headline in the greeter. An empty greeting means none at all.
1319 </para><para>
1320 The following character pairs are replaced by their value:
1321 <variablelist>
1322 <varlistentry>
1323 <term><parameter>%d</parameter></term>
1324 <listitem><para>name of the current display</para></listitem>
1325 </varlistentry>
1326 <varlistentry>
1327 <term><parameter>%h</parameter></term>
1328 <listitem><para>local host name, possibly with the
1329  domain name</para></listitem>
1330 </varlistentry>
1331 <varlistentry>
1332 <term><parameter>%n</parameter></term>
1333 <listitem><para>local node name, most probably the host name without the
1334  domain name</para></listitem>
1335 </varlistentry>
1336 <varlistentry>
1337 <term><parameter>%s</parameter></term>
1338 <listitem><para>operating system</para></listitem>
1339 </varlistentry>
1340 <varlistentry>
1341 <term><parameter>%r</parameter></term>
1342 <listitem><para>operating system version</para></listitem>
1343 </varlistentry>
1344 <varlistentry>
1345 <term><parameter>%m</parameter></term>
1346 <listitem><para>machine (hardware) type</para></listitem>
1347 </varlistentry>
1348 <varlistentry>
1349 <term><parameter>%%</parameter></term>
1350 <listitem><para>a single <literal>%</literal></para></listitem>
1351 </varlistentry>
1352 </variablelist>
1353 </para>
1354 <para>The default is <quote>Welcome to %s at %n</quote>.</para>
1355 </listitem>
1356 </varlistentry>
1358 <varlistentry>
1359 <term id="option-greetfont"><option>GreetFont</option></term>
1360 <listitem>
1361 <para>
1362 The font for the greeter headline.
1363 </para>
1364 <para>The default is <quote>charter,24,bold</quote>.</para>
1365 </listitem>
1366 </varlistentry>
1368 <varlistentry>
1369 <term id="option-stdfont"><option>StdFont</option></term>
1370 <listitem>
1371 <para>
1372 The normal font used in the greeter.
1373 </para>
1374 <para>The default is <quote>helvetica,12</quote>.</para>
1375 </listitem>
1376 </varlistentry>
1378 <varlistentry>
1379 <term id="option-failfont"><option>FailFont</option></term>
1380 <listitem>
1381 <para>
1382 The font used for the <quote>Login Failed</quote> message.
1383 </para>
1384 <para>The default is <quote>helvetica,12,bold</quote>.</para>
1385 </listitem>
1386 </varlistentry>
1388 <varlistentry>
1389 <term id="option-antialiasing"><option>AntiAliasing</option></term>
1390 <listitem>
1391 <para>
1392 Whether the fonts used in the greeter should be antialiased.
1393 </para>
1394 <para>The default is <quote>false</quote>.</para>
1395 </listitem>
1396 </varlistentry>
1398 <varlistentry>
1399 <term id="option-numlock"><option>NumLock</option></term>
1400 <listitem>
1401 <para>
1402 What to do with the Num Lock modifier for the time the greeter is running:
1403 </para>
1404 <variablelist>
1405 <varlistentry>
1406 <term><parameter>Off</parameter></term>
1407 <listitem><para>turn off</para></listitem>
1408 </varlistentry>
1409 <varlistentry>
1410 <term><parameter>On</parameter></term>
1411 <listitem><para>turn on</para></listitem>
1412 </varlistentry>
1413 <varlistentry>
1414 <term><parameter>Keep</parameter></term>
1415 <listitem><para>do not change the state</para></listitem>
1416 </varlistentry>
1417 </variablelist>
1418 <para>The default is <quote>Keep</quote>.</para>
1419 </listitem>
1420 </varlistentry>
1422 <varlistentry>
1423 <term id="option-language"><option>Language</option></term>
1424 <listitem>
1425 <para>
1426 Language and locale to use in the greeter, encoded like $<envar>LC_LANG</envar>.
1427 </para>
1428 <para>The default is <quote>en_US</quote>.</para>
1429 </listitem>
1430 </varlistentry>
1432 <varlistentry>
1433 <term id="option-usercompletion"><option>UserCompletion</option></term>
1434 <listitem>
1435 <para>
1436 Enable autocompletion in the username line edit.
1437 </para>
1438 <para>The default is <quote>false</quote>.</para>
1439 </listitem>
1440 </varlistentry>
1442 <varlistentry>
1443 <term id="option-userlist"><option>UserList</option></term>
1444 <listitem>
1445 <para>
1446 Show a user list with unix login names, real names, and images in the greeter.
1447 </para>
1448 <para>The default is <quote>true</quote>.</para>
1449 </listitem>
1450 </varlistentry>
1452 <varlistentry>
1453 <term id="option-showusers"><option>ShowUsers</option></term>
1454 <listitem>
1455 <para>
1456 This option controls which users will be shown in the user view
1457 (<option>UserList</option>) and/or offered for autocompletion
1458 (<option>UserCompletion</option>).
1459 If it is <literal>Selected</literal>, <option>SelectedUsers</option> contains
1460 the final list of users.
1461 If it is <literal>NotHidden</literal>, the initial user list are all users
1462 found on the system. Users contained in <option>HiddenUsers</option> are
1463 removed from the list, just like all users with a UID greater than specified
1464 in <option>MaxShowUID</option> and users with a non-zero UID less than
1465 specified in <option>MinShowUID</option>.
1466 Items in <option>SelectedUsers</option> and <option>HiddenUsers</option>
1467 which are prefixed with <literal>@</literal> represent all users in the
1468 user group named by that item.
1469 Finally, the user list will be sorted alphabetically, if
1470 <option>SortUsers</option> is enabled. 
1471 </para>
1472 <para>The default is <quote>NotHidden</quote>.</para>
1473 </listitem>
1474 </varlistentry>
1476 <varlistentry>
1477 <term id="option-selectedusers"><option>SelectedUsers</option></term>
1478 <listitem>
1479 <para>
1480 See <option>ShowUsers</option>.
1481 </para>
1482 <para>Empty by default.</para>
1483 </listitem>
1484 </varlistentry>
1486 <varlistentry>
1487 <term id="option-hiddenusers"><option>HiddenUsers</option></term>
1488 <listitem>
1489 <para>
1490 See <option>ShowUsers</option>.
1491 </para>
1492 <para>Empty by default.</para>
1493 </listitem>
1494 </varlistentry>
1496 <varlistentry>
1497 <term id="option-minshowuid"><option>MinShowUID</option></term>
1498 <listitem>
1499 <para>
1500 See <option>ShowUsers</option>.
1501 </para>
1502 </listitem>
1503 </varlistentry>
1505 <varlistentry>
1506 <term id="option-maxshowuid"><option>MaxShowUID</option></term>
1507 <listitem>
1508 <para>
1509 See <option>ShowUsers</option>.
1510 </para>
1511 <para>The default is <quote>65535</quote>.</para>
1512 </listitem>
1513 </varlistentry>
1515 <varlistentry>
1516 <term id="option-sortusers"><option>SortUsers</option></term>
1517 <listitem>
1518 <para>
1519 See <option>ShowUsers</option>.
1520 </para>
1521 <para>The default is <quote>true</quote>.</para>
1522 </listitem>
1523 </varlistentry>
1525 <varlistentry>
1526 <term id="option-facesource"><option>FaceSource</option></term>
1527 <listitem>
1528 <para>
1529 If <option>UserList</option> is enabled, this specifies where &kdm; gets the
1530 images from:
1531 </para>
1532 <variablelist>
1533 <varlistentry>
1534 <term><parameter>AdminOnly</parameter></term>
1535 <listitem><para>from <filename>&lt;<option>FaceDir</option>&gt;/$<envar>USER</envar>.face[.icon]</filename></para></listitem>
1536 </varlistentry>
1537 <varlistentry>
1538 <term><parameter>PreferAdmin</parameter></term>
1539 <listitem><para>prefer &lt;<option>FaceDir</option>&gt;, fallback on $<envar>HOME</envar></para></listitem>
1540 </varlistentry>
1541 <varlistentry>
1542 <term><parameter>PreferUser</parameter></term>
1543 <listitem><para>... and the other way round</para></listitem>
1544 </varlistentry>
1545 <varlistentry>
1546 <term><parameter>UserOnly</parameter></term>
1547 <listitem><para>from the user's <filename>$<envar>HOME</envar>/.face[.icon]</filename></para></listitem>
1548 </varlistentry>
1549 </variablelist>
1551 <para>
1552 The images can be in any format Qt recognizes, but the filename
1553 must match &kdm;'s expectations: <literal>.face.icon</literal> should be a
1554 48x48 icon, while <literal>.face</literal> should be a 300x300 image.
1555 Currently the big image is used only as a fallback and is scaled down,
1556 but in the future it might be displayed full-size in the logo area or a
1557 tooltip.
1558 </para>
1559 <para>The default is <quote>AdminOnly</quote>.</para>
1560 </listitem>
1561 </varlistentry>
1563 <varlistentry>
1564 <term id="option-facedir"><option>FaceDir</option></term>
1565 <listitem>
1566 <para>
1567 See <option>FaceSource</option>.
1568 </para>
1569 <para>The default is <quote>${<envar>kde_datadir</envar>}/kdm/faces</quote>.</para>
1570 </listitem>
1571 </varlistentry>
1573 <varlistentry>
1574 <term id="option-preselectuser"><option>PreselectUser</option></term>
1575 <listitem>
1576 <para>
1577 Specify, if/which user should be preselected for log in:
1578 </para>
1579 <variablelist>
1580 <varlistentry>
1581 <term><parameter>None</parameter></term>
1582 <listitem><para>do not preselect any user</para></listitem>
1583 </varlistentry>
1584 <varlistentry>
1585 <term><parameter>Previous</parameter></term>
1586 <listitem><para>the user which successfully logged in last time</para></listitem>
1587 </varlistentry>
1588 <varlistentry>
1589 <term><parameter>Default</parameter></term>
1590 <listitem><para>the user specified in the <option>DefaultUser</option> option</para></listitem>
1591 </varlistentry>
1592 </variablelist>
1594 <para>
1595 If <option>FocusPasswd</option> is enabled and a user was preselected,
1596 the cursor is placed in the password input field automatically.
1597 </para>
1598 <note><para>Enabling user preselection can be considered a security hole,
1599 as it presents a valid login name to a potential attacker, so he
1600 <quote>only</quote> needs to guess the password. On the other hand,
1601 one could set <option>DefaultUser</option> to a fake login name.</para></note>
1602 <para>
1603 </para>
1604 <para>The default is <quote>None</quote>.</para>
1605 </listitem>
1606 </varlistentry>
1608 <varlistentry>
1609 <term id="option-defaultuser"><option>DefaultUser</option></term>
1610 <listitem>
1611 <para>
1612 See <option>PreselectUser</option>.
1613 </para>
1614 <para>Empty by default.</para>
1615 </listitem>
1616 </varlistentry>
1618 <varlistentry>
1619 <term id="option-focuspasswd"><option>FocusPasswd</option></term>
1620 <listitem>
1621 <para>
1622 See <option>PreselectUser</option>.
1623 </para>
1624 <para>The default is <quote>false</quote>.</para>
1625 </listitem>
1626 </varlistentry>
1628 <varlistentry>
1629 <term id="option-echomode"><option>EchoMode</option></term>
1630 <listitem>
1631 <para>
1632 The password input fields cloak the typed in text. Specify, how to do it:
1633 </para>
1634 <variablelist>
1635 <varlistentry>
1636 <term><parameter>OneStar</parameter></term>
1637 <listitem><para><literal>*</literal> is shown for every typed letter</para></listitem>
1638 </varlistentry>
1639 <varlistentry>
1640 <term><parameter>ThreeStars</parameter></term>
1641 <listitem><para><literal>***</literal> is shown for every typed letter</para></listitem>
1642 </varlistentry>
1643 <varlistentry>
1644 <term><parameter>NoEcho</parameter></term>
1645 <listitem><para>nothing is shown at all, the cursor does not move</para></listitem>
1646 </varlistentry>
1647 </variablelist>
1648 <para>The default is <quote>OneStar</quote>.</para>
1649 </listitem>
1650 </varlistentry>
1652 <varlistentry>
1653 <term id="option-usebackground"><option>UseBackground</option></term>
1654 <listitem>
1655 <para>
1656 If enabled, &kdm; will automatically start the <command>krootimage</command>
1657 program to set up the background; otherwise, the <option>Setup</option>
1658 program is responsible for the background.
1659 </para>
1660 <para>The default is <quote>true</quote>.</para>
1661 </listitem>
1662 </varlistentry>
1664 <varlistentry>
1665 <term id="option-backgroundcfg"><option>BackgroundCfg</option></term>
1666 <listitem>
1667 <para>
1668 The configuration file to be used by <command>krootimage</command>.
1669 It contains a section named <literal>[Desktop0]</literal> like
1670 <filename>kdesktoprc</filename> does. Its options are not described
1671 herein; guess their meanings or use the control center.
1672 </para>
1673 <para>The default is <quote>${<envar>kde_confdir</envar>}/kdm/backgroundrc</quote>.</para>
1674 </listitem>
1675 </varlistentry>
1677 <varlistentry>
1678 <term id="option-grabserver"><option>GrabServer</option></term>
1679 <listitem>
1680 <para>
1681 To improve security, the greeter grabs the &X-Server; and then the keyboard
1682 when it starts up. This option specifies if the &X-Server; grab should be held
1683 for the duration of the name/password reading. When disabled, the &X-Server;
1684 is ungrabbed after the keyboard grab succeeds; otherwise, the &X-Server; is
1685 grabbed until just before the session begins.
1686 </para>
1687 <note><para>Enabling this option disables <option>UseBackground</option> and
1688 <option>Setup</option>.</para></note>
1689 <para>
1690 </para>
1691 <para>The default is <quote>false</quote>.</para>
1692 </listitem>
1693 </varlistentry>
1695 <varlistentry>
1696 <term id="option-grabtimeout"><option>GrabTimeout</option></term>
1697 <listitem>
1698 <para>
1699 This option specifies the maximum time &kdm; will wait for the grabs to
1700 succeed. A grab may fail if some other X-client has the &X-Server; or the
1701 keyboard grabbed, or possibly if the network latencies are very high. You
1702 should be cautious when raising the timeout, as a user can be spoofed by
1703 a look-alike window on the display. If a grab fails, &kdm; kills and
1704 restarts the &X-Server; (if possible) and the session. 
1705 </para>
1706 <para>The default is <quote>3</quote>.</para>
1707 </listitem>
1708 </varlistentry>
1710 <varlistentry>
1711 <term id="option-authcomplain"><option>AuthComplain</option></term>
1712 <listitem>
1713 <para>
1714 Warn, if a display has no X-authorization. This will be the case if
1715 <itemizedlist>
1716  <listitem><para>
1717   the authorization file for a local &X-Server; could not be created,
1718  </para></listitem>
1719  <listitem><para>
1720   a remote display from &XDMCP; did not request any authorization or
1721  </para></listitem>
1722  <listitem><para>
1723   the display is a <quote>foreign</quote> display specified in
1724   <option>StaticServers</option>.
1725  </para></listitem>
1726 </itemizedlist>
1727 </para>
1728 <para>The default is <quote>true</quote>.</para>
1729 </listitem>
1730 </varlistentry>
1732 <varlistentry>
1733 <term id="option-loginmode"><option>LoginMode</option></term>
1734 <listitem>
1735 <para>
1736 Specify whether the greeter of local displays should start up in host chooser
1737 (remote) or login (local) mode and whether it is allowed to switch to the
1738 other mode.
1739 </para>
1740 <variablelist>
1741 <varlistentry>
1742 <term><parameter>LocalOnly</parameter></term>
1743 <listitem><para>only local login possible</para></listitem>
1744 </varlistentry>
1745 <varlistentry>
1746 <term><parameter>DefaultLocal</parameter></term>
1747 <listitem><para>start up in local mode, but allow switching to remote mode</para></listitem>
1748 </varlistentry>
1749 <varlistentry>
1750 <term><parameter>DefaultRemote</parameter></term>
1751 <listitem><para>... and the other way round</para></listitem>
1752 </varlistentry>
1753 <varlistentry>
1754 <term><parameter>RemoteOnly</parameter></term>
1755 <listitem><para>only choice of remote host possible</para></listitem>
1756 </varlistentry>
1757 </variablelist>
1758 <para>The default is <quote>LocalOnly</quote>.</para>
1759 </listitem>
1760 </varlistentry>
1762 <varlistentry>
1763 <term id="option-chooserhosts"><option>ChooserHosts</option></term>
1764 <listitem>
1765 <para>
1766 A list of hosts to be automatically added to the remote login menu.
1767 The special name <literal>*</literal> means broadcast.
1768 Has no effect if <option>LoginMode</option> is <literal>LocalOnly</literal>.
1769 </para>
1770 <para>The default is <quote>*</quote>.</para>
1771 </listitem>
1772 </varlistentry>
1774 <varlistentry>
1775 <term id="option-forgingseed"><option>ForgingSeed</option></term>
1776 <listitem>
1777 <para>
1778 Use this number as a random seed when forging saved session types, etc. of
1779 unknown users. This is used to avoid telling an attacker about existing users
1780 by reverse conclusion. This value should be random but constant across the
1781 login domain.
1782 </para>
1783 </listitem>
1784 </varlistentry>
1786 <varlistentry>
1787 <term id="option-showlog"><option>ShowLog</option></term>
1788 <listitem>
1789 <para>
1790 Enable &kdm;'s built-in <command>xconsole</command>.
1791 Note that this can be enabled for only one display at a time.
1792 This option is available only if &kdm; was <command>configure</command>d
1793 with <option>--enable-kdm-xconsole</option>.
1794 </para>
1795 <para>The default is <quote>false</quote>.</para>
1796 </listitem>
1797 </varlistentry>
1799 <varlistentry>
1800 <term id="option-logsource"><option>LogSource</option></term>
1801 <listitem>
1802 <para>
1803 The data source for &kdm;'s built-in <command>xconsole</command>.
1804 If empty, a console log redirection is requested from
1805 <filename>/dev/console</filename>.
1806 Has no effect if <option>ShowLog</option> is disabled.
1807 </para>
1808 <para>Empty by default.</para>
1809 </listitem>
1810 </varlistentry>
1812 <varlistentry>
1813 <term id="option-pluginslogin"><option>PluginsLogin</option></term>
1814 <listitem>
1815 <para>
1816 Specify conversation plugins for the login dialog; the first in the list
1817 is selected initially.
1818 Each plugin can be specified as a base name (which expands to
1819 <filename>$<envar>kde_modulesdir</envar>/kgreet_<replaceable>base</replaceable></filename>)
1820 or as a full pathname.
1821 </para><para>
1822 Conversation plugins are modules for the greeter which obtain authentication
1823 data from the user. Currently only the <literal>classic</literal> plugin is
1824 shipped with &kde;; it presents the well-known username and password form.
1825 </para>
1826 <para>The default is <quote>classic</quote>.</para>
1827 </listitem>
1828 </varlistentry>
1830 <varlistentry>
1831 <term id="option-pluginsshutdown"><option>PluginsShutdown</option></term>
1832 <listitem>
1833 <para>
1834 Same as <option>PluginsLogin</option>, but for the shutdown dialog.
1835 </para>
1836 <para>The default is <quote>classic</quote>.</para>
1837 </listitem>
1838 </varlistentry>
1840 <varlistentry>
1841 <term id="option-pluginoptions"><option>PluginOptions</option></term>
1842 <listitem>
1843 <para>
1844 A list of options of the form
1845 <replaceable>Key</replaceable><literal>=</literal><replaceable>Value</replaceable>.
1846 The conversation plugins can query these settings; it is up to them what
1847 possible keys are.
1848 </para>
1849 <para>Empty by default.</para>
1850 </listitem>
1851 </varlistentry>
1853 <varlistentry>
1854 <term id="option-allowconsole"><option>AllowConsole</option></term>
1855 <listitem>
1856 <para>
1857 Show the <guilabel>Console Login</guilabel> action in the greeter (if <option>ServerTTY</option>/<option>ConsoleTTYs</option>
1858 is configured).
1859 </para>
1860 <para>The default is <quote>true</quote>.</para>
1861 </listitem>
1862 </varlistentry>
1864 <varlistentry>
1865 <term id="option-allowclose"><option>AllowClose</option></term>
1866 <listitem>
1867 <para>
1868 Show the <guilabel>Restart X Server</guilabel>/<guilabel>Close Connection</guilabel> action in the greeter.
1869 </para>
1870 <para>The default is <quote>true</quote>.</para>
1871 </listitem>
1872 </varlistentry>
1874 <varlistentry>
1875 <term id="option-preloader"><option>Preloader</option></term>
1876 <listitem>
1877 <para>
1878 A program to run while the greeter is visible. It is supposed to preload
1879 as much as possible of the session that is going to be started (most
1880 probably).
1881 </para>
1882 <para>Empty by default.</para>
1883 </listitem>
1884 </varlistentry>
1886 <varlistentry>
1887 <term id="option-usetheme"><option>UseTheme</option></term>
1888 <listitem>
1889 <para>
1890 Whether the greeter should be themed.
1891 </para>
1892 <para>The default is <quote>false</quote>.</para>
1893 </listitem>
1894 </varlistentry>
1896 <varlistentry>
1897 <term id="option-theme"><option>Theme</option></term>
1898 <listitem>
1899 <para>
1900 The theme to use for the greeter. Can point to either a directory or an XML
1901 file.
1902 </para>
1903 <para>Empty by default.</para>
1904 </listitem>
1905 </varlistentry>
1907 </variablelist>
1908 </sect2>
1912 </sect1>
1914 <sect1 id="kdmrc-xservers">
1915 <title>Specifying permanent &X-Server;s</title>
1917 <para>Each entry in the <option>StaticServers</option> list indicates a
1918 display which should constantly be
1919 managed and which is not using &XDMCP;. This method is typically used only for
1920 local &X-Server;s that are started by &kdm;, but &kdm; can manage externally
1921 started (<quote>foreign</quote>) &X-Server;s as well, may they run on the 
1922 local machine or rather remotely.</para>
1924 <para>The formal syntax of a specification is
1925 <screen>
1926 <userinput><replaceable>display&nbsp;name</replaceable>&nbsp;[<literal>_</literal><replaceable>display&nbsp;class</replaceable>]</userinput>
1927 </screen>
1928 for all &X-Server;s. <quote>Foreign</quote> displays differ in having
1929 a host name in the display name, may it be <literal>localhost</literal>.</para>
1931 <para>The <replaceable>display name</replaceable> must be something that can
1932 be passed in the <option>-display</option> option to an X program. This string
1933 is used to generate the display-specific section names, so be careful to match
1934 the names.
1935 The display name of &XDMCP; displays is derived from the display's address by
1936 reverse host name resolution. For configuration purposes, the
1937 <literal>localhost</literal> prefix from locally running &XDMCP; displays is
1938 <emphasis>not</emphasis> stripped to make them distinguishable from local
1939 &X-Server;s started by &kdm;.</para>
1941 <para>The <replaceable>display class</replaceable> portion is also used in the
1942 display-specific sections. This is useful if you have a large collection of
1943 similar displays (such as a corral of X terminals) and would like to set
1944 options for groups of them.
1945 When using &XDMCP;, the display is required to specify the display class,
1946 so the manual for your particular X terminal should document the display
1947 class string for your device. If it does not, you can run &kdm; in debug
1948 mode and <command>grep</command> the log for <quote>class</quote>.</para>
1950 <para>The displays specified in <option>ReserveServers</option> will not be
1951 started when &kdm; starts up, but when it is explicitly requested via
1952 the command socket (or <acronym>FiFo</acronym>).
1953 If reserve displays are specified, the &kde; menu will have a
1954 <guilabel>Start New Session</guilabel> item near the bottom; use that to
1955 activate a reserve display with a new login session. The monitor will switch
1956 to the new display, and you will have a minute to login. If there are no more
1957 reserve displays available, the menu item will be disabled.</para>
1959 <para>When &kdm; starts a session, it sets up authorization data for the
1960 &X-Server;. For local servers, &kdm; passes
1961 <command><option>-auth</option>&nbsp;<filename><replaceable>filename</replaceable></filename></command>
1962 on the &X-Server;'s command line to point it at its authorization data.
1963 For &XDMCP; displays, &kdm; passes the authorization data to the &X-Server;
1964 via the <quote>Accept</quote> &XDMCP; message.</para>
1966 </sect1>
1968 <sect1 id="kdmrc-xaccess">
1969 <title>&XDMCP; access control</title>
1971 <para>The file specified by the <option>AccessFile</option> option provides
1972 information which &kdm; uses to control access from displays requesting service
1973 via &XDMCP;.
1974 The file contains four types of entries: entries which control the response
1975 to <quote>Direct</quote> and <quote>Broadcast</quote> queries, entries which
1976 control the response to <quote>Indirect</quote> queries, macro definitions for
1977 <quote>Indirect</quote> entries, and entries which control on which network
1978 interfaces &kdm; listens for &XDMCP; queries.
1979 Blank lines are ignored, <literal>#</literal> is treated as a comment
1980 delimiter causing the rest of that line to be ignored, and <literal>\</literal>
1981 causes an immediately following newline to be ignored, allowing indirect host
1982 lists to span multiple lines.
1983 </para>
1985 <para>The format of the <quote>Direct</quote> entries is simple, either a
1986 host name or a pattern, which is compared against the host name of the display
1987 device.
1988 Patterns are distinguished from host names by the inclusion of one or more
1989 meta characters; <literal>*</literal> matches any sequence of 0 or more
1990 characters, and <literal>?</literal> matches any single character.
1991 If the entry is a host name, all comparisons are done using network addresses,
1992 so any name which converts to the correct network address may be used. Note
1993 that only the first network address returned for a host name is used.
1994 For patterns, only canonical host names are used in the comparison, so ensure
1995 that you do not attempt to match aliases.
1996 Host names from &XDMCP; queries always contain the local domain name
1997 even if the reverse lookup returns a short name, so you can use
1998 patterns for the local domain.
1999 Preceding the entry with a <literal>!</literal> character causes hosts which
2000 match that entry to be excluded.
2001 To only respond to <quote>Direct</quote> queries for a host or pattern,
2002 it can be followed by the optional <literal>NOBROADCAST</literal> keyword.
2003 This can be used to prevent a &kdm; server from appearing on menus based on
2004 <quote>Broadcast</quote> queries.</para>
2006 <para>An <quote>Indirect</quote> entry also contains a host name or pattern,
2007 but follows it with a list of host names or macros to which the queries
2008 should be forwarded. <quote>Indirect</quote> entries can be excluding as well,
2009 in which case a (valid) dummy host name must be supplied to make the entry
2010 distinguishable from a <quote>Direct</quote> entry.
2011 If compiled with IPv6 support, multicast address groups may also be included
2012 in the list of addresses the queries are forwarded to.
2013 <!-- Not actually implemented!
2014 Multicast addresses may be followed by an optional <literal>/</literal>
2015 character and hop count. If no hop count is specified, the multicast hop count
2016 defaults to 1, keeping the packet on the local network. For IPv4 multicasting,
2017 the hop count is used as the TTL.
2019 If the indirect host list contains the keyword <literal>CHOOSER</literal>,
2020 <quote>Indirect</quote> queries are not forwarded, but instead a host chooser
2021 dialog is displayed by &kdm;. The chooser will send a <quote>Direct</quote>
2022 query to each of the remaining host names in the list and offer a menu of
2023 all the hosts that respond. The host list may contain the keyword
2024 <literal>BROADCAST</literal>, to make the chooser send a
2025 <quote>Broadcast</quote> query as well; note that on some operating systems,
2026 UDP packets cannot be broadcast, so this feature will not work.
2027 </para>
2029 <para>When checking access for a particular display host, each entry is scanned
2030 in turn and the first matching entry determines the response.
2031 <quote>Direct</quote> and <quote>Broadcast</quote> entries are ignored when
2032 scanning for an <quote>Indirect</quote> entry and vice-versa.</para>
2034 <para>A macro definition contains a macro name and a list of host names and
2035 other macros that the macro expands to. To distinguish macros from hostnames,
2036 macro names start with a <literal>%</literal> character.</para>
2038 <para>The last entry type is the <literal>LISTEN</literal> directive.
2039 The formal syntax is
2040 <screen>
2041 <userinput>&nbsp;<literal>LISTEN</literal>&nbsp;[<replaceable>interface</replaceable>&nbsp;[<replaceable>multicast&nbsp;list</replaceable>]]</userinput>
2042 </screen>
2043 If one or more <literal>LISTEN</literal> lines are specified, &kdm; listens
2044 for &XDMCP; requests only on the specified interfaces.
2045 <replaceable>interface</replaceable> may be a hostname or IP address
2046 representing a network interface on this machine, or the wildcard
2047 <literal>*</literal> to represent all available network interfaces.
2048 If multicast group addresses are listed on a <literal>LISTEN</literal> line,
2049 &kdm; joins the multicast groups on the given interface. For IPv6 multicasts,
2050 the IANA has assigned ff0<replaceable>X</replaceable>:0:0:0:0:0:0:12b as the
2051 permanently assigned range of multicast addresses for &XDMCP;. The
2052 <replaceable>X</replaceable> in the prefix may be replaced by any valid scope
2053 identifier, such as 1 for Node-Local, 2 for Link-Local, 5 for Site-Local, and
2054 so on (see IETF RFC 2373 or its replacement for further details and scope
2055 definitions). &kdm; defaults to listening on the Link-Local scope address
2056 ff02:0:0:0:0:0:0:12b to most closely match the IPv4 subnet broadcast behavior. 
2057 If no <literal>LISTEN</literal> lines are given, &kdm; listens on all
2058 interfaces and joins the default &XDMCP; IPv6 multicast group (when
2059 compiled with IPv6 support).
2060 To disable listening for &XDMCP; requests altogether, a
2061 <literal>LISTEN</literal> line with no addresses may be specified, but using
2062 the <literal>[Xdmcp]</literal> <option>Enable</option> option is preferred.
2063 </para>
2065 </sect1>
2067 <sect1 id="kdm-scripts">
2068 <title>Supplementary programs</title>
2070 <para>
2071 The following programs are run by &kdm; at various stages of a session.
2072 They typically are shell scripts.
2073 </para>
2075 <para>
2076 The Setup, Startup and Reset programs are run as
2077 <systemitem class="username">root</systemitem>, so they should be careful
2078 about security.
2079 Their first argument is <literal>auto</literal> if the session results
2080 from an automatic login; otherwise, no arguments are passed to them.
2081 </para>
2083 <sect2 id="kdmrc-xsetup">
2084 <title>Setup program</title>
2086 <para>
2087 The <filename>Xsetup</filename> program is run after the &X-Server; is
2088 started or reset, but before the greeter is offered.
2089 This is the place to change the root background (if
2090 <option>UseBackground</option> is disabled) or bring up other windows that
2091 should appear on the screen along with the greeter.
2092 </para>
2094 <para>
2095 In addition to any specified by <option>ExportList</option>,
2096 the following environment variables are passed:</para>
2097 <variablelist>
2098  <varlistentry>
2099   <term>DISPLAY</term>
2100   <listitem><para>the associated display name</para></listitem>
2101  </varlistentry>
2102  <varlistentry>
2103   <term>PATH</term>
2104   <listitem><para>the value of <option>SystemPath</option></para></listitem>
2105  </varlistentry>
2106  <varlistentry>
2107   <term>SHELL</term>
2108   <listitem><para>the value of <option>SystemShell</option></para></listitem>
2109  </varlistentry>
2110  <varlistentry>
2111   <term>XAUTHORITY</term>
2112   <listitem><para>may be set to an authority file</para></listitem>
2113  </varlistentry>
2114  <varlistentry>
2115   <term>DM_CONTROL</term>
2116   <listitem><para>the value of <option>FifoDir</option></para></listitem>
2117  </varlistentry>
2118 </variablelist>
2120 <para> Note that since &kdm; grabs the keyboard, any other windows will not be
2121 able to receive keyboard input. They will be able to interact with the mouse,
2122 however; beware of potential security holes here. If <option>GrabServer</option>
2123 is set, <filename>Xsetup</filename> will not be able to connect to the display
2124 at all. Resources for this program can be put into the file named by
2125 <option>Resources</option>.
2126 </para>
2128 </sect2>
2130 <sect2 id="kdmrc-xstartup">
2131 <title>Startup program</title>
2133 <para>The <filename>Xstartup</filename> program is run as
2134 <systemitem class="username">root</systemitem> when the user logs in.
2135 This is the place to put commands which add entries to
2136 <filename>utmp</filename> (the <command>sessreg</command> program
2137 may be useful here), mount users' home directories from file servers,
2138 or abort the session if some requirements are not met (but note that on
2139 modern systems, many of these tasks are already taken care of by
2140 <acronym>PAM</acronym> modules).</para>
2142 <para>In addition to any specified by <option>ExportList</option>,
2143 the following environment variables are passed:</para>
2144 <variablelist>
2145  <varlistentry>
2146   <term>DISPLAY</term>
2147   <listitem><para>the associated display name</para></listitem>
2148  </varlistentry>
2149  <varlistentry>
2150   <term>HOME</term>
2151   <listitem><para>the initial working directory of the user</para></listitem>
2152  </varlistentry>
2153  <varlistentry>
2154   <term>LOGNAME</term>
2155   <listitem><para>the username</para></listitem>
2156  </varlistentry>
2157  <varlistentry>
2158   <term>USER</term>
2159   <listitem><para>the username</para></listitem>
2160  </varlistentry>
2161  <varlistentry>
2162   <term>PATH</term>
2163   <listitem><para>the value of <option>SystemPath</option></para></listitem>
2164  </varlistentry>
2165  <varlistentry>
2166   <term>SHELL</term>
2167   <listitem><para>the value of <option>SystemShell</option></para></listitem>
2168  </varlistentry>
2169  <varlistentry>
2170   <term>XAUTHORITY</term>
2171   <listitem><para>may be set to an authority file</para></listitem>
2172  </varlistentry>
2173  <varlistentry>
2174   <term>DM_CONTROL</term>
2175   <listitem><para>the value of <option>FifoDir</option></para></listitem>
2176  </varlistentry>
2177 </variablelist>
2179 <para>&kdm; waits until this program exits before starting the user session.
2180 If the exit value of this program is non-zero, &kdm; discontinues the session
2181 and starts another authentication cycle.</para>
2183 </sect2>
2185 <sect2 id="kdmrc-xsession">
2186 <title>Session program</title>
2188 <para>The <filename>Xsession</filename> program is the command which is run
2189 as the user's session. It is run with the permissions of the authorized user.
2190 One of the keywords <literal>failsafe</literal>, <literal>default</literal>
2191 or <literal>custom</literal>, or a string to <command>eval</command> by a
2192 Bourne-compatible shell is passed as the first argument.</para>
2194 <para>In addition to any specified by <option>ExportList</option>,
2195 the following environment variables are passed:</para>
2196 <variablelist>
2197  <varlistentry>
2198   <term>DISPLAY</term>
2199   <listitem><para>the associated display name</para></listitem>
2200  </varlistentry>
2201  <varlistentry>
2202   <term>HOME</term>
2203   <listitem><para>the initial working directory of the user</para></listitem>
2204  </varlistentry>
2205  <varlistentry>
2206   <term>LOGNAME</term>
2207   <listitem><para>the username</para></listitem>
2208  </varlistentry>
2209  <varlistentry>
2210   <term>USER</term>
2211   <listitem><para>the username</para></listitem>
2212  </varlistentry>
2213  <varlistentry>
2214   <term>PATH</term>
2215   <listitem><para>the value of <option>UserPath</option>
2216    (or <option>SystemPath</option> for
2217    <systemitem class="username">root</systemitem> user sessions)</para>
2218   </listitem>
2219  </varlistentry>
2220  <varlistentry>
2221   <term>SHELL</term>
2222   <listitem><para>the user's default shell</para></listitem>
2223  </varlistentry>
2224  <varlistentry>
2225   <term>XAUTHORITY</term>
2226   <listitem><para>may be set to a non-standard authority file</para></listitem>
2227  </varlistentry>
2228  <varlistentry>
2229   <term>KRBTKFILE</term>
2230   <listitem><para>may be set to a Kerberos4 credentials cache name</para>
2231   </listitem>
2232  </varlistentry>
2233  <varlistentry>
2234   <term>KRB5CCNAME</term>
2235   <listitem><para>may be set to a Kerberos5 credentials cache name</para>
2236   </listitem>
2237  </varlistentry>
2238  <varlistentry>
2239   <term>DM_CONTROL</term>
2240   <listitem><para>the value of <option>FifoDir</option></para></listitem>
2241  </varlistentry>
2242  <varlistentry>
2243   <term>XDM_MANAGED</term>
2244   <listitem><para>will contain a comma-separated list of parameters the
2245    session might find interesting, like the location of the command
2246    <acronym>FiFo</acronym> and its capabilities, and which conversation
2247    plugin was used for the login</para>
2248   </listitem>
2249  </varlistentry>
2250  <varlistentry>
2251   <term>DESKTOP_SESSION</term>
2252   <listitem><para>the name of the session the user has chosen to run</para>
2253   </listitem>
2254  </varlistentry>
2255 </variablelist>
2257 </sect2>
2259 <sect2 id="kdmrc-xreset">
2260 <title>Reset program</title>
2262 <para>Symmetrical with <filename>Xstartup</filename>, the
2263 <filename>Xreset</filename> program is run after the user session has
2264 terminated. Run as <systemitem class="username">root</systemitem>, it should
2265 contain commands that undo the effects of commands in 
2266 <filename>Xstartup</filename>, removing entries from <filename>utmp</filename>
2267 or unmounting directories from file servers.</para>
2269 <para>The environment variables that were passed to
2270 <filename>Xstartup</filename> are also passed to <filename>Xreset</filename>.
2271 </para>
2273 </sect2>
2275 </sect1>
2277 </chapter>