not quite so much needs to be delayed to the init() function
[personal-kdebase.git] / workspace / kdm / config.def
blob93e16c16024c8254bc49812ccc236ab49aba5475
2 # Copyright 2004-2007 Oswald Buddenhagen <ossi@kde.org>
4 # Permission to use, copy, modify, distribute, and sell this software and its
5 # documentation for any purpose is hereby granted without fee, provided that
6 # the above copyright notice appear in all copies and that both that
7 # copyright notice and this permission notice appear in supporting
8 # documentation.
10 # The above copyright notice and this permission notice shall be included
11 # in all copies or substantial portions of the Software.
13 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
14 # OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
15 # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
16 # IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
17 # OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
18 # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
19 # OTHER DEALINGS IN THE SOFTWARE.
21 # Except as contained in this notice, the name of a copyright holders shall
22 # not be used in advertising or otherwise to promote the sale, use or
23 # other dealings in this Software without prior written authorization
24 # from the copyright holders.
27 # The contents of this section are copied into config.ci verbatim.
28 <code>
29 #define RCVERMAJOR 2
30 #define RCVERMINOR 4
32 #define KDMCONF KDE_CONFDIR "/kdm"
33 #define KDMDATA KDE_DATADIR "/kdm"
35 #ifdef _AIX
36 # define HALT_CMD "/usr/sbin/shutdown -h now"
37 # define REBOOT_CMD "/usr/sbin/shutdown -r now"
38 #elif defined(BSD)
39 # define HALT_CMD "/sbin/shutdown -h now"
40 # define REBOOT_CMD "/sbin/shutdown -r now"
41 #elif defined(__SVR4)
42 # define HALT_CMD "/usr/sbin/halt"
43 # define REBOOT_CMD "/usr/sbin/reboot"
44 #else
45 # define HALT_CMD "/sbin/halt"
46 # define REBOOT_CMD "/sbin/reboot"
47 #endif
49 #if defined(BSD) || defined(__linux__)
50 # define DEF_USER_PATH KDM_DEF_USER_PATH
51 # define DEF_SYSTEM_PATH KDM_DEF_SYSTEM_PATH
52 #else
53 # define DEF_USER_PATH KDM_DEF_USER_PATH ":/usr/ucb"
54 # define DEF_SYSTEM_PATH KDM_DEF_SYSTEM_PATH ":/etc:/usr/ucb"
55 #endif
57 #if 0 /*def HASXDMAUTH*/
58 # define DEF_AUTH_NAME "XDM-AUTHORIZATION-1,MIT-MAGIC-COOKIE-1"
59 #else
60 # define DEF_AUTH_NAME "MIT-MAGIC-COOKIE-1"
61 #endif
63 #ifdef HAVE_VTS
64 #elif defined(__sun__)
65 # define DEF_SERVER_TTY "console"
66 #elif defined(_AIX)
67 # define DEF_SERVER_TTY "lft0"
68 #else
69 # define DEF_SERVER_TTY ""
70 #endif
72 #ifdef _AIX
73 # define DEF_SERVER_CMD XBINDIR "/X -T -force"
74 #else
75 # define DEF_SERVER_CMD XBINDIR "/X"
76 #endif
77 </code>
79 # The contents of this section are copied mostly verbatim to the
80 # default/example configuration file.
81 # Everything indented with a space is considered a comment for the output;
82 # it is prefixed with a hash mark but otherwise copied verbatim (except
83 # for lines consisting of a single underscore, which generate empty comment
84 # lines).
85 # Section headers are "condensation seeds" for the Instance:s in the key
86 # definitions below.
87 <kdmrc>
88 &kdm; master configuration file
90 Definition: the greeter is the login dialog, i.e., the part of &kdm;
91 which the user sees.
93 You can configure every X-display individually.
94 Every display has a display name, which consists of a host name
95 (which is empty for local displays specified in {Static|Reserve}Servers),
96 a colon, and a display number. Additionally, a display belongs to a
97 display class (which can be ignored in most cases; the control center
98 does not support this feature at all).
99 Sections with display-specific settings have the formal syntax
100 "[X-" host [":" number [ "_" class ]] "-" sub-section "]"
101 You can use the "*" wildcard for host, number, and class. You may omit
102 trailing components; they are assumed to be "*" then.
103 The host part may be a domain specification like ".inf.tu-dresden.de".
104 It may also be "+", which means non-empty, i.e. remote displays only.
105 From which section a setting is actually taken is determined by these
106 rules:
107 - an exact match takes precedence over a partial match (for the host part),
108 which in turn takes precedence over a wildcard ("+" taking precedence
109 over "*")
110 - precedence decreases from left to right for equally exact matches
111 Example: display name "myhost:0", class "dpy".
112 [X-myhost:0_dpy] precedes
113 [X-myhost:0_*] (same as [X-myhost:0]) precedes
114 [X-myhost:*_dpy] precedes
115 [X-myhost:*_*] (same as [X-myhost]) precedes
116 [X-+:0_dpy] precedes
117 [X-*:0_dpy] precedes
118 [X-*:0_*] (same as [X-*:0]) precedes
119 [X-*:*_*] (same as [X-*])
120 These sections do NOT match this display:
121 [X-hishost], [X-myhost:0_dec], [X-*:1], [X-:*]
122 If a setting is not found in any matching section, the default is used.
124 Every comment applies to the following section or key. Note that all
125 comments will be lost if you change this file with the kcontrol frontend.
126 The defaults refer to &kdm;'s built-in values, not anything set in this file.
128 Special characters need to be backslash-escaped (leading and trailing
129 spaces (\\s), tab (\\t), linefeed (\\n), carriage return (\\r) and the
130 backslash itself (\\\\)).
131 In lists, fields are separated with commas without whitespace in between.
132 Some command strings are subject to simplified sh-style word splitting:
133 single quotes (') and double quotes (") have the usual meaning; the backslash
134 quotes everything (not only special characters). Note that the backslashes
135 need to be doubled because of the two levels of quoting.
137 [General]
139 [Xdmcp]
141 [Shutdown]
143 Rough estimations about how many seconds &kdm; will spend at most on
144 - opening a connection to the X-server (OpenTime) if the attempt
145 - times out: OpenTimeout
146 - is refused: OpenRepeat * OpenDelay
147 - starting a local X-server (ServerTime):
148 ServerAttempts * (ServerTimeout + OpenDelay)
149 - starting a display:
150 - local display: ServerTime + OpenTime
151 - foreign display: StartAttempts * OpenTime
152 - &XDMCP; display: OpenTime (repeated indefinitely by client)
154 Core config for all displays
155 [X-*-Core]
157 Greeter config for all displays
158 [X-*-Greeter]
160 Core config for local displays
161 [X-:*-Core]
163 Greeter config for local displays
164 [X-:*-Greeter]
166 Core config for 1st local display
167 [X-:0-Core]
169 Greeter config for 1st local display
170 [X-:0-Greeter]
171 </kdmrc>
173 # The contents of this section are copied into kdmrc-ref.docbook.
174 # The macro %REF% is replaced with the accumulated Description:s from the key
175 # definitions below.
176 <docu>
177 <chapter id="kdm-files">
178 <title>The Files &kdm; Uses for Configuration</title>
180 <para>This chapter documents the files that control &kdm;'s behavior.
181 Some of this can be also controlled from the &kcontrol; module, but
182 not all.</para>
184 <sect1 id="kdmrc">
185 <title>&kdmrc; - The &kdm; master configuration file</title>
187 <para>The basic format of the file is <quote>INI-like</quote>.
188 Options are key/value pairs, placed in sections.
189 Everything in the file is case sensitive.
190 Syntactic errors and unrecognized key/section identifiers cause &kdm; to
191 issue non-fatal error messages.</para>
193 <para>Lines beginning with <literal>#</literal> are comments; empty lines
194 are ignored as well.</para>
196 <para>Sections are denoted by
197 <literal>[</literal><replaceable>Name of Section</replaceable><literal>]</literal>.
198 </para>
200 <para>You can configure every X-display individually.</para>
201 <para>Every display has a display name, which consists of a host name
202 (which is empty for local displays specified in <option>StaticServers</option>
203 or <option>ReserveServers</option>), a colon, and a display number.
204 Additionally, a display belongs to a
205 display class (which can be ignored in most cases).</para>
207 <para>Sections with display-specific settings have the formal syntax
208 <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>
209 </para>
210 <para>All sections with the same <replaceable>sub-section</replaceable>
211 make up a section class.</para>
213 <para>You can use the wildcard <literal>*</literal> (match any) for
214 <replaceable>host</replaceable>, <replaceable>number</replaceable>,
215 and <replaceable>class</replaceable>. You may omit trailing components;
216 they are assumed to be <literal>*</literal> then. The host part may be a
217 domain specification like <replaceable>.inf.tu-dresden.de</replaceable>
218 or the wildcard <literal>+</literal> (match non-empty).</para>
220 <para>From which section a setting is actually taken is determined by
221 these rules:</para>
223 <itemizedlist>
224 <listitem>
225 <para>An exact match takes precedence over a partial match (for the
226 host part), which in turn takes precedence over a wildcard
227 (<literal>+</literal> taking precendence over <literal>*</literal>).</para>
228 </listitem>
230 <listitem>
231 <para>Precedence decreases from left to right for equally exact matches.</para>
232 </listitem>
234 <listitem>
236 <para>
237 Example: display name <quote>myhost.foo:0</quote>, class <quote>dpy</quote>
238 </para>
239 <itemizedlist>
240 <listitem>
241 <para>[X-myhost.foo:0_dpy] precedes</para>
242 </listitem>
243 <listitem>
244 <para>[X-myhost.foo:0_*] (same as [X-myhost.foo:0]) precedes</para>
245 </listitem>
246 <listitem>
247 <para>[X-myhost.foo:*_dpy] precedes</para>
248 </listitem>
249 <listitem>
250 <para>[X-myhost.foo:*_*] (same as [X-myhost.foo]) precedes</para>
251 </listitem>
252 <listitem>
253 <para>[X-.foo:*_*] (same as [X-.foo]) precedes</para>
254 </listitem>
255 <listitem>
256 <para>[X-+:0_dpy] precedes</para>
257 </listitem>
258 <listitem>
259 <para>[X-*:0_dpy] precedes</para>
260 </listitem>
261 <listitem>
262 <para>[X-*:0_*] (same as [X-*:0]) precedes</para>
263 </listitem>
264 <listitem>
265 <para>[X-*:*_*] (same as [X-*]).</para>
266 </listitem>
267 <listitem>
268 <para>These sections do <emphasis>not</emphasis> match this display:</para>
269 <para>[X-hishost], [X-myhost.foo:0_dec], [X-*:1], [X-:*]</para>
270 </listitem>
271 </itemizedlist>
273 </listitem>
275 </itemizedlist>
277 <para>Common sections are [X-*] (all displays), [X-:*] (all local displays)
278 and [X-:0] (the first local display).</para>
280 <para>The format for all keys is
281 <userinput><option><replaceable>key</replaceable></option>&nbsp;<literal>=</literal>&nbsp;<parameter>value</parameter></userinput>.
282 Keys are only valid in the section class they are defined for.
283 Some keys do not apply to particular displays, in which case they are ignored.
284 </para>
286 <para>If a setting is not found in any matching section, the default
287 is used.</para>
289 <para>Special characters need to be backslash-escaped (leading and trailing
290 spaces (<literal>\s</literal>), tab (<literal>\t</literal>), linefeed
291 (<literal>\n</literal>), carriage return (<literal>\r</literal>) and the
292 backslash itself (<literal>\\</literal>)).</para>
293 <para>In lists, fields are separated with commas without whitespace in between.
294 </para>
295 <para>Some command strings are subject to simplified sh-style word splitting:
296 single quotes (<literal>'</literal>) and double quotes (<literal>"</literal>)
297 have the usual meaning; the backslash quotes everything (not only special
298 characters). Note that the backslashes need to be doubled because of the
299 two levels of quoting.</para>
301 <note><para>A pristine &kdmrc; is very thoroughly commented.
302 All comments will be lost if you change this file with the
303 kcontrol frontend.</para></note>
305 %REF%
307 </sect1>
309 <sect1 id="kdmrc-xservers">
310 <title>Specifying permanent &X-Server;s</title>
312 <para>Each entry in the <option>StaticServers</option> list indicates a
313 display which should constantly be
314 managed and which is not using &XDMCP;. This method is typically used only for
315 local &X-Server;s that are started by &kdm;, but &kdm; can manage externally
316 started (<quote>foreign</quote>) &X-Server;s as well, may they run on the
317 local machine or rather remotely.</para>
319 <para>The formal syntax of a specification is
320 <screen>
321 <userinput><replaceable>display&nbsp;name</replaceable>&nbsp;[<literal>_</literal><replaceable>display&nbsp;class</replaceable>]</userinput>
322 </screen>
323 for all &X-Server;s. <quote>Foreign</quote> displays differ in having
324 a host name in the display name, may it be <literal>localhost</literal>.</para>
326 <para>The <replaceable>display name</replaceable> must be something that can
327 be passed in the <option>-display</option> option to an X program. This string
328 is used to generate the display-specific section names, so be careful to match
329 the names.
330 The display name of &XDMCP; displays is derived from the display's address by
331 reverse host name resolution. For configuration purposes, the
332 <literal>localhost</literal> prefix from locally running &XDMCP; displays is
333 <emphasis>not</emphasis> stripped to make them distinguishable from local
334 &X-Server;s started by &kdm;.</para>
336 <para>The <replaceable>display class</replaceable> portion is also used in the
337 display-specific sections. This is useful if you have a large collection of
338 similar displays (such as a corral of X terminals) and would like to set
339 options for groups of them.
340 When using &XDMCP;, the display is required to specify the display class,
341 so the manual for your particular X terminal should document the display
342 class string for your device. If it does not, you can run &kdm; in debug
343 mode and <command>grep</command> the log for <quote>class</quote>.</para>
345 <para>The displays specified in <option>ReserveServers</option> will not be
346 started when &kdm; starts up, but when it is explicitly requested via
347 the command socket.
348 If reserve displays are specified, the &kde; menu will have a
349 <guilabel>Start New Session</guilabel> item near the bottom; use that to
350 activate a reserve display with a new login session. The monitor will switch
351 to the new display, and you will have a minute to login. If there are no more
352 reserve displays available, the menu item will be disabled.</para>
354 <para>When &kdm; starts a session, it sets up authorization data for the
355 &X-Server;. For local servers, &kdm; passes
356 <command><option>-auth</option>&nbsp;<filename><replaceable>filename</replaceable></filename></command>
357 on the &X-Server;'s command line to point it at its authorization data.
358 For &XDMCP; displays, &kdm; passes the authorization data to the &X-Server;
359 via the <quote>Accept</quote> &XDMCP; message.</para>
361 </sect1>
363 <sect1 id="kdmrc-xaccess">
364 <title>&XDMCP; access control</title>
366 <para>The file specified by the <option>AccessFile</option> option provides
367 information which &kdm; uses to control access from displays requesting service
368 via &XDMCP;.
369 The file contains four types of entries: entries which control the response
370 to <quote>Direct</quote> and <quote>Broadcast</quote> queries, entries which
371 control the response to <quote>Indirect</quote> queries, macro definitions,
372 and entries which control on which network interfaces &kdm; listens for &XDMCP;
373 queries.
374 Blank lines are ignored, <literal>#</literal> is treated as a comment
375 delimiter causing the rest of that line to be ignored, and <literal>\</literal>
376 causes an immediately following newline to be ignored, allowing host lists
377 to span multiple lines.
378 </para>
380 <para>The format of the <quote>Direct</quote> entries is simple, either a
381 host name or a pattern, which is compared against the host name of the display
382 device. Alternatively, a macro may be used to make the entry match everything
383 the macro expands to.
384 Patterns are distinguished from host names by the inclusion of one or more
385 meta characters; <literal>*</literal> matches any sequence of 0 or more
386 characters, and <literal>?</literal> matches any single character.
387 If the entry is a host name, all comparisons are done using network addresses,
388 so any name which converts to the correct network address may be used. Note
389 that only the first network address returned for a host name is used.
390 For patterns, only canonical host names are used in the comparison, so ensure
391 that you do not attempt to match aliases.
392 Host names from &XDMCP; queries always contain the local domain name
393 even if the reverse lookup returns a short name, so you can use
394 patterns for the local domain.
395 Preceding the entry with a <literal>!</literal> character causes hosts which
396 match that entry to be excluded. Preceding it with an <literal>=</literal> has
397 no effect but is required when specifying a macro to distinguish the entry
398 from a macro definition.
399 To only respond to <quote>Direct</quote> queries for a host or pattern,
400 it can be followed by the optional <literal>NOBROADCAST</literal> keyword.
401 This can be used to prevent a &kdm; server from appearing on menus based on
402 <quote>Broadcast</quote> queries.</para>
404 <para>An <quote>Indirect</quote> entry also contains a host name, pattern or
405 macro, but follows it with a list of host names or macros to which the queries
406 should be forwarded. <quote>Indirect</quote> entries can be excluding as well,
407 in which case a (valid) dummy host name must be supplied to make the entry
408 distinguishable from a <quote>Direct</quote> entry.
409 If compiled with IPv6 support, multicast address groups may also be included
410 in the list of addresses the queries are forwarded to.
411 <!-- Not actually implemented!
412 Multicast addresses may be followed by an optional <literal>/</literal>
413 character and hop count. If no hop count is specified, the multicast hop count
414 defaults to 1, keeping the packet on the local network. For IPv4 multicasting,
415 the hop count is used as the TTL.
417 If the indirect host list contains the keyword <literal>CHOOSER</literal>,
418 <quote>Indirect</quote> queries are not forwarded, but instead a host chooser
419 dialog is displayed by &kdm;. The chooser will send a <quote>Direct</quote>
420 query to each of the remaining host names in the list and offer a menu of
421 all the hosts that respond. The host list may contain the keyword
422 <literal>BROADCAST</literal>, to make the chooser send a
423 <quote>Broadcast</quote> query as well; note that on some operating systems,
424 UDP packets cannot be broadcast, so this feature will not work.
425 </para>
427 <para>When checking access for a particular display host, each entry is scanned
428 in turn and the first matching entry determines the response.
429 <quote>Direct</quote> and <quote>Broadcast</quote> entries are ignored when
430 scanning for an <quote>Indirect</quote> entry and vice-versa.</para>
432 <para>A macro definition contains a macro name and a list of host names and
433 other macros that the macro expands to. To distinguish macros from hostnames,
434 macro names start with a <literal>%</literal> character.</para>
436 <para>The last entry type is the <literal>LISTEN</literal> directive.
437 The formal syntax is
438 <screen>
439 <userinput>&nbsp;<literal>LISTEN</literal>&nbsp;[<replaceable>interface</replaceable>&nbsp;[<replaceable>multicast&nbsp;list</replaceable>]]</userinput>
440 </screen>
441 If one or more <literal>LISTEN</literal> lines are specified, &kdm; listens
442 for &XDMCP; requests only on the specified interfaces.
443 <replaceable>interface</replaceable> may be a hostname or IP address
444 representing a network interface on this machine, or the wildcard
445 <literal>*</literal> to represent all available network interfaces.
446 If multicast group addresses are listed on a <literal>LISTEN</literal> line,
447 &kdm; joins the multicast groups on the given interface. For IPv6 multicasts,
448 the IANA has assigned ff0<replaceable>X</replaceable>:0:0:0:0:0:0:12b as the
449 permanently assigned range of multicast addresses for &XDMCP;. The
450 <replaceable>X</replaceable> in the prefix may be replaced by any valid scope
451 identifier, such as 1 for Node-Local, 2 for Link-Local, 5 for Site-Local, and
452 so on (see IETF RFC 2373 or its replacement for further details and scope
453 definitions). &kdm; defaults to listening on the Link-Local scope address
454 ff02:0:0:0:0:0:0:12b to most closely match the IPv4 subnet broadcast behavior.
455 If no <literal>LISTEN</literal> lines are given, &kdm; listens on all
456 interfaces and joins the default &XDMCP; IPv6 multicast group (when
457 compiled with IPv6 support).
458 To disable listening for &XDMCP; requests altogether, a
459 <literal>LISTEN</literal> line with no addresses may be specified, but using
460 the <literal>[Xdmcp]</literal> <option>Enable</option> option is preferred.
461 </para>
463 </sect1>
465 <sect1 id="kdm-scripts">
466 <title>Supplementary programs</title>
468 <para>
469 The following programs are run by &kdm; at various stages of a session.
470 They typically are shell scripts.
471 </para>
473 <para>
474 The Setup, Startup and Reset programs are run as
475 <systemitem class="username">root</systemitem>, so they should be careful
476 about security.
477 Their first argument is <literal>auto</literal> if the session results
478 from an automatic login; otherwise, no arguments are passed to them.
479 </para>
481 <sect2 id="kdmrc-xsetup">
482 <title>Setup program</title>
484 <para>
485 The <filename>Xsetup</filename> program is run after the &X-Server; is
486 started or reset, but before the greeter is offered.
487 This is the place to change the root background (if
488 <option>UseBackground</option> is disabled) or bring up other windows that
489 should appear on the screen along with the greeter.
490 </para>
492 <para>
493 In addition to any specified by <option>ExportList</option>,
494 the following environment variables are passed:</para>
495 <variablelist>
496 <varlistentry>
497 <term>DISPLAY</term>
498 <listitem><para>the associated display name</para></listitem>
499 </varlistentry>
500 <varlistentry>
501 <term>PATH</term>
502 <listitem><para>the value of <option>SystemPath</option></para></listitem>
503 </varlistentry>
504 <varlistentry>
505 <term>SHELL</term>
506 <listitem><para>the value of <option>SystemShell</option></para></listitem>
507 </varlistentry>
508 <varlistentry>
509 <term>XAUTHORITY</term>
510 <listitem><para>may be set to an authority file</para></listitem>
511 </varlistentry>
512 <varlistentry>
513 <term>DM_CONTROL</term>
514 <listitem><para>the value of <option>FifoDir</option></para></listitem>
515 </varlistentry>
516 </variablelist>
518 <para> Note that since &kdm; grabs the keyboard, any other windows will not be
519 able to receive keyboard input. They will be able to interact with the mouse,
520 however; beware of potential security holes here. If <option>GrabServer</option>
521 is set, <filename>Xsetup</filename> will not be able to connect to the display
522 at all. Resources for this program can be put into the file named by
523 <option>Resources</option>.
524 </para>
526 </sect2>
528 <sect2 id="kdmrc-xstartup">
529 <title>Startup program</title>
531 <para>The <filename>Xstartup</filename> program is run as
532 <systemitem class="username">root</systemitem> when the user logs in.
533 This is the place to put commands which add entries to
534 <filename>utmp</filename> (the <command>sessreg</command> program
535 may be useful here), mount users' home directories from file servers,
536 or abort the session if some requirements are not met (but note that on
537 modern systems, many of these tasks are already taken care of by
538 <acronym>PAM</acronym> modules).</para>
540 <para>In addition to any specified by <option>ExportList</option>,
541 the following environment variables are passed:</para>
542 <variablelist>
543 <varlistentry>
544 <term>DISPLAY</term>
545 <listitem><para>the associated display name</para></listitem>
546 </varlistentry>
547 <varlistentry>
548 <term>HOME</term>
549 <listitem><para>the initial working directory of the user</para></listitem>
550 </varlistentry>
551 <varlistentry>
552 <term>LOGNAME</term>
553 <listitem><para>the username</para></listitem>
554 </varlistentry>
555 <varlistentry>
556 <term>USER</term>
557 <listitem><para>the username</para></listitem>
558 </varlistentry>
559 <varlistentry>
560 <term>PATH</term>
561 <listitem><para>the value of <option>SystemPath</option></para></listitem>
562 </varlistentry>
563 <varlistentry>
564 <term>SHELL</term>
565 <listitem><para>the value of <option>SystemShell</option></para></listitem>
566 </varlistentry>
567 <varlistentry>
568 <term>XAUTHORITY</term>
569 <listitem><para>may be set to an authority file</para></listitem>
570 </varlistentry>
571 <varlistentry>
572 <term>DM_CONTROL</term>
573 <listitem><para>the value of <option>FifoDir</option></para></listitem>
574 </varlistentry>
575 </variablelist>
577 <para>&kdm; waits until this program exits before starting the user session.
578 If the exit value of this program is non-zero, &kdm; discontinues the session
579 and starts another authentication cycle.</para>
581 </sect2>
583 <sect2 id="kdmrc-xsession">
584 <title>Session program</title>
586 <para>The <filename>Xsession</filename> program is the command which is run
587 as the user's session. It is run with the permissions of the authorized user.
588 One of the keywords <literal>failsafe</literal>, <literal>default</literal>
589 or <literal>custom</literal>, or a string to <command>eval</command> by a
590 Bourne-compatible shell is passed as the first argument.</para>
592 <para>In addition to any specified by <option>ExportList</option>,
593 the following environment variables are passed:</para>
594 <variablelist>
595 <varlistentry>
596 <term>DISPLAY</term>
597 <listitem><para>the associated display name</para></listitem>
598 </varlistentry>
599 <varlistentry>
600 <term>HOME</term>
601 <listitem><para>the initial working directory of the user</para></listitem>
602 </varlistentry>
603 <varlistentry>
604 <term>LOGNAME</term>
605 <listitem><para>the username</para></listitem>
606 </varlistentry>
607 <varlistentry>
608 <term>USER</term>
609 <listitem><para>the username</para></listitem>
610 </varlistentry>
611 <varlistentry>
612 <term>PATH</term>
613 <listitem><para>the value of <option>UserPath</option>
614 (or <option>SystemPath</option> for
615 <systemitem class="username">root</systemitem> user sessions)</para>
616 </listitem>
617 </varlistentry>
618 <varlistentry>
619 <term>SHELL</term>
620 <listitem><para>the user's default shell</para></listitem>
621 </varlistentry>
622 <varlistentry>
623 <term>XAUTHORITY</term>
624 <listitem><para>may be set to a non-standard authority file</para></listitem>
625 </varlistentry>
626 <varlistentry>
627 <term>KRBTKFILE</term>
628 <listitem><para>may be set to a Kerberos4 credentials cache name</para>
629 </listitem>
630 </varlistentry>
631 <varlistentry>
632 <term>KRB5CCNAME</term>
633 <listitem><para>may be set to a Kerberos5 credentials cache name</para>
634 </listitem>
635 </varlistentry>
636 <varlistentry>
637 <term>DM_CONTROL</term>
638 <listitem><para>the value of <option>FifoDir</option></para></listitem>
639 </varlistentry>
640 <varlistentry>
641 <term>XDM_MANAGED</term>
642 <listitem><para>will contain a comma-separated list of parameters the
643 session might find interesting, like which conversation
644 plugin was used for the login</para>
645 </listitem>
646 </varlistentry>
647 <varlistentry>
648 <term>DESKTOP_SESSION</term>
649 <listitem><para>the name of the session the user has chosen to run</para>
650 </listitem>
651 </varlistentry>
652 </variablelist>
654 </sect2>
656 <sect2 id="kdmrc-xreset">
657 <title>Reset program</title>
659 <para>Symmetrical with <filename>Xstartup</filename>, the
660 <filename>Xreset</filename> program is run after the user session has
661 terminated. Run as <systemitem class="username">root</systemitem>, it should
662 contain commands that undo the effects of commands in
663 <filename>Xstartup</filename>, removing entries from <filename>utmp</filename>
664 or unmounting directories from file servers.</para>
666 <para>The environment variables that were passed to
667 <filename>Xstartup</filename> are also passed to <filename>Xreset</filename>.
668 </para>
670 </sect2>
672 </sect1>
674 </chapter>
675 </docu>
678 # The rest of this file are section and key definitions for the options.
679 # The order of the keywords is fixed and everything is case sensitive.
680 # A keyword may expect supplementary data in the form of space-indented
681 # lines following it. Definitions are delimited by empty lines.
683 # Section definition:
684 # Section: <name>
685 # Section name. Section classes start with a dash.
686 # If: <expression>
687 # C preprocessor conditional for supporting this section.
688 # If it evaluates to false, all keys in this section are disabled as well.
689 # Description:
690 # A docbook description of this section is expected in the next lines.
691 # The contents are automatically enclosed in <para></para>.
693 # Option key definition:
694 # Key: <name>
695 # Option name.
696 # If: <expression>
697 # C preprocessor conditional for supporting this option.
698 # Type: (int|bool|enum|group|string|path|list)
699 # The option's data type.
700 # If the type is enum, the element definitions follow in the next lines:
701 # <term>[/<c #define>]: <docbook style description>
702 # Default: <default>
703 # Default value. string, path and list are copied verbatim and therefore
704 # must be already quoted appropriately. The other types are auto-quoted.
705 # If the default value is prefixed with a "*", a c #define def_<Key> is
706 # created.
707 # The default is automatically appended to the kdmrc comment and the
708 # documentation entry.
709 # CDefault: <verbose default>
710 # Append this instead of the real default to the two docs. The quoting
711 # rules are the same as for Default.
712 # DDefault: -
713 # If specified, the default value will not be appended to the documentation
714 # entry. The Description should mention the default then. Use this when
715 # the default is system-dependent.
716 # PostProc: <function>
717 # A function to postprocess the read config value before using it.
718 # User: (dummy|(core|greeter|greeter-c|dep|config)[(<variable>)][:font])
719 # These entries specify which parts of kdm need the option in question:
720 # dummy: no user; entry is there only for syntactical correctness.
721 # dep: this option is an internal dependency for another option.
722 # config: this option configures the config reader itself.
723 # core: the kdm backend needs this option.
724 # greeter-c: the kdm frontend needs this option as a C data type.
725 # greeter: the kdm frontend needs this option as a C++/Qt data type.
726 # If a :font tag is appended, a string entry is converted to a QFont.
727 # If no variable name is specified, it will be derived from the Key by
728 # un-capitalizing it.
729 # Instance: (-|[#][<display spec>/](!|<value>))
730 # These entries specify option instances for the default/example kdmrc.
731 # A "-" entry is a dummy for syntactical correctness.
732 # A prefixing hash mark will be copied to kdmrc.
733 # For options in a section class a display must be specified.
734 # For bool options "!" can be used as the value to specify the negation
735 # of the default.
736 # Update: <function>[/<number>]
737 # Call this function on each occurence of this option in genkdmconf.
738 # Options with higher numbers (default is 0) will be processed later.
739 # Merge: xdm[:<resource>][(<function>)]
740 # Merge: kdm:[<section>/][<key>][(<function>)]
741 # Specify config options to merge from xdm and older kdm versions.
742 # Kdm options from the current version are automatically merged.
743 # When merging an xdm resource and no resource name is specified, it is
744 # derived from the Key by un-capitalizing it.
745 # When merging a kdm option, at least one of <section> and <key> must
746 # be given; an unspecified entity defaults to the current Section/Key.
747 # <section> may be a dash-prefixed section class.
748 # A function to postprocess the read value can be specified.
749 # Comment: [&|-]
750 # A kdmrc comment for this option is expected in the next lines.
751 # If "-" is given to Comment, no comment is generated at all.
752 # If "&" is given, the comment is derived from the Description below by
753 # applying some simple docbook interpretation to it. Note that the
754 # Description must be preformatted in this case. Use
755 # sed -ne 's/^\(.\{79,\}\)$/\1/p' < kdmrc
756 # after running "make install" to see whether all lines still fit.
757 # If Type is enum, a list of the previously defined element/description
758 # pairs is appended; the descriptions undergo docbook interpretation.
759 # Finally, a sentence with the Default (or CDefault, if given) is appended.
760 # Description: [!|-]
761 # A docbook description of this option is expected in the next lines.
762 # The contents are automatically enclosed in <para></para>.
763 # If "-" is given to Description, no comment is generated at all.
764 # If "!" is given, enums are not treated specially; otherwise, the macro
765 # %ENUM% is replaced with a list of the defined element/description pairs,
766 # or - if the macro is not present - the list is appended to the
767 # description.
768 # Finally, a sentence with the Default (or CDefault, if given) is appended,
769 # unless "DDefault: -" was specified.
770 # Each option entry generates an anchor named option-<lowercase(Key)>;
771 # it can be referenced in the main documentation.
772 # Do not forget to run "make ref" in kdebase/doc/kdm after changing
773 # Descriptions.
775 Section: General
776 Description:
777 This section contains global options that do not fit into any specific section.
779 Key: ConfigVersion
780 Type: string
781 Default: ""
782 CDefault: -
783 User: dummy
784 # will be overwritten
785 Instance:
786 Comment:
787 This option exists solely for the purpose of a clean automatic upgrade.
788 Do not even think about changing it!
789 Description:
790 This option exists solely for the purpose of clean automatic upgrades.
791 <emphasis>Do not</emphasis> change it, you may interfere with future
792 upgrades and this could result in &kdm; failing to run.
794 Key: PAMService
795 If: defined(USE_PAM)
796 Type: string
797 Default: KDM_PAM_SERVICE
798 User: core
799 Instance: -
800 Comment: -
801 Description: -
803 <legacy>
804 Proc: absorbXservers
805 # note: this can miss Xservers from kdm for kde 2.2 because of stupid default.
806 Source: kdm:General/Xservers
807 Source: xdm:servers
808 </legacy>
810 Key: StaticServers
811 Type: list
812 Default: ":0"
813 User: core
814 Instance: ":0"
815 Comment:
816 List of permanent displays. Displays with a hostname are foreign. A display
817 class may be specified separated by an underscore.
818 Description:
819 List of displays (&X-Server;s) permanently managed by &kdm;. Displays with a
820 hostname are foreign displays which are expected to be already running,
821 the others are local displays for which &kdm; starts an own &X-Server;;
822 see <option>ServerCmd</option>. Each display may belong to a display class;
823 append it to the display name separated by an underscore.
824 See <xref linkend="kdmrc-xservers"/> for the details.
826 Key: ReserveServers
827 Type: list
828 Default: ""
829 User: core
830 Instance: ":1,:2,:3"
831 Comment: &
832 Description:
833 List of on-demand displays. See <option>StaticServers</option> for syntax.
835 Key: ServerVTs
836 If: defined(HAVE_VTS)
837 Type: list
838 Default: ""
839 User: core
840 Instance: #"7,8,-9,-10"
841 Update: upd_servervts
842 Comment:
843 VTs to allocate to &X-Server;s. A negative number means that the VT will be
844 used only if it is free. If all VTs in this list are used up, the next free
845 one greater than the last one in this list will be allocated.
846 Description:
847 List of Virtual Terminals to allocate to &X-Server;s. For negative numbers the
848 absolute value is used, and the <acronym>VT</acronym> will be allocated only
849 if the kernel says it is free. If &kdm; exhausts this list, it will allocate
850 free <acronym>VT</acronym>s greater than the absolute value of the last entry
851 in this list.
852 Currently Linux only.
854 Key: ConsoleTTYs
855 If: defined(HAVE_VTS)
856 Type: list
857 Default: ""
858 User: core
859 Instance: #"tty1,tty2,tty3,tty4,tty5,tty6"
860 Update: upd_consolettys
861 Comment:
862 TTYs (without /dev/) to monitor for activity while in console mode.
863 Description:
864 This option is for operating systems (<acronym>OS</acronym>s) with support
865 for virtual terminals (<acronym>VT</acronym>s), by both &kdm; and the
866 <acronym>OS</acronym>s itself.
867 Currently this applies only to Linux.
868 </para><para>
869 When &kdm; switches to console mode, it starts monitoring all
870 <acronym>TTY</acronym> lines listed here (without the leading
871 <literal>/dev/</literal>).
872 If none of them is active for some time, &kdm; switches back to the X login.
874 Key: PidFile
875 Type: string
876 Default: ""
877 User: core
878 Instance: "/var/run/kdm.pid"
879 Merge: xdm
880 Comment:
881 Where &kdm; should store its PID (do not store if empty).
882 Description:
883 The filename specified will be created to contain an ASCII representation
884 of the process ID of the main &kdm; process; the PID will not be stored
885 if the filename is empty.
887 Key: LockPidFile
888 Type: bool
889 Default: true
890 User: core
891 Instance: #!
892 Merge: xdm
893 Comment:
894 Whether &kdm; should lock the PID file to prevent having multiple &kdm;
895 instances running at once. Do not change unless you are brave.
896 Description:
897 This option controls whether &kdm; uses file locking to keep multiple
898 display managers from running onto each other.
900 Key: AuthDir
901 Type: path
902 # differs from XDM
903 Default: "/var/run/xauth"
904 User: core
905 Instance: #"/tmp"
906 Merge: xdm(P_authDir)
907 Comment:
908 Where to store authorization files.
909 Description:
910 This names a directory under which &kdm; stores &X-Server; authorization
911 files while initializing the session. &kdm; expects the system to clean up
912 this directory from stale files on reboot.
913 </para><para>
914 The authorization file to be used for a particular display can be
915 specified with the <option>AuthFile</option> option in [X-*-Core].
917 Key: AutoRescan
918 Type: bool
919 Default: true
920 User: core
921 Instance: #!
922 Merge: xdm
923 Comment:
924 Whether &kdm; should automatically re-read configuration files, if it
925 finds them having changed.
926 Description:
927 This boolean controls whether &kdm; automatically re-reads its
928 configuration files if it finds them to have changed.
930 Key: ExportList
931 Type: list
932 Default: ""
933 User: core
934 Instance: #"LD_LIBRARY_PATH,ANOTHER_IMPORTANT_VAR"
935 Merge: xdm(P_list)
936 Comment: &
937 Description:
938 Additional environment variables &kdm; should pass on to all programs it runs.
939 <envar>LD_LIBRARY_PATH</envar> and <envar>XCURSOR_THEME</envar> are good candidates;
940 otherwise, it should not be necessary very often.
942 Key: RandomFile
943 If: !defined(ARC4_RANDOM) && !defined(DEV_RANDOM)
944 Type: string
945 Default: "/dev/mem"
946 User: core
947 Instance: #""
948 Merge: xdm
949 Comment:
950 A file &kdm; should read entropy from.
951 Description:
952 If the system has no native entropy source like /dev/urandom (see
953 <option>RandomDevice</option>) and no entropy daemon like EGD (see
954 <option>PrngdSocket</option> and <option>PrngdPort</option>) is running,
955 &kdm; will fall back to its own pseudo-random number generator
956 that will, among other things, successively checksum parts of this file
957 (which, obviously, should change frequently).
958 </para><para>
959 This option does not exist on Linux and various BSDs.
961 Key: PrngdSocket
962 If: !defined(ARC4_RANDOM) && !defined(DEV_RANDOM)
963 Type: string
964 # differs from xdm!
965 Default: ""
966 User: core
967 Instance: #"/tmp/entropy"
968 Merge: xdm
969 Comment:
970 A UNIX domain socket &kdm; should read entropy from.
971 Description:
972 If the system has no native entropy source like /dev/urandom (see
973 <option>RandomDevice</option>), read random data from a Pseudo-Random
974 Number Generator Daemon,
975 like EGD (http://egd.sourceforge.net) via this UNIX domain socket.
976 </para><para>
977 This option does not exist on Linux and various BSDs.
979 Key: PrngdPort
980 If: !defined(ARC4_RANDOM) && !defined(DEV_RANDOM)
981 Type: int
982 Default: 0
983 User: core
984 Instance: #4840
985 Merge: xdm
986 Comment:
987 A TCP socket on localhost &kdm; should read entropy from.
988 Description:
989 Same as <option>PrngdSocket</option>, only use a TCP socket on localhost.
991 Key: RandomDevice
992 If: !defined(ARC4_RANDOM)
993 Type: string
994 Default: ""
995 User: core
996 Instance: #"/dev/altrandom"
997 Merge: xdm
998 Comment:
999 A character device &kdm; should read entropy from.
1000 Empty means use the system's preferred entropy device.
1001 Description:
1002 The path to a character device which &kdm; should read random data from.
1003 Empty means to use the system's preferred entropy device if there is one.
1004 </para><para>
1005 This option does not exist on OpenBSD, as it uses the arc4_random
1006 function instead.
1008 Key: FifoDir
1009 Type: path
1010 Default: *"/var/run/xdmctl"
1011 User: core
1012 Instance: #"/tmp"
1013 Update: upd_fifodir
1014 Comment:
1015 Where the command sockets should be created; make it empty to disable
1016 them.
1017 Description:
1018 The directory in which the command sockets should
1019 be created; make it empty to disable them.
1020 # See <xref linkend="kdm-fifos"/> for the details.
1022 Key: FifoGroup
1023 Type: group
1024 Default: 0
1025 User: core
1026 Instance: #xdmctl
1027 Comment: &
1028 Description:
1029 The group to which the global command socket should belong;
1030 can be either a name or a numerical ID.
1032 Key: DataDir
1033 Type: path
1034 Default: *"/var/lib/kdm"
1035 User: greeter
1036 Instance: #""
1037 Update: upd_datadir
1038 Comment:
1039 The directory in which &kdm; should store persistent working data.
1040 Description:
1041 The directory in which &kdm; should store persistent working data; such data
1042 is, for example, the previous user that logged in on a particular display.
1044 Key: DmrcDir
1045 Type: path
1046 Default: ""
1047 User: core
1048 Instance: #"/nfs-shared/var/dmrcs"
1049 Comment: &
1050 Description:
1051 The directory in which &kdm; should store users' <filename>.dmrc</filename> files. This is only
1052 needed if the home directories are not readable before actually logging in
1053 (like with AFS).
1056 Section: Xdmcp
1057 If: defined(XDMCP)
1058 Description:
1059 This section contains options that control &kdm;'s handling of
1060 &XDMCP; requests.
1061 # See <xref linkend="xdmcp-with-kdm"/> to find out what &XDMCP; is.
1063 Key: Enable
1064 Type: bool
1065 Default: true
1066 User: dep(xdmcpEnable)
1067 Instance: false
1068 Comment: &
1069 Description:
1070 Whether &kdm; should listen to incoming &XDMCP; requests.
1072 Key: Port
1073 Type: int
1074 Default: 177
1075 PostProc: PrequestPort
1076 User: core(requestPort)
1077 Instance: #
1078 Merge: xdm:requestPort(P_requestPort)
1079 Comment:
1080 The UDP port on which &kdm; should listen for &XDMCP; requests. Do not change.
1081 Description:
1082 This indicates the UDP port number which &kdm; uses to listen for incoming
1083 &XDMCP; requests. Unless you need to debug the system, leave this with its
1084 default value.
1086 Key: KeyFile
1087 Type: string
1088 Default: ""
1089 User: core
1090 Instance: #KDMCONF "/kdmkeys"
1091 Update: cp_keyfile
1092 Merge: xdm
1093 Comment:
1094 File with the private keys of X-terminals. Required for XDM authentication.
1095 Description:
1096 XDM-AUTHENTICATION-1 style &XDMCP; authentication requires a private
1097 key to be shared between &kdm; and the terminal. This option specifies
1098 the file containing those values. Each entry in the file consists of a
1099 display name and the shared key.
1101 Key: Xaccess
1102 Type: string
1103 # differs from xdm
1104 Default: *KDMCONF "/Xaccess"
1105 User: config(Xaccess)
1106 Instance: #""
1107 Update: mk_xaccess
1108 Merge: xdm:accessFile
1109 Comment:
1110 &XDMCP; access control file in the usual XDM-Xaccess format.
1111 Description:
1112 To prevent unauthorized &XDMCP; service and to allow forwarding of &XDMCP;
1113 IndirectQuery requests, this file contains a database of hostnames which
1114 are either allowed direct access to this machine, or have a list of hosts
1115 to which queries should be forwarded to. The format of this file is
1116 described in <xref linkend="kdmrc-xaccess"/>.
1118 Key: ChoiceTimeout
1119 Type: int
1120 Default: 15
1121 User: core
1122 Instance: #10
1123 Merge: xdm
1124 Comment:
1125 Number of seconds to wait for display to respond after the user has
1126 selected a host from the chooser.
1127 Description:
1128 Number of seconds to wait for the display to respond after the user has
1129 selected a host from the chooser. If the display sends an &XDMCP;
1130 IndirectQuery within this time, the request is forwarded to the chosen
1131 host; otherwise, it is assumed to be from a new session and the chooser
1132 is offered again.
1134 Key: RemoveDomainname
1135 Type: bool
1136 Default: true
1137 User: core
1138 Instance: #!
1139 Merge: xdm
1140 Comment:
1141 Strip domain name from remote display names if it is equal to the local
1142 domain.
1143 Description:
1144 When computing the display name for &XDMCP; clients, the name resolver will
1145 typically create a fully qualified host name for the terminal. As this is
1146 sometimes confusing, &kdm; will remove the domain name portion of the host
1147 name if it is the same as the domain name of the local host when this option
1148 is enabled.
1150 Key: SourceAddress
1151 Type: bool
1152 Default: false
1153 User: core
1154 Instance: #!
1155 Merge: xdm
1156 Comment:
1157 Use the numeric IP address of the incoming connection on multihomed hosts
1158 instead of the host name.
1159 Description:
1160 Use the numeric IP address of the incoming connection on multihomed hosts
1161 instead of the host name. This is to avoid trying to connect on the wrong
1162 interface which might be down at this time.
1164 Key: Willing
1165 Type: string
1166 Default: ""
1167 User: core
1168 # will be overwritten
1169 Instance: #
1170 Update: mk_willing
1171 Merge: xdm
1172 Merge: kdm:Xwilling
1173 Comment:
1174 The program which is invoked to dynamically generate replies to &XDMCP;
1175 DirectQuery or BroadcastQuery requests.
1176 If empty, no program is invoked and "Willing to manage" is sent.
1177 Description:
1178 This specifies a program which is run (as
1179 <systemitem class="username">root</systemitem>) when an &XDMCP;
1180 DirectQuery or BroadcastQuery is received and this host is configured
1181 to offer &XDMCP; display management. The output of this program may be
1182 displayed in a chooser window. If no program is specified, the string
1183 <quote>Willing to manage</quote> is sent.
1186 Section: Shutdown
1187 Description:
1188 This section contains global options concerning system shutdown.
1190 Key: HaltCmd
1191 Type: string
1192 Default: HALT_CMD
1193 DDefault: -
1194 User: core(cmdHalt)
1195 Instance: #""
1196 Comment:
1197 The command (subject to word splitting) to run to halt the system.
1198 Description:
1199 The command (subject to word splitting) to run to halt/poweroff the system.
1200 </para><para>
1201 The default is something reasonable for the system on which &kdm; was built, like
1202 <command>/sbin/shutdown&nbsp;<option>-h</option>&nbsp;<parameter>now</parameter></command>.
1204 Key: RebootCmd
1205 Type: string
1206 Default: REBOOT_CMD
1207 DDefault: -
1208 User: core(cmdReboot)
1209 Instance: #""
1210 Comment:
1211 The command (subject to word splitting) to run to reboot the system.
1212 Description:
1213 The command (subject to word splitting) to run to reboot the system.
1214 </para><para>
1215 The default is something reasonable for the system &kdm; on which was built, like
1216 <command>/sbin/shutdown&nbsp;<option>-r</option>&nbsp;<parameter>now</parameter></command>.
1218 Key: AllowFifo
1219 Type: bool
1220 Default: false
1221 User: core(fifoAllowShutdown)
1222 Instance: #!
1223 Comment: &
1224 Description:
1225 Whether it is allowed to shut down the system via the global command socket.
1227 Key: AllowFifoNow
1228 Type: bool
1229 Default: true
1230 User: core(fifoAllowNuke)
1231 Instance: #!
1232 Comment:
1233 Whether it is allowed to abort active sessions when shutting down the
1234 system via the global command socket.
1235 Description:
1236 Whether it is allowed to abort active sessions when shutting down the
1237 system via the global command socket.
1238 </para><para>
1239 This will have no effect unless <option>AllowFifo</option> is enabled.
1241 Key: BootManager
1242 Type: enum
1243 None/BO_NONE: no boot manager
1244 Grub/BO_GRUB: Grub boot manager
1245 Lilo/BO_LILO: Lilo boot manager (Linux on i386 &amp; x86-64 only)
1246 Default: None
1247 User: core
1248 User: greeter
1249 Instance: #Grub
1250 Merge: kdm:UseLilo(P_UseLilo)
1251 Comment: &
1252 Description:
1253 The boot manager &kdm; should use for offering boot options in the
1254 shutdown dialog.
1257 Section: -Core
1258 Description:
1259 This section class contains options concerning the configuration
1260 of the &kdm; backend (core).
1262 Key: OpenDelay
1263 Type: int
1264 Default: 15
1265 User: core
1266 Instance: #*/
1267 Merge: xdm(P_openDelay)
1268 Comment:
1269 How long to wait before retrying to connect a display.
1270 Description:
1271 See <option>OpenRepeat</option>.
1273 Key: OpenTimeout
1274 Type: int
1275 Default: 120
1276 User: core
1277 Instance: #*/
1278 Merge: xdm
1279 Comment:
1280 How long to wait before timing out a display connection attempt.
1281 Description:
1282 See <option>OpenRepeat</option>.
1284 Key: OpenRepeat
1285 Type: int
1286 Default: 5
1287 User: core
1288 Instance: #*/
1289 Merge: xdm
1290 Comment:
1291 How many connection attempts to make during a start attempt. Note that
1292 a timeout aborts the entire start attempt.
1293 Description:
1294 These options control the behavior of &kdm; when attempting to open a
1295 connection to an &X-Server;. <option>OpenDelay</option> is the length
1296 of the pause (in seconds) between successive attempts,
1297 <option>OpenRepeat</option> is the number of attempts to make and
1298 <option>OpenTimeout</option> is the amount of time to spend on a
1299 connection attempt. After <option>OpenRepeat</option> attempts have been
1300 made, or if <option>OpenTimeout</option> seconds elapse in any particular
1301 connection attempt, the start attempt is considered failed.
1303 Key: StartAttempts
1304 Type: int
1305 Default: 4
1306 User: core
1307 Instance: #*/
1308 Merge: xdm
1309 Comment:
1310 Try at most that many times to start a display. If this fails, the display
1311 is disabled.
1312 Description:
1313 How many times &kdm; should attempt to start a <literal>foreign</literal>
1314 display listed in <option>StaticServers</option> before giving up
1315 and disabling it.
1316 Local displays are attempted only once, and &XDMCP; displays are retried
1317 indefinitely by the client (unless the option <option>-once</option>
1318 was given to the &X-Server;).
1320 Key: ServerAttempts
1321 Type: int
1322 Default: 1
1323 User: core
1324 Instance: #:*/
1325 Merge: xdm
1326 Comment:
1327 How often to try to run the &X-Server;. Running includes executing it and
1328 waiting for it to come up.
1329 Description:
1330 How many times &kdm; should attempt to start up a local &X-Server;.
1331 Starting up includes executing it and waiting for it to come up.
1333 Key: ServerTimeout
1334 Type: int
1335 Default: 15
1336 User: core
1337 Instance: #:*/
1338 Comment:
1339 How long to wait for a local &X-Server; to come up.
1340 Description:
1341 How many seconds &kdm; should wait for a local &X-Server; to come up.
1343 Key: ServerCmd
1344 Type: string
1345 Default: DEF_SERVER_CMD
1346 DDefault: -
1347 User: core
1348 Instance: :*/DEF_SERVER_CMD
1349 Update: upd_servercmd
1350 Comment:
1351 The command line to start the &X-Server;, without display number and VT spec.
1352 This string is subject to word splitting.
1353 Description:
1354 The command line to start the &X-Server;, without display number and VT spec.
1355 This string is subject to word splitting.
1356 </para><para>
1357 The default is something reasonable for the system on which &kdm; was built,
1358 like <command>/usr/X11R6/bin/X</command>.
1360 Key: ServerArgsLocal
1361 Type: string
1362 Default: ""
1363 User: core
1364 Instance: :*/"-nolisten tcp"
1365 Comment: &
1366 Description:
1367 Additional arguments for the &X-Server;s for local sessions.
1368 This string is subject to word splitting.
1370 Key: ServerArgsRemote
1371 Type: string
1372 Default: ""
1373 User: core
1374 Instance: #:*/""
1375 Comment: &
1376 Description:
1377 Additional arguments for the &X-Server;s for remote sessions.
1378 This string is subject to word splitting.
1380 Key: ServerVT
1381 If: defined(HAVE_VTS)
1382 Type: int
1383 Default: 0
1384 User: core(reqSrvVT)
1385 Instance: #:0/7
1386 Comment:
1387 The VT the &X-Server; should run on; auto-assign if zero, don't assign if -1.
1388 Better leave it zero and use ServerVTs.
1389 Description:
1390 The VT the &X-Server; should run on.
1391 <option>ServerVTs</option> should be used instead of this option.
1392 Leave it zero to let &kdm; assign a <acronym>VT</acronym> automatically.
1393 Set it to <literal>-1</literal> to avoid assigning a <acronym>VT</acronym>
1394 alltogether - this is required for setups with multiple physical consoles.
1395 Currently Linux only.
1397 Key: ServerTTY
1398 If: !defined(HAVE_VTS)
1399 Type: string
1400 Default: ""
1401 User: core(console)
1402 Instance: :0/DEF_SERVER_TTY
1403 Comment:
1404 The TTY line (without /dev/) the &X-Server; covers physically.
1405 Description:
1406 This option is for <acronym>OS</acronym>s without support for
1407 <acronym>VT</acronym>s, either by &kdm; or the <acronym>OS</acronym> itself.
1408 Currently this applies to all <acronym>OS</acronym>s but Linux.
1409 </para><para>
1410 When &kdm; switches to console mode, it starts monitoring this
1411 <acronym>TTY</acronym> line (specified without the leading
1412 <literal>/dev/</literal>) for activity. If the line is not used for some time,
1413 &kdm; switches back to the X login.
1415 Key: PingInterval
1416 Type: int
1417 Default: 5
1418 User: core
1419 User: greeter
1420 Instance: #*/
1421 Merge: xdm
1422 Comment:
1423 Ping remote display every that many minutes.
1424 Description:
1425 See <option>PingTimeout</option>.
1427 Key: PingTimeout
1428 Type: int
1429 Default: 5
1430 User: core
1431 User: greeter
1432 Instance: #*/
1433 Merge: xdm
1434 Comment:
1435 Wait for a Pong that many minutes.
1436 Description:
1437 To discover when <emphasis>remote</emphasis> displays disappear, &kdm;
1438 regularly pings them.
1439 <option>PingInterval</option> specifies the time (in minutes) between the
1440 pings and <option>PingTimeout</option> specifies the maximum amount of
1441 time (in minutes) to wait for the terminal to respond to the request. If
1442 the terminal does not respond, the session is declared dead and terminated.
1443 </para><para>
1444 If you frequently use X terminals which can become isolated from
1445 the managing host, you may wish to increase the timeout. The only worry
1446 is that sessions will continue to exist after the terminal has been
1447 accidentally disabled.
1449 Key: TerminateServer
1450 Type: bool
1451 Default: false
1452 User: core
1453 Instance: #:*/!
1454 Merge: xdm
1455 Comment:
1456 Restart instead of resetting the local &X-Server; after session exit.
1457 Use it if the server leaks memory etc.
1458 Description:
1459 Whether &kdm; should restart the local &X-Server; after session exit instead
1460 of resetting it. Use this if the &X-Server; leaks memory or crashes the system
1461 on reset attempts.
1463 Key: ResetSignal
1464 Type: int
1465 Default: 1
1466 CDefault: 1 (SIGHUP)
1467 User: core
1468 Instance: #:*/
1469 Merge: xdm
1470 Comment:
1471 The signal needed to reset the local &X-Server;.
1472 Description:
1473 The signal number to use to reset the local &X-Server;.
1475 Key: TermSignal
1476 Type: int
1477 Default: 15
1478 CDefault: 15 (SIGTERM)
1479 User: core
1480 Instance: #:*/
1481 Merge: xdm
1482 Comment:
1483 The signal needed to terminate the local &X-Server;.
1484 Description:
1485 The signal number to use to terminate the local &X-Server;.
1487 Key: Authorize
1488 Type: bool
1489 Default: true
1490 User: core
1491 Instance: #:*/!
1492 Merge: xdm
1493 Comment:
1494 Create X-authorizations for local displays.
1495 Description:
1496 Controls whether &kdm; generates and uses authorization for
1497 <emphasis>local</emphasis> &X-Server; connections.
1498 For &XDMCP; displays the authorization requested by the display is used;
1499 foreign non-&XDMCP; displays do not support authorization at all.
1501 Key: AuthNames
1502 Type: list
1503 Default: DEF_AUTH_NAME
1504 User: core
1505 Instance: #:*/""
1506 Merge: xdm:authName
1507 Comment:
1508 Which X-authorization mechanisms should be used.
1509 Description:
1510 If <option>Authorize</option> is true, use the authorization mechanisms
1511 listed herein. The MIT-MAGIC-COOKIE-1 authorization is always available;
1512 XDM-AUTHORIZATION-1, SUN-DES-1 and MIT-KERBEROS-5 might be available as well,
1513 depending on the build configuration.
1515 Key: ResetForAuth
1516 Type: bool
1517 Default: false
1518 User: core
1519 Instance: #:*/!
1520 Merge: xdm
1521 Comment:
1522 Need to reset the &X-Server; to make it read initial Xauth file.
1523 Description:
1524 Some <emphasis>old</emphasis> &X-Server;s re-read the authorization file
1525 at &X-Server; reset time, instead of when checking the initial connection.
1526 As &kdm; generates the authorization information just before connecting to
1527 the display, an old &X-Server; would not get up-to-date authorization
1528 information. This option causes &kdm; to send SIGHUP to the &X-Server;
1529 after setting up the file, causing an additional &X-Server; reset to occur,
1530 during which time the new authorization information will be read.
1532 Key: AuthFile
1533 Type: string
1534 Default: ""
1535 User: core(clientAuthFile)
1536 Instance: #*/""
1537 Merge: xdm
1538 Comment:
1539 The name of this &X-Server;'s Xauth file.
1540 If empty, a random name in the AuthDir directory will be used.
1541 Description:
1542 This file is used to communicate the authorization data from &kdm; to
1543 the &X-Server;, using the <option>-auth</option> &X-Server; command line
1544 option. It should be kept in a directory which is not world-writable
1545 as it could easily be removed, disabling the authorization mechanism in
1546 the &X-Server;. If not specified, a random name is generated from
1547 <option>AuthDir</option> and the name of the display.
1549 Key: Resources
1550 # XXX strictly speaking this is supposed to be a string list, i think.
1551 Type: string
1552 Default: ""
1553 User: core
1554 Instance: #*/""
1555 Update: cp_resources
1556 Merge: xdm
1557 Comment:
1558 Specify a file with X-resources for the greeter, chooser and background.
1559 The KDE frontend does not use this file, so you do not need it unless you
1560 use another background generator than krootimage.
1561 Description:
1562 This option specifies the name of the file to be loaded by
1563 <command>xrdb</command> as the resource database onto the root window
1564 of screen 0 of the display. KDE programs generally do not use
1565 X-resources, so this option is only needed if the <option>Setup</option>
1566 program needs some X-resources.
1568 Key: Xrdb
1569 Type: string
1570 Default: XBINDIR "/xrdb"
1571 User: core
1572 Instance: #*/""
1573 Merge: xdm
1574 Comment:
1575 The xrdb program to use to read the above specified recources.
1576 Subject to word splitting.
1577 Description:
1578 The <command>xrdb</command> program to use to read the X-resources file
1579 specified in <option>Recources</option>.
1580 The command is subject to word splitting.
1582 Key: Setup
1583 Type: string
1584 Default: ""
1585 User: core
1586 # will be overwritten
1587 Instance: #*/""
1588 Update: mk_setup
1589 Merge: xdm
1590 Comment:
1591 A program to run before the greeter is shown. Can be used to start an
1592 xconsole or an alternative background generator. Subject to word splitting.
1593 Description:
1594 This string is subject to word splitting.
1595 It specifies a program which is run (as
1596 <systemitem class="username">root</systemitem>) before offering the
1597 greeter window. This may be used to change the appearance of the screen
1598 around the greeter window or to put up other windows (e.g., you may want
1599 to run <command>xconsole</command> here).
1600 Usually, a script named <command>Xsetup</command> is used here.
1601 See <xref linkend="kdmrc-xsetup"/>.
1603 Key: Startup
1604 Type: string
1605 Default: ""
1606 User: core
1607 # will be overwritten
1608 Instance: #*/""
1609 Update: mk_startup
1610 Merge: xdm
1611 Comment:
1612 A program to run before a user session starts. Subject to word splitting.
1613 Description:
1614 This string is subject to word splitting.
1615 It specifies a program which is run (as
1616 <systemitem class="username">root</systemitem>) after the user
1617 authentication process succeeds.
1618 Usually, a script named <command>Xstartup</command> is used here.
1619 See <xref linkend="kdmrc-xstartup"/>.
1621 Key: Reset
1622 Type: string
1623 Default: ""
1624 User: core
1625 # will be overwritten
1626 Instance: #*/""
1627 Update: mk_reset
1628 Merge: xdm
1629 Comment:
1630 A program to run after a user session exits. Subject to word splitting.
1631 Description:
1632 This string is subject to word splitting.
1633 It specifies a program which is run (as
1634 <systemitem class="username">root</systemitem>) after the session
1635 terminates.
1636 Usually, a script named <command>Xreset</command> is used here.
1637 See <xref linkend="kdmrc-xreset"/>.
1639 Key: Session
1640 Type: string
1641 Default: XBINDIR "/xterm -ls -T"
1642 #Merge: xdm - incompatible!
1643 User: core
1644 # will be overwritten
1645 Instance: #*/""
1646 Update: mk_session
1647 Comment:
1648 The program which is run as the user which logs in. It is supposed to
1649 interpret the session argument (see SessionsDirs) and start an appropriate
1650 session according to it. Subject to word splitting.
1651 Description:
1652 This string is subject to word splitting.
1653 It specifies the session program to be executed (as the user owning
1654 the session).
1655 Usually, a script named <command>Xsession</command> is used here.
1656 See <xref linkend="kdmrc-xsession"/>.
1658 Key: FailsafeClient
1659 Type: string
1660 Default: XBINDIR "/xterm"
1661 User: core
1662 Instance: #*/""
1663 Merge: xdm
1664 Comment:
1665 The program to run if Session fails.
1666 Description:
1667 If the <option>Session</option> program fails to execute, &kdm; will
1668 fall back to this program. This program is executed with no arguments,
1669 but executes using the same environment variables as the session would
1670 have had (see <xref linkend="kdmrc-xsession"/>).
1672 Key: UserPath
1673 Type: string
1674 Default: DEF_USER_PATH
1675 DDefault: -
1676 User: core
1677 Instance: #*/""
1678 Merge: xdm
1679 Comment:
1680 The PATH for the Session program.
1681 Description:
1682 The <envar>PATH</envar> environment variable for
1683 non-<systemitem class="username">root</systemitem> <option>Session</option>s.
1684 </para><para>
1685 The default depends on the system &kdm; was built on.
1687 Key: SystemPath
1688 Type: string
1689 Default: DEF_SYSTEM_PATH
1690 DDefault: -
1691 User: core
1692 Instance: #*/""
1693 Merge: xdm
1694 Comment:
1695 The PATH for Setup, Startup and Reset, etc.
1696 Description:
1697 The <envar>PATH</envar> environment variable for all programs but
1698 non-<systemitem class="username">root</systemitem>
1699 <option>Session</option>s. Note that it is good practice not to include
1700 <literal>.</literal> (the current directory) into this entry.
1701 </para><para>
1702 The default depends on the system &kdm; was built on.
1704 Key: SystemShell
1705 Type: string
1706 Default: "/bin/sh"
1707 User: core
1708 Instance: #*/"/bin/bash"
1709 Merge: xdm
1710 Comment:
1711 The default system shell.
1712 Description:
1713 The <envar>SHELL</envar> environment variable for all programs but the
1714 <option>Session</option>.
1716 Key: UserAuthDir
1717 Type: path
1718 Default: "/tmp"
1719 User: core
1720 Instance: #*/""
1721 Merge: xdm
1722 Comment:
1723 Where to put the user's &X-Server; authorization file if ~/.Xauthority
1724 cannot be created.
1725 Description:
1726 When &kdm; is unable to write to the usual user authorization file
1727 ($<envar>HOME</envar>/.Xauthority), it creates a unique file name in this
1728 directory and points the environment variable <envar>XAUTHORITY</envar>
1729 at the created file.
1731 Key: ForceUserAuthDir
1732 Type: bool
1733 Default: false
1734 User: core
1735 Instance: #*/!
1736 Comment: &
1737 Description:
1738 If true, <option>UserAuthDir</option> will be used unconditionally.
1740 Key: AutoReLogin
1741 Type: bool
1742 Default: false
1743 User: core
1744 Instance: #*/!
1745 Merge: xdm
1746 Comment:
1747 Whether to automatically restart sessions after &X-Server; crashes.
1748 Note that enabling this makes circumventing screen lockers other than
1749 KDE's built-in one possible!
1750 Description:
1751 If enabled, &kdm; will automatically restart a session after an &X-Server;
1752 crash (or if it is killed by Alt-Ctrl-BackSpace). Note that enabling this
1753 feature opens a security hole: a secured display lock can be circumvented
1754 (unless &kde;'s built-in screen locker is used).
1756 Key: AllowRootLogin
1757 Type: bool
1758 Default: true
1759 User: core
1760 User: greeter(showRoot)
1761 Instance: */false
1762 Merge: xdm
1763 Comment:
1764 Allow root logins?
1765 Description:
1766 If disabled, do not allow <systemitem class="username">root</systemitem>
1767 (and any other user with UID = 0) to log in directly.
1769 Key: AllowNullPasswd
1770 Type: bool
1771 Default: true
1772 User: core
1773 # sensible?
1774 Instance: */false
1775 Instance: :*/true
1776 Merge: xdm
1777 Comment:
1778 Allow to log in, when user has set an empty password?
1779 Description:
1780 If disabled, only users that have passwords assigned can log in.
1782 Key: AllowShutdown
1783 Type: enum
1784 None/SHUT_NONE: no <guilabel>Shutdown...</guilabel> menu entry is shown at all
1785 Root/SHUT_ROOT: the <systemitem class="username">root</systemitem> password must be entered to shut down
1786 All/SHUT_ALL: everybody can shut down the machine
1787 Default: All
1788 User: core
1789 User: greeter
1790 Instance: */Root
1791 Instance: :*/All
1792 Merge: kdm:-Greeter/
1793 Comment: &
1794 Description:
1795 Who is allowed to shut down the system. This applies both to the
1796 greeter and to the command sockets.
1798 Key: AllowSdForceNow
1799 Type: enum
1800 None: no forced shutdown is allowed at all
1801 Root: the <systemitem class="username">root</systemitem> password must be entered to shut down forcibly
1802 All: everybody can shut down the machine forcibly
1803 Default: All
1804 User: core(allowNuke)
1805 User: greeter(allowNuke)
1806 Instance: #*/Root
1807 Comment: &
1808 Description:
1809 Who is allowed to abort active sessions when shutting down.
1811 Key: DefaultSdMode
1812 Type: enum
1813 Schedule: shut down after all active sessions exit (possibly at once)
1814 TryNow: shut down, if no active sessions are open; otherwise, do nothing
1815 ForceNow: shut down unconditionally
1816 Default: Schedule
1817 User: core(defSdMode)
1818 User: greeter(defSdMode)
1819 Instance: #*/ForceNow
1820 Comment: &
1821 Description:
1822 The default choice for the shutdown condition/timing.
1824 Key: ScheduledSd
1825 Type: enum
1826 Never/SHUT_NEVER: not at all
1827 Optional/SHUT_OPTION: as a button in the simple shutdown dialogs
1828 Always/SHUT_ALWAYS: instead of the simple shutdown dialogs
1829 Default: Never
1830 User: greeter
1831 Instance: #*/Optional
1832 Comment: &
1833 Description:
1834 How to offer shutdown scheduling options:
1836 Key: NoPassEnable
1837 Type: bool
1838 Default: false
1839 User: dep
1840 Instance: #:*/true
1841 Comment: &
1842 Description:
1843 Enable password-less logins on this display. <emphasis>Use with extreme care!</emphasis>
1845 Key: NoPassUsers
1846 Type: list
1847 Default: ""
1848 PostProc: PnoPassUsers
1849 User: core
1850 Instance: #:*/"fred,ethel"
1851 Merge: xdm(P_noPassUsers)
1852 Comment:
1853 The users that do not need to provide a password to log in. NEVER list root!
1854 "*" means all non-root users. @<group> means all users in that group.
1855 Description:
1856 The users that do not need to provide a password to log in.
1857 Items which are prefixed with <literal>@</literal> represent all users in the
1858 user group named by that item.
1859 <literal>*</literal> means all users but
1860 <systemitem class="username">root</systemitem>
1861 (and any other user with UID = 0).
1862 <emphasis>Never</emphasis> list <systemitem class="username">root</systemitem>.
1864 Key: AutoLoginEnable
1865 Type: bool
1866 Default: false
1867 User: dep
1868 Instance: #:0/true
1869 Comment: &
1870 Description:
1871 Enable automatic login. <emphasis>Use with extreme care!</emphasis>
1873 Key: AutoLoginAgain
1874 Type: bool
1875 Default: false
1876 User: core(autoAgain)
1877 User: greeter
1878 Instance: #:0/true
1879 Comment: &
1880 Description:
1881 If true, auto-login after logout. If false, auto-login is performed only
1882 when a display session starts up.
1884 Key: AutoLoginDelay
1885 Type: int
1886 Default: 0
1887 User: core(autoDelay)
1888 User: greeter
1889 Instance: #:0/10
1890 Comment:
1891 The delay in seconds before automatic login kicks in.
1892 Description:
1893 The delay in seconds before automatic login kicks in. This is also known as
1894 <quote>Timed Login</quote>.
1896 Key: AutoLoginUser
1897 Type: string
1898 Default: ""
1899 PostProc: PautoLoginX
1900 User: core(autoUser)
1901 User: greeter
1902 Instance: #:0/"fred"
1903 Merge: xdm:autoUser(P_autoUser)
1904 Comment: &
1905 Description:
1906 The user to log in automatically. <emphasis>Never</emphasis> specify <systemitem class="username">root</systemitem>!
1908 Key: AutoLoginPass
1909 Type: string
1910 Default: ""
1911 PostProc: PautoLoginX
1912 User: core(autoPass)
1913 Instance: #:0/"secret!"
1914 Merge: xdm:autoPass(P_autoPass)
1915 Comment: &
1916 Description:
1917 The password for the user to log in automatically. This is <emphasis>not</emphasis> required
1918 unless the user is logged into a <acronym>NIS</acronym> or Kerberos domain. If you use this
1919 option, you should <command>chmod&nbsp;<option>600</option>&nbsp;<filename>kdmrc</filename></command> for obvious reasons.
1921 Key: AutoLoginLocked
1922 Type: bool
1923 Default: false
1924 User: core(autoLock)
1925 Instance: #:0/!
1926 Comment: &
1927 Description:
1928 Immediately lock the automatically started session. This works only with
1929 KDE sessions.
1931 Key: SessionsDirs
1932 Type: list
1933 Default: *KDMDATA "/sessions"
1934 User: core
1935 User: greeter-c
1936 Instance: */KDMCONF "/sessions," KDMDATA "/sessions"
1937 Update: upd_sessionsdirs
1938 Comment:
1939 The directories containing session type definitions in .desktop format,
1940 ordered by falling priority.
1941 Description:
1942 A list of directories containing session type definitions.
1943 Ordered by falling priority.
1944 # See <xref linkend="kdmrc-sessions"> for details.
1946 Key: ClientLogFile
1947 Type: string
1948 Default: ".xsession-errors"
1949 User: core
1950 Instance: */".xsession-errors-%d"
1951 Instance: :0/".xsession-errors"
1952 Update: upd_userlogfile
1953 Comment:
1954 The file (relative to $HOME) to redirect the session output to. The
1955 following character pairs are replaced:
1956 - %d -> current display
1957 - %u -> current user
1958 - %r -> empty at first. See below.
1959 - %% -> a single %
1960 When the constructed filename cannot be used safely and the specification
1961 contains %<stuff>r, other names will be tried - this time expanding %<stuff>r
1962 to <stuff> followed by a random number.
1963 Description:
1964 The file (relative to the user's home directory) to redirect the session
1965 output to.
1966 </para><para>
1967 The following character pairs are replaced by their value:
1968 <variablelist>
1969 <varlistentry>
1970 <term><parameter>%d</parameter></term>
1971 <listitem><para>name of the current display</para></listitem>
1972 </varlistentry>
1973 <varlistentry>
1974 <term><parameter>%u</parameter></term>
1975 <listitem><para>login name of the current user</para></listitem>
1976 </varlistentry>
1977 <varlistentry>
1978 <term><parameter>%r</parameter></term>
1979 <listitem><para>empty at first. See below.</para></listitem>
1980 </varlistentry>
1981 <varlistentry>
1982 <term><parameter>%%</parameter></term>
1983 <listitem><para>a single <literal>%</literal></para></listitem>
1984 </varlistentry>
1985 </variablelist>
1986 When the constructed filename cannot be used safely and the specification
1987 contains
1988 <literal>%</literal><replaceable>stuff</replaceable><literal>r</literal>,
1989 other names will be tried - this time expanding
1990 <literal>%</literal><replaceable>stuff</replaceable><literal>r</literal>
1991 to <replaceable>stuff</replaceable> followed by a random number.
1993 Key: ClientLogFallback
1994 Type: string
1995 Default: "/tmp/xerr-%u-%d%-r"
1996 User: core
1997 Instance: #*/"/var/log/xsession-errors/%u-%d%-r"
1998 Comment: &
1999 Description:
2000 Fallback when <option>ClientLogFile</option> cannot be used. The same expansions are
2001 supported. <emphasis>Do not</emphasis> use relative paths here.
2003 Key: UseSessReg
2004 Type: bool
2005 Default: true
2006 User: core
2007 Instance: #*/!
2008 Comment:
2009 Whether &kdm;'s built-in utmp/wtmp/lastlog registration should be used.
2010 Description:
2011 Specify whether &kdm;'s built-in utmp/wtmp/lastlog registration should
2012 be used. If it is not, the tool <command>sessreg</command> should be used
2013 in the <option>Startup</option> and <option>Reset</option> scripts, or,
2014 alternatively, the pam_lastlog module should be used on
2015 <acronym>PAM</acronym>-enabled systems.
2018 Section: -Greeter
2019 Description:
2020 This section class contains options concerning the configuration
2021 of the &kdm; frontend (greeter).
2023 Key: GUIStyle
2024 Type: string
2025 Default: ""
2026 User: greeter
2027 Instance: #*/"Plastique"
2028 Update: upd_guistyle
2029 Comment: &
2030 Description:
2031 Specify the widget style for the greeter. Empty means to use the
2032 built-in default which currently is <literal>Oxygen</literal>.
2034 Key: ColorScheme
2035 Type: string
2036 Default: ""
2037 User: greeter
2038 Instance: #*/"MidnightMeadow"
2039 Comment: &
2040 Description:
2041 Specify the widget color scheme for the greeter. Empty means to use the
2042 built-in default which currently is <literal>Oxygen</literal>.
2044 Key: LogoArea
2045 Type: enum
2046 None/LOGO_NONE: nothing
2047 Logo/LOGO_LOGO: the image specified by <option>LogoPixmap</option>
2048 Clock/LOGO_CLOCK: a neat analog clock
2049 Default: Clock
2050 User: greeter
2051 Instance: */Logo
2052 Comment:
2053 What should be shown in the greeter's logo are:
2054 Description:
2055 What should be shown in the greeter righthand of the input lines (if
2056 <option>UserList</option> is disabled) or above them (if
2057 <option>UserList</option> is enabled):
2059 Key: LogoPixmap
2060 Type: string
2061 Default: ""
2062 User: greeter(logo)
2063 Instance: */KDMDATA "/pics/kdelogo.png"
2064 Comment:
2065 The image to show when LogoArea=Logo.
2066 Description:
2067 The image to show in the greeter if <option>LogoArea</option> is
2068 <literal>Logo</literal>.
2070 Key: GreeterPos
2071 Type: string
2072 Default: "50,50"
2073 User: greeter-c
2074 Instance: #*/"30,40"
2075 Comment:
2076 The relative coordinates (X,Y in percent) of the center of the greeter.
2077 Description:
2078 The relative coordinates (percentages of the screen size; X,Y) at which
2079 the center of the greeter is put. &kdm; aligns the greeter to the edges
2080 of the screen it would cross otherwise.
2082 Key: GreeterScreen
2083 Type: int
2084 Default: 0
2085 User: greeter
2086 Instance: #*/-1
2087 Comment: &
2088 Description:
2089 The screen the greeter should be displayed on in multi-headed and Xinerama
2090 setups. The numbering starts with 0. For Xinerama, it corresponds to the
2091 listing order in the active ServerLayout section of XF86Config; -1 means
2092 to use the upper-left screen, -2 means to use the upper-right screen.
2094 Key: GreetString
2095 Type: string
2096 Default: "Welcome to %s at %n"
2097 User: greeter
2098 Instance: #*/"K Desktop Environment (%n)"
2099 Comment:
2100 The headline in the greeter. The following character pairs are replaced:
2101 - %d -> current display
2102 - %h -> host name, possibly with domain name
2103 - %n -> node name, most probably the host name without domain name
2104 - %s -> the operating system
2105 - %r -> the operating system's version
2106 - %m -> the machine (hardware) type
2107 - %% -> a single %
2108 Description:
2109 The headline in the greeter. An empty greeting means none at all.
2110 </para><para>
2111 The following character pairs are replaced by their value:
2112 <variablelist>
2113 <varlistentry>
2114 <term><parameter>%d</parameter></term>
2115 <listitem><para>name of the current display</para></listitem>
2116 </varlistentry>
2117 <varlistentry>
2118 <term><parameter>%h</parameter></term>
2119 <listitem><para>local host name, possibly with the
2120 domain name</para></listitem>
2121 </varlistentry>
2122 <varlistentry>
2123 <term><parameter>%n</parameter></term>
2124 <listitem><para>local node name, most probably the host name without the
2125 domain name</para></listitem>
2126 </varlistentry>
2127 <varlistentry>
2128 <term><parameter>%s</parameter></term>
2129 <listitem><para>operating system</para></listitem>
2130 </varlistentry>
2131 <varlistentry>
2132 <term><parameter>%r</parameter></term>
2133 <listitem><para>operating system version</para></listitem>
2134 </varlistentry>
2135 <varlistentry>
2136 <term><parameter>%m</parameter></term>
2137 <listitem><para>machine (hardware) type</para></listitem>
2138 </varlistentry>
2139 <varlistentry>
2140 <term><parameter>%%</parameter></term>
2141 <listitem><para>a single <literal>%</literal></para></listitem>
2142 </varlistentry>
2143 </variablelist>
2145 # This needs to come _in front_ of the font settings to be effective!
2146 Key: AntiAliasing
2147 Type: bool
2148 Default: false
2149 User: greeter
2150 Instance: #*/!
2151 Comment: &
2152 Description:
2153 Whether the fonts used in the greeter should be antialiased.
2155 Key: GreetFont
2156 Type: string
2157 Default: "Serif,20,5,0,50,0"
2158 CDefault: "Serif,20,bold"
2159 User: greeter:font
2160 Instance: #*/"Serif,20,5,0,50,0"
2161 Comment: &
2162 Description:
2163 The font for the greeter headline.
2165 Key: StdFont
2166 Type: string
2167 Default: "Sans Serif,10,5,0,50,0"
2168 CDefault: "Sans Serif,10"
2169 User: greeter(normalFont):font
2170 Instance: #*/"Sans Serif,10,5,0,50,0"
2171 Comment: &
2172 Description:
2173 The normal font used in the greeter.
2175 Key: FailFont
2176 Type: string
2177 Default: "Sans Serif,10,5,0,75,0"
2178 CDefault: "Sans Serif,10,bold"
2179 User: greeter:font
2180 Instance: #*/"Sans Serif,10,5,0,75,0"
2181 Comment: &
2182 Description:
2183 The font used for the <quote>Login Failed</quote> message.
2185 Key: NumLock
2186 Type: enum
2187 Off: turn off
2188 On: turn on
2189 Keep: do not change the state
2190 Default: Keep
2191 User: greeter(numLockStatus)
2192 Instance: #*/Off
2193 Comment: &
2194 Description:
2195 What to do with the Num Lock modifier for the time the greeter is running:
2197 Key: Language
2198 Type: string
2199 Default: ""
2200 User: greeter-c
2201 Instance: #*/"de_DE"
2202 Update: upd_language
2203 Comment: &
2204 Description:
2205 Language and locale to use in the greeter, encoded like $<envar>LANGUAGE</envar>.
2206 If empty, the settings from the environment are used.
2208 Key: UserCompletion
2209 Type: bool
2210 Default: false
2211 User: greeter
2212 Instance: #*/!
2213 Comment: &
2214 Description:
2215 Enable autocompletion in the username line edit.
2217 Key: UserList
2218 Type: bool
2219 Default: true
2220 User: greeter
2221 Instance: #*/!
2222 Comment:
2223 Enable user list (names along with images) in the greeter.
2224 Description:
2225 Show a user list with unix login names, real names, and images in the greeter.
2227 Key: ShowUsers
2228 Type: enum
2229 NotHidden/SHOW_ALL: all users except those listed in HiddenUsers
2230 Selected/SHOW_SEL: only the users listed in SelectedUsers
2231 Default: NotHidden
2232 User: greeter
2233 Instance: #*/Selected
2234 Update: upd_showusers
2235 Comment:
2236 User selection for UserCompletion and UserList:
2237 Description: !
2238 This option controls which users will be shown in the user view
2239 (<option>UserList</option>) and/or offered for autocompletion
2240 (<option>UserCompletion</option>).
2241 If it is <literal>Selected</literal>, <option>SelectedUsers</option> contains
2242 the final list of users.
2243 If it is <literal>NotHidden</literal>, the initial user list contains all
2244 users found on the system. Users contained in <option>HiddenUsers</option> are
2245 removed from the list, just like all users with a UID greater than specified
2246 in <option>MaxShowUID</option> and users with a non-zero UID less than
2247 specified in <option>MinShowUID</option>.
2248 Items in <option>SelectedUsers</option> and <option>HiddenUsers</option>
2249 which are prefixed with <literal>@</literal> represent all users in the
2250 user group named by that item.
2251 Finally, the user list will be sorted alphabetically, if
2252 <option>SortUsers</option> is enabled.
2254 Key: SelectedUsers
2255 Type: list
2256 Default: ""
2257 User: greeter-c(users)
2258 Instance: #*/"root,johndoe"
2259 Merge: kdm:Users
2260 Comment:
2261 For ShowUsers=Selected. @<group> means all users in that group.
2262 Description:
2263 See <option>ShowUsers</option>.
2265 Key: HiddenUsers
2266 Type: list
2267 Default: ""
2268 User: greeter-c(noUsers)
2269 Instance: #*/"root"
2270 # depends on {Min,Max}ShowUID
2271 Update: upd_hiddenusers/1
2272 Merge: kdm:NoUsers
2273 Comment:
2274 For ShowUsers=NotHidden. @<group> means all users in that group.
2275 Description:
2276 See <option>ShowUsers</option>.
2278 Key: MinShowUID
2279 Type: int
2280 Default: 0
2281 User: greeter(lowUserId)
2282 # will be overwritten
2283 Instance: #*/
2284 Update: upd_minshowuid
2285 Comment:
2286 Special case of HiddenUsers: users with a non-zero UID less than this number
2287 will not be shown as well.
2288 Description:
2289 See <option>ShowUsers</option>.
2291 Key: MaxShowUID
2292 Type: int
2293 Default: 65535
2294 User: greeter(highUserId)
2295 # will be overwritten
2296 Instance: #*/
2297 Update: upd_maxshowuid
2298 Comment:
2299 Complement to MinShowUID: users with a UID greater than this number will
2300 not be shown as well.
2301 Description:
2302 See <option>ShowUsers</option>.
2304 Key: SortUsers
2305 Type: bool
2306 Default: true
2307 User: greeter
2308 Instance: #*/!
2309 Comment:
2310 If false, the users are listed in the order they appear in /etc/passwd.
2311 If true, they are sorted alphabetically.
2312 Description:
2313 See <option>ShowUsers</option>.
2315 Key: FaceSource
2316 Type: enum
2317 AdminOnly/FACE_ADMIN_ONLY: from <filename>&lt;<option>FaceDir</option>&gt;/$<envar>USER</envar>.face[.icon]</filename>
2318 PreferAdmin/FACE_PREFER_ADMIN: prefer &lt;<option>FaceDir</option>&gt;, fallback on $<envar>HOME</envar>
2319 PreferUser/FACE_PREFER_USER: ... and the other way round
2320 UserOnly/FACE_USER_ONLY: from the user's <filename>$<envar>HOME</envar>/.face[.icon]</filename>
2321 Default: AdminOnly
2322 User: greeter
2323 Instance: #*/PreferUser
2324 Comment:
2325 Specify, where the users' pictures should be taken from.
2326 Description:
2327 If <option>UserList</option> is enabled, this specifies where &kdm; gets the
2328 images from:
2329 </para>
2330 %ENUM%
2331 <para>
2332 The images can be in any format Qt recognizes, but the filename
2333 must match &kdm;'s expectations: <literal>.face.icon</literal> should be a
2334 48x48 icon, while <literal>.face</literal> should be a 300x300 image.
2335 Currently the big image is used only as a fallback and is scaled down,
2336 but in the future it might be displayed full-size in the logo area or a
2337 tooltip.
2339 Key: FaceDir
2340 Type: string
2341 Default: *KDMDATA "/faces"
2342 User: greeter
2343 Instance: #*/"/usr/share/faces"
2344 Update: upd_facedir
2345 Comment:
2346 The directory containing the user images if FaceSource is not UserOnly.
2347 Description:
2348 See <option>FaceSource</option>.
2350 Key: PreselectUser
2351 Type: enum
2352 None/PRESEL_NONE: do not preselect any user
2353 Previous/PRESEL_PREV: the user which successfully logged in last time
2354 Default/PRESEL_DEFAULT: the user specified in the <option>DefaultUser</option> option
2355 Default: None
2356 User: greeter(preselUser)
2357 Instance: #*/Previous
2358 Instance: :*/Previous
2359 Instance: #:0/Default
2360 Comment:
2361 Specify, if/which user should be preselected for log in.
2362 Description:
2363 Specify, if/which user should be preselected for log in:
2364 </para>
2365 %ENUM%
2366 <para>
2367 If <option>FocusPasswd</option> is enabled and a user was preselected,
2368 the cursor is placed in the password input field automatically.
2369 </para>
2370 <note><para>Enabling user preselection can be considered a security hole,
2371 as it presents a valid login name to a potential attacker, so he
2372 <quote>only</quote> needs to guess the password. On the other hand,
2373 one could set <option>DefaultUser</option> to a fake login name.</para></note>
2374 <para>
2376 Key: DefaultUser
2377 Type: string
2378 Default: ""
2379 User: greeter
2380 Instance: #:0/"johndoe"
2381 Comment:
2382 The user to preselect if PreselectUser=Default.
2383 Description:
2384 See <option>PreselectUser</option>.
2386 Key: FocusPasswd
2387 Type: bool
2388 Default: false
2389 User: greeter
2390 Instance: #*/!
2391 Instance: :*/true
2392 Comment:
2393 If this is true, the password input line is focused automatically if
2394 a user is preselected.
2395 Description:
2396 See <option>PreselectUser</option>.
2398 Key: EchoPasswd
2399 Type: bool
2400 Default: true
2401 User: greeter
2402 Instance: #*/!
2403 Merge: kdm:EchoMode(P_EchoMode)
2404 Comment: &
2405 Description:
2406 If this is true, the entered password is echoed as bullets. Otherwise,
2407 no feedback is given at all.
2409 Key: UseBackground
2410 Type: bool
2411 Default: true
2412 User: greeter
2413 Instance: #*/!
2414 Comment:
2415 If true, krootimage will be automatically started by &kdm;; otherwise, the
2416 Setup script should be used to setup the background.
2417 Description:
2418 If enabled, &kdm; will automatically start the <command>krootimage</command>
2419 program to set up the background; otherwise, the <option>Setup</option>
2420 program is responsible for the background.
2422 Key: BackgroundCfg
2423 Type: string
2424 Default: *KDMCONF "/backgroundrc"
2425 User: greeter-c
2426 Instance: #*/""
2427 Update: handleBgCfg
2428 Comment:
2429 The configuration file to be used by krootimage.
2430 Description:
2431 The configuration file to be used by <command>krootimage</command>.
2432 It contains a section named <literal>[Desktop0]</literal> like
2433 <filename>kdesktoprc</filename> does. Its options are not described
2434 herein; guess their meanings or use the control center.
2436 Key: GrabServer
2437 Type: bool
2438 Default: false
2439 User: greeter-c
2440 Instance: #*/!
2441 Comment:
2442 Hold the &X-Server; grabbed the whole time the greeter is visible. This
2443 may be more secure, but it will disable any background and other
2444 X-clients started from the Setup script.
2445 Description:
2446 To improve security, the greeter grabs the &X-Server; and then the keyboard
2447 when it starts up. This option specifies if the &X-Server; grab should be held
2448 for the duration of the name/password reading. When disabled, the &X-Server;
2449 is ungrabbed after the keyboard grab succeeds; otherwise, the &X-Server; is
2450 grabbed until just before the session begins.
2451 </para>
2452 <note><para>Enabling this option disables <option>UseBackground</option> and
2453 <option>Setup</option>.</para></note>
2454 <para>
2456 Key: GrabTimeout
2457 Type: int
2458 Default: 3
2459 User: greeter
2460 Instance: #*/
2461 Comment:
2462 How many seconds to wait for grab to succeed.
2463 Description:
2464 This option specifies the maximum time &kdm; will wait for the grabs to
2465 succeed. A grab may fail if some other X-client has the &X-Server; or the
2466 keyboard grabbed, or possibly if the network latencies are very high. You
2467 should be cautious when raising the timeout, as a user can be spoofed by
2468 a look-alike window on the display. If a grab fails, &kdm; kills and
2469 restarts the &X-Server; (if possible) and the session.
2471 Key: AuthComplain
2472 Type: bool
2473 Default: true
2474 User: greeter
2475 Instance: #*/!
2476 Merge: xdm
2477 Comment:
2478 Warn, if display has no X-authorization (local auth cannot be created,
2479 &XDMCP; display wants no auth, or display is foreign from StaticServers).
2480 Description:
2481 Warn, if a display has no X-authorization. This will be the case if
2482 <itemizedlist>
2483 <listitem><para>
2484 the authorization file for a local &X-Server; could not be created,
2485 </para></listitem>
2486 <listitem><para>
2487 a remote display from &XDMCP; did not request any authorization or
2488 </para></listitem>
2489 <listitem><para>
2490 the display is a <quote>foreign</quote> display specified in
2491 <option>StaticServers</option>.
2492 </para></listitem>
2493 </itemizedlist>
2495 Key: LoginMode
2496 If: defined(XDMCP)
2497 Type: enum
2498 LocalOnly/LOGIN_LOCAL_ONLY: only local login possible
2499 DefaultLocal/LOGIN_DEFAULT_LOCAL: start up in local mode, but allow switching to remote mode
2500 DefaultRemote/LOGIN_DEFAULT_REMOTE: ... and the other way round
2501 RemoteOnly/LOGIN_REMOTE_ONLY: only choice of remote host possible
2502 Default: LocalOnly
2503 User: core
2504 User: greeter
2505 Instance: :*/DefaultLocal
2506 # from make_it_cool branch and SuSE 8.1
2507 Merge: kdm:EnableChooser(P_EnableChooser)
2508 Comment: &
2509 Description:
2510 Specify whether the greeter of local displays should start up in host chooser
2511 (remote) or login (local) mode and whether it is allowed to switch to the
2512 other mode.
2514 Key: ChooserHosts
2515 If: defined(XDMCP)
2516 Type: list
2517 Default: "*"
2518 User: core
2519 Instance: #:*/"*,ugly,sky,dino,kiste.local,login.crap.com"
2520 Comment:
2521 A list of hosts to be automatically added to the remote login menu. The
2522 special name "*" means broadcast.
2523 Description:
2524 A list of hosts to be automatically added to the remote login menu.
2525 The special name <literal>*</literal> means broadcast.
2526 Has no effect if <option>LoginMode</option> is <literal>LocalOnly</literal>.
2528 Key: ForgingSeed
2529 Type: int
2530 Default: 0
2531 User: greeter
2532 Instance: #*/
2533 Update: upd_forgingseed
2534 Comment:
2535 Random seed for forging saved session types, etc. of unknown users.
2536 This value should be random but constant across the login domain.
2537 Description:
2538 Use this number as a random seed when forging saved session types, etc. of
2539 unknown users. This is used to avoid telling an attacker about existing users
2540 by reverse conclusion. This value should be random but constant across the
2541 login domain.
2543 Key: ShowLog
2544 If: defined(WITH_KDM_XCONSOLE)
2545 Type: bool
2546 Default: false
2547 User: greeter
2548 Instance: :0/true
2549 Comment:
2550 Enable &kdm;'s built-in xconsole. Note that this can be enabled for only
2551 one display at a time.
2552 Description:
2553 Enable &kdm;'s built-in <command>xconsole</command>.
2554 Note that this can be enabled for only one display at a time.
2555 This option is available only if &kdm; was <command>configure</command>d
2556 with <option>--enable-kdm-xconsole</option>.
2558 Key: LogSource
2559 If: defined(WITH_KDM_XCONSOLE)
2560 Type: string
2561 Default: ""
2562 User: greeter-c
2563 Instance: :0/"/dev/xconsole"
2564 Comment:
2565 The data source for &kdm;'s built-in xconsole.
2566 If empty, a console log redirection is requested from /dev/console.
2567 Description:
2568 The data source for &kdm;'s built-in <command>xconsole</command>.
2569 If empty, a console log redirection is requested from
2570 <filename>/dev/console</filename>.
2571 Has no effect if <option>ShowLog</option> is disabled.
2573 Key: PluginsLogin
2574 Type: list
2575 Default: "classic"
2576 User: greeter
2577 Instance: #*/"sign"
2578 Comment:
2579 Specify conversation plugins for the login dialog. Each plugin can be
2580 specified as a base name (which expands to $kde_modulesdir/kgreet_$base)
2581 or as a full pathname.
2582 Description:
2583 Specify conversation plugins for the login dialog; the first in the list
2584 is selected initially.
2585 Each plugin can be specified as a base name (which expands to
2586 <filename>$<envar>kde_modulesdir</envar>/kgreet_<replaceable>base</replaceable></filename>)
2587 or as a full pathname.
2588 </para><para>
2589 Conversation plugins are modules for the greeter which obtain authentication
2590 data from the user. Currently only the <literal>classic</literal> plugin is
2591 shipped with &kde;; it presents the well-known username and password form.
2593 Key: PluginsShutdown
2594 Type: list
2595 Default: "classic"
2596 User: greeter
2597 Instance: #*/"modern"
2598 Comment: &
2599 Description:
2600 Same as <option>PluginsLogin</option>, but for the shutdown dialog.
2602 Key: PluginOptions
2603 Type: list
2604 Default: ""
2605 User: greeter
2606 Instance: #*/"SomeKey=randomvalue,Foo=bar"
2607 Comment:
2608 A list of options of the form Key=Value. The conversation plugins can query
2609 these settings; it is up to them what possible keys are.
2610 Description:
2611 A list of options of the form
2612 <replaceable>Key</replaceable><literal>=</literal><replaceable>Value</replaceable>.
2613 The conversation plugins can query these settings; it is up to them what
2614 possible keys are.
2616 Key: AllowConsole
2617 Type: bool
2618 Default: true
2619 User: greeter(hasConsole)
2620 Instance: #*/!
2621 Comment: &
2622 Description:
2623 Show the <guilabel>Console Login</guilabel> action in the greeter (if <option>ServerTTY</option>/<option>ConsoleTTYs</option>
2624 is configured).
2626 Key: AllowClose
2627 Type: bool
2628 Default: true
2629 User: greeter
2630 Instance: :*/false
2631 Comment: &
2632 Description:
2633 Show the <guilabel>Restart X Server</guilabel>/<guilabel>Close Connection</guilabel> action in the greeter.
2635 Key: Preloader
2636 Type: string
2637 Default: ""
2638 User: greeter-c
2639 Instance: */KDE_BINDIR "/preloadkde"
2640 Update: upd_preloader
2641 Comment: &
2642 Description:
2643 A program to run while the greeter is visible. It is supposed to preload
2644 as much as possible of the session that is going to be started (most
2645 probably).
2647 Key: UseTheme
2648 Type: bool
2649 Default: false
2650 User: greeter
2651 Instance: */true
2652 Comment: &
2653 Description:
2654 Whether the greeter should be themed.
2656 Key: Theme
2657 Type: string
2658 Default: ""
2659 User: greeter
2660 Instance: */KDMDATA "/themes/oxygen"
2661 Comment: &
2662 Description:
2663 The theme to use for the greeter. Can point to either a directory or an XML
2664 file.