From ArchWiki
Revision as of 15:38, 30 April 2014 by Feelshift (talk | contribs) (Troubleshooting: Mentioned and added workaround for https://bugs.kde.org/show_bug.cgi?id=314663)
Jump to: navigation, search

KDM (KDE Display Manager) is the login manager of KDE. It supports themes, auto-logging, session type choice, and numerous other features.


Install the kdebase-workspace package from the official repositories.

Then follow Display manager#Loading the display manager to start KDM at boot.


The configuration file for KDM can be found at /usr/share/config/kdm/kdmrc. See /usr/share/doc/HTML/en/kdm/kdmrc-ref.docbook for all options.

You can visit System Settings > Login Screen and make your changes. Whenever you press Apply, a KDE Polkit authorization window appears which will ask you to give your root password in order to finish the changes.

If you seem not to be able to edit KDM's settings when launching System Settings as user, you can use kdesu:

$ kdesu kcmshell4 kdm

In the pop-up kdesu window, enter your root password and wait for System Settings to be launched. Then go to "Login Screen".

Note: Since you have launched it as root, be careful when changing your settings. All settings configuration in root-launched System Settings are saved under /root/.kde4 and not under ~/.kde4 (your home location).


Arch Linux KDM themes can be installed through archlinux-themes-kdm package.

Many other KDM 4 themes are available at http://kde-look.org/index.php?xcontentmode=41. Choose between the installed themes in System Settings (run as root) as described above.

Themes creation

Themes files are in /usr/share/apps/kdm/themes.

The theme format is the same one as GDM, a documentation can be found here: Detailed Description of Theme XML format.


To force the number of dots per inch of the X server, add a -dpi option to ServerArgsLocal. A commonly used value is 96 dpi.

ServerArgsLocal=-dpi 96 -nolisten tcp

Allow root login

To allow root login in KDM do:

# sed -ie 's/AllowRootLogin=false/AllowRootLogin=true/' /usr/share/config/kdm/kdmrc


This variable stores a list of directories containing session type definitions in .desktop format, ordered by falling priority. In Arch Linux some window managers install such files in /usr/share/xsessions. Add that to the list in order to be able to select them in KDM:



The Session variable is the name of a program which is run as the user who logs in. It is supposed to interpret the session argument (see SessionsDirs) and start the session as desired for that argument. One may wish to customize this for window manager sessions, for example to set a wallpaper and start a screensaver. To do this in a way which will survive pacman updates (which clobber Xsession) do as follows:

# cp /usr/share/config/kdm/Xsession /usr/share/config/kdm/Xsession.custom

In kdmrc set:


And then edit Xsession.custom as desired.

Restart X server menu option

To allow users to restart the X server from KDM, edit this option in kdmrc:

# Show the "Restart X Server"/"Close Connection" action in the greeter.
# Default is true

This feature will be available in the menu drop-down options. The option also includes a hotkey of Alt+e.


Keyboard maps

KDM keyboard keymap can be set through the configuration system (login screen section).

If setting the language in the configuration system does not affect keyboard map, you can try to edit /usr/share/config/kdm/Xsetup and add command:

setxkbmap cz

where cz is the Czech keyboard layout. Since the file may get overwritten on the next upgrade, you may want to protect it in /etc/pacman.conf:

NoUpgrade = usr/share/config/kdm/Xsetup
Note: The leading slash (/) must not be there.

Slow KDM start

If KDM is taking a long time to display the login screen (e.g. 15-30 seconds) you may try rebuilding the X font caches:

# fc-cache -fv

KDM and Gnome-keyring

To automatically unlock the Gnome-keyring upon login in KDM add the following line to your /etc/pam.d/kde right after the auth include system-login line:

auth            optional        pam_gnome_keyring.so

and add

session         optional        pam_gnome_keyring.so auto_start

after session include system-login

To automatically re-unlock the keyring when you unlock your screensaver open /etc/pam.d/kscreensaver and add

auth            optional        pam_gnome_keyring.so

as the last line.

User picture not displayed

For KDM to able to display user picture set in Account Information, proper source must be set in System Settings > Login Screen > Users > User Image Source, user's home directory must be world executable and ~/.face.icon must be world readable [1]:

$ chmod o+x ~/
$ chmod o+r ~/.face.icon

Input freeze while locking screen

If the input freezes while starting the lock screen you can unlock it by switching to another virtual console (CTRL-ALT-F1 for example) and restarting KDM:

$ systemctl stop kdm && systemctl start kdm

Switch back to your original virtual console and you should be able to unlock the screen. This behaviour is due to bug 314663.

As a workaround you disable background opacity for kscreenlocker and kscreenlocker_greet.

For qt-curve, go to System Settings > Application Appearance > Style > Configure > Applications and add kscreenlocker and kscreenlocker_greet to "No background opacity".