&kdmrc;

5 6 March 2003 man5 release Copyright KDE

&kdmrc;

The &kdm; Configuration File

## &kdmrc; General Comments

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

The format for all keys are ```key``=`value``. Key names are case sensitive. Sections are denoted by `[`Name of Section`]`. Lines beginning with `#` are comments.

You can configure every X-display individually.

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

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

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

From which section a setting is actually taken is determined by these rules:

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

Precedence decreases from left to right for equally exact matches

## Example: display name "myhost:0", class "dpy"

- [X-myhost:0_dpy] precedes

- [X-myhost:0_*] (same as [X-myhost:0]) precedes

- [X-myhost:*_dpy] precedes

- [X-myhost:*_*] (same as [X-myhost]) precedes

- [X-*:0_dpy] precedes

- [X-*:0_*] (same as [X-*:0]) precedes

- [X-*:*_*] (same as [X-*])

These sections do NOT match this display:

[X-hishost], [X-myhost:0_dec], [X-*:1], [X-:*]

If a setting is not found in any matching section, the default is used.

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

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

## General

The `[General]` section contains most of the global options, and will apply to every instance of &kdm; and every display.

`Xservers`

- If the value starts with a slash (`/`, this key specifies the file where X-Servers to be used by &kdm; are listed. The file is in the usual &xdm; Xservers format. If the value does not start with a slash, this key is interpreted as if it were a singleline of the Xservers file, &ie; it specifies exactly one X-server.

  The default value is `:0 local /usr/X11R6/bin/X`

  During installation, &kdm; will try to fill in the path to an existing `Xservers` file if it can find one.

`PidFile`

- Where &kdm; should store it's PID. The default is to leave this key empty, which means don't store. You might want to set instead a full path, for example `/var/run/xdm.pid` so that you can check with a script if &kdm; is running or not.

`LockPidFile`

- Whether &kdm; should lock the PID file to prevent having multiple &kdm; instances running at once. Leave it to true, unless you are brave. This will have no effect unless you set the `PidFile` first.

`AuthDir`

- Where to store authorisation files. The default is `/var/run/xauth`.

`AutoRescan`

- Whether &kdm; should automatically re-read configuration files, if it finds they have changed. The default is true, and you should probably not need to change it.

`ExportList`

- Additional environment variables &kdm; should pass to `kdm_config`, `kdm_greet`, `Xsetup`, `Xstartup`, `Xsession` and `Xreset`.

  A good candidate is `LD_LIBRARY_PATH`. The format is:

      ExportList=SOME_VAR,ANOTHER_IMPORTANT_VAR

`RandomFile`

- Where &kdm; should fetch entropy from. The default is `/dev/mem`. You should not need to change this.

`FifoDir`

- Where the command FiFos should be created. Make it empty to disable the FiFos. The default is `/var/run/xdmctl`

`FifoGroup`

- To which group the command FiFos should belong. The default is `-1`, effectively `root`.

`ConfigVersion`

- This option exists solely for the purpose of clean automatic upgrades. Do not change it, you may interfere with future upgrades and this could result in &kdm; failing to run.

## Xdmcp

This section configures remote logins via the &XDMCP;.

## Keys for the [Xdmcp] Section of &kdmrc;

`Enable`

- Whether &kdm; should listen to &XDMCP; requests. The default is `true`

`Port`

- The UDP port &kdm; should listen on for &XDMCP; requests. The default is `177` and this should not be changed.

`KeyFile`

- File with the private keys of X-terminals. Required for &xdm; authentication. The default is to leave this key empty.

`Xaccess`

- &XDMCP; access control file, in the usual &xdm; `Xaccess` format.

  The default is a file named Xaccess in the same folder as &kdmrc;. You could put the path to your working &xdm; `Xaccess` file here.

`ChoiceTimeout`

- Number of seconds to wait for display to respond after the user has selected a host from the chooser. The default value is `15`

`RemoveDomainname`

- Strip the domain name from the remote display names, if it is equal to the local domain. The default is `true`.

`SourceAddress`

- Use the numeric IP address of the incoming connection instead of the host name. Use this on multihomed hosts. The default is `false`.

`Willing`

- The program which is invoked to dynamically generate replies to &XDMCP; Broadcast query requests.

  By default, no program is invoked, and Willing to manage is sent in reply.

  You could put a path here to an existing `Xwilling` if you have already configured one.

## Shutdown

## Keys for the [Shutdown] Section of &kdmrc;

`HaltCmd`

- The command to run to halt the system. The default is `/sbin/shutdown` `-h` `now`

`RebootCmd`

- The command to run to reboot the system. The default is `/sbin/shutdown` `-r` `now`

`AllowFifo`

- Whether one can shut down the system via the global command FiFo

  The default is `False`.

`AllowFifoNow`

- Whether one can abort still running sessions when shutting down the system via the global command FiFo.

  The default is `true`.

  This will have no effect unless you previously set the key `AllowFifo`.

## X-*-Core

Core configuration for all displays. Times are specified in seconds unless noted otherwise.

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

Opening a connection to the &X-Server; (OpenTime)

- `OpenRepeat` * (`OpenTimeout` + `OpenDelay`)

Starting a local &X-Server; (ServerTime)

- `ServerAttempts` * `ServerTimeout`

Starting a local display

- `StartAttempts` * (ServerTime + OpenTime)

Starting a remote display

- `StartAttempts` * OpenTime

## Keys for the [X-*-Core] Section of &kdmrc;

`OpenDelay`

- How long to wait after various errors before retrying to start the display. The default is `15`.

`OpenTimeout`

- How long to wait before timing out XOpenDisplay. The default is `120`.

`OpenRepeat`

- How often to try the XOpenDisplay. The default is 5.

`StartAttempts`

- Try at most this many times to start a display. If this fails, the display is disabled. The default is `4`.

`StartInterval`

- The `StartAttempt` counter is reset after this many seconds. The default is `30`.

`PingInterval`

- Ping the remote display every this many minutes. The default is `5`

`PingTimeout`

- Wait this long for a reply to a ping. The default is `5`.

`TerminateServer`

- Restart instead of resetting the local &X-Server; after session exit. Use this if you find that the server is leaking memory or otherwise not releasing resources. The default is `False`.

`ResetSignal`

- The signal needed to reset the local &X-Server;. The default is `1` which is `SIGHUP`.

`TermSignal`

- The signal needed to terminate the local &X-Server;. The default is `15` which is `SIGTERM`.

`ResetForAuth`

- Set if necessary to reset the &X-Server; to make it read the initial `Xauth` file.

  The default is false

`Authorise`

- Create X-authorisations for local displays. The default is true.

`AuthName`

- Which X-authorisation mechanisms should be used.

  The default is `XDM-AUTHORIZATION-1,MIT-MAGIC-COOKIE-1` and you should be very careful changing this unless you are sure you know what you are doing.

`AuthFile`

- The name of this &X-Server;'s `Xauth` file. The default is to leave this key empty, which means that a random name in the `AuthDir` will be used.

`Resources`

- Specify a file with X-resources for the greeter, chooser, and background. The &kde; frontend doesn't take any notice of this, so you don't need it unless you use an alternative chooser, or another background generator than `kdmdesktop`

`Xrdb`

- The `xrdb` program to use to read the above specified resources. The default is `/usr/X11R6/bin/xrdb`.

`Setup`

- A program to run before the greeter is shown. You should start `kdmdesktop` there. Also, `xconsole` can be started by this script. The default is to leave this key empty.

`Startup`

- A program to run before a user session starts. You should invoke `sessreg` there, and optionally change the ownership of the console &etc;.

`Reset`

- A program to run after a user session exits. You should invoke sessreg there and optionally change the ownership of the console, &etc;.

`Session`

- The program which is run as the user which logs in. It is supposed to interpret the session argument (see `SessionTypes`) and start an appropriate session according to it.

  The default is ``/usr/X11R6/bin/xterm` `-ls` `-T``, but if &kdm; can locate an already configured Xsession file during installation, the path to this will be filled in instead.

`FailsafeClient`

- The program to run if `Session` fails.

  The default is ``/usr/X11R6/bin/xterm``.

`UserPath`

- The `PATH` for the `Session` program. The default is `/bin:/usr/bin:/usr/X11R6/bin:/usr/local/bin`

`SystemPath`

- The path for Setup, Startup and Reset, &etc;.

  The default is `/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin:/usr/local/bin`.

`SystemShell`

- The default system shell. The default is `/bin/sh`

`UserAuthDir`

- Where to put the user's &X-Server; authorization file if `~/.Xauthority` cannot be created. The default is ``/tmp``.

`AutoReLogin`

- If `true`, &kdm; will automatically restart a session after an &X-Server; crash, or if it is killed by &Ctrl;&Alt;Delete. The default is `false`.

  Enabling this opens a security hole: a secured display lock can be circumvented, unless you are using &kde;'s built-in screen lock.

`AllowRootLogin`

- Allow `root` logins. The default is `true`.

`AllowNullPasswd`

- Allow to log in when the user has an empty password. Default is `true`.

`AllowShutdown`

- Who is allowed to shut down the system. This applies both to the greeter and to the command FiFo. The default is `All`.

  Possible values are:

  `None`

- No Shutdown... button is shown at all.

`Root`

- The root password must be entered to shut down.

`All`

- Everybody can shut down the machine.

`AllowSdForceNow`

- Who is allowed to abort all still running sessions when shutting down. The possible values are the same as for `AllowShutdown`, and the default is `All`

`DefaultSdMode`

- The default choice for shutdown condition/timing.

  Possible values are:

  `Schedule`

- Shutdown after all sessions exit (possibly at once.) This is the default.

`TryNow`

- Shutdown, if no sessions are open, otherwise do nothing.

`ForceNow`

- Shutdown unconditionally.

`InteractiveSd`

- If this is `false`, the user must select the shutdown condition/timing directly in the shutdown dialogue. If this is `true`, he won't be shown the options but will be asked what to do if any sessions are actually open. The default is `true`.

  The interaction is currently not implemented. If this is set to true, a normal forced shutdown will happen, ignoring the value of the `AllowSdForceNow` option!

`SessSaveFile`

- Where, relative to the user's home folder, to store the last selected session. The default is `.wmrc`.

## X-*-Greeter

Greeter configuration for all displays.

## Keys for the [X-*-Greeter] section of &kdmrc;

`SessionTypes`

- Session types the users can select. It is advisable to have `default` and `failsafe` listed here (this is the default)

`GUIStyle`

- Widget style of the greeter. Available are `Default`, `Windows`, `Platinum`, `Motif`, `MotifPlus`, `CDE`, `SGI` and any other styles you have installed, such as `Keramik` or `HighColor`.

  The default is `Default`.

`ColorScheme`

- Colour scheme of the greeter. The default is `Default`. Any colour scheme you have installed, such as `Pumpkin` can be used here.

`LogoArea`

- What should be shown beside the input lines.

  The available values are:

  `Logo`

- The image specified by `LogoPixmap`. This is the default

`Clock`

- An analogue clock

`None`

- Nothing

`LogoPixmap`

- The image to show when `LogoArea`=`Logo`. Default is `kdelogo.png`.

`GreeterPosFixed`

`GreeterPosX`

`GreeterPosY`

- Normally the greeter is centred on the screen. Use these options of you want it to appear elsewhere on the screen. The default is for `GreeterPosFixed` to be set to `false`, in which case setting the other two options will have no effect.

`GreetString`

- The headline in the greeter.

  The following characters are replaced by their value:

  `%d`

- Current display.

`%h`

- host name, possibly with the domain name.

`%n`

- Node name, most probably the host name without the domain name.

`%s`

- The operating system

`%r`

- The operating system version

`%m`

- The machine (hardware) type

`%%`

- A single `%`

The default string is `Welcome to %s at %n`.

`GreetFont`

- The font for the headline. The default is `charter,24,bold`

`StdFont`

- The normal font used in the greeter. The default is `helvetica,12`.

`FailFont`

- The font used for the Login Failed message. Default is `helvetica,12,bold`.

AntiAliasing

- Whether the fonts shown in the greeter should be antialiased. The default is `false`

NumLock

- What to do with the Num Lock modifier for the time the greeter is running.

  `On`

- Turn on Num Lock

`Off`

- Turn off Num Lock

`Keep`

- Don't change the state (this is the default.)

`Language`

- Language to use in the greeter. The default is `en_US`.

`ShowUsers`

- Specify which user names (and pictures) should be shown in the greeter.

  Available values are:

  `NotHidden`

- All users except those listed in `HiddenUsers`. This is the default.

`Selected`

- Only the users listed in `SelectedUsers`

`None`

- No user list will be shown at all. Users must type in a correct login name.

`SelectedUsers`

- Only takes effect if `ShowUsers` is set to `Selected`. Make a comma separated list of usernames to show here.

`HiddenUsers`

- Only takes effect if `ShowUsers` is set to `NotHidden`. Make a comma separated list of usernames to hide here.

`MinShowID`

- This is a special case for `HiddenUsers`. In addition to usernames specified there, users with a UID less than this number (other than `root` will also be hidden. The default is `0`.

`MaxShowID`

- Complement to `MinShowID`. Users will a UID greater than this number will be hidden as well. The default is `65535`.

`SortUsers`

- If `false`, the users are listed in the order they appear in `/etc/passwd`. If `true`, they are sorted alphabetically. The default is `true`.

`FaceSource`

- Specify where the users' pictures should be taken from. Available values are:

  `AdminOnly`

- From `$`KDEDIR`/share/apps/kdm/pics/users/$`USER`.png`. This is the default.

`UserOnly`

- From the user's `$`HOME`/.face`.

`PreferAdmin`

- Prefer `$`USER`.png`, fall back on `$`HOME`/.face`.

`PreferUser`

- The other way around.

`PreselectUser`

- Specify if, and if so, which, user should be preselected for login.

  Enabling this feature may be considered a security hole, since it presents a known to be valid login name to a potential attacker, so he only needs to guess the password.

  Available values are:

  `None`

- Don't preselect any user. This is the default.

`Previous`

- The user that successfully logged in last.

`Default`

- The user specified in the key `DefaultUser`.

`DefaultUser`

- The user to preselect if `PreselectUser` is set to `Default`.

`FocusPasswd`

- If this is true, the password input field is automatically focused if a user is preselected. The default is `False`.

`EchoMode`

- The password input field cloaks the typed in text. Here you can specify how to do it:

  `NoEcho`

- Nothing is shown at all. The cursor doesn't move.

`OneStar`

- `*` is shown for every typed letter. This is the default.

`ThreeStars`

- `***` is shown for every typed letter.

`UseBackground`

- If true, &kdm; will set the background via `krootimage`. Otherwise the `Setup` script should be used to set up the background. The default is `true`

`BackgroundCfg`

- The configuration file to use for `krootimage` if `UseBackground` is set to `true`. The default is ``$`KDEDIR`/share/config/kdm/backgroundrc``

`GrabServer`

- Hold the &X-Server; grabbed the whole time the greeter is visible. This may be more secure, but it will disable any background and other X clients started from the `Setup` script. The default is `false`

`GrabTimeout`

- How many seconds to wait for the grab to succeed.

`AuthComplain`

- Warn if local X authorisation cannot be created. The default is `true`. This option is not implemented yet, so changing it will have no effect.

## X-:*-Core

Core configuration for local displays.

## Keys for the [X-:*-Core] section of &kdmrc;

`ServerAttempts`

- How often to try to run the &X-Server;. Running includes executing it, and waiting for it to come up. The default is `1`.

`ServerTimeout`

`AllowShutdown`

`AllowRootLogin`

`AllowNullPasswd`

- The same as for the [X-*-Core] section.

`NoPassEnable`

- Enable password-less logins on this display. Use with extreme care! The default is `false`.

`NoPassUsers`

- The users that don't need to provide a password to log in. Never list `root`.

## X-:*-Greeter

Greeter configuration for local displays

## Keys for the [X-:*-Greeter] Section of &kdmrc;

`AuthComplain`

- The same as for the [X-*-Greeter] section.

`GreeterScreen`

- The screen the greeter should be displayed on in multi-headed setups. The numbering starts with `0` and corresponds to the listing order in the active ServerLayout section of `XF86Config`. `-1` means to use the upper-left screen, `-2` means to use the upper-right screen. The default is `0`.

`LoginMode`

- Specify whether the greeter of local displays should start up in host chooser (remote) or login (local) mode and whether it is allowed to switch to the other mode.

  Available values are:

  `LocalOnly`

- Only local login possible. This is the default.

`RemoteOnly`

- Only choice of remote host is possible.

`DefaultLocal`

- Start up in local mode, but allow switch to remote mode.

`DefaultRemote`

- Start up in remote mode, but allow switch to local mode.

`ChooserHosts`

- Comma separated list of hosts to be automatically added to the remote login menu. The special name `*` means broadcast. The default is `*`.

## X-:0-Core

Core configuration for just the first local display

## Keys for the [X-:0-Core] Section of &kdmrc;

`AutoLoginEnable`

- Enable automatic login on this display. Use with extreme care!

`AutoLoginUser`

- The user to log in automatically. Never specify `root`.

`AutoLoginPass`

- The password for the user to log in automatically. This is not required unless the user is logged into a NIS or Kerberos domain. If you use this option, you should ``chmod` `600` `kdmrc`` for obvious reasons.

`AutoLoginSession`

- The session for the user to log in automatically. This becomes useless after the user's first login, as the last used session will take precedence.

## X-:0-Greeter

Greeter config for 1st local display

## Keys for the [X-:0-Greeter] Section of &kdmrc;

`PreselectUser`

`DefaultUser`

- These options are the same as for the [X-*-Greeter] section.