The K Desktop Environment

Next Previous Table of Contents

2. Installing kdm

See the file README! It will tell you how to compile kdm. NOTE: make install will overwrite your previous kdmrc.

Then you should insert the line

kdmdesktop
in the file called XSetup_0 or similar in the xdm config directory (often /etc/X11/xdm/XSetup_0). Make sure the path is set, so that kdmdesktop can be executed.

PAM (Pluggable Authentication Modules) is a powerful and flexible "plug-in" authentication system that comes with Solaris and RedHat Linux, and has been ported to other systems. PAM will handle shadow passwords transparently. If your system has PAM installed, you can enable PAM support in KDE by compiling kdebase using ./configure --with-pam. See the file kdebase/README.pam for more information. If you chose the PAM option, you should check that the PAM service "xdm" has been configured. This will either be through a file /etc/pam.d/xdm, or by lines begining with "xdm" in a file /etc/pam.conf. A minimal configuration in /etc/pam.conf is provided by lines

# xdm authorization
xdm    auth       required     pam_unix_auth.so
xdm    account    required     pam_unix_acct.so
Besides "auth" and "account" entries, there may also be "password" and "session" entries; see your PAM documentation. While kdm uses the PAM service "xdm" by default, the name of the PAM service can be changed when kdebase is compiled: for example ./configure --with-pam=kde will make kdm use a PAM service "kde". In this example, /etc/pam.d/kde must exist (it can be a symlink to /etc/pam.d/xdm) or there must be valid "kde" entries in /etc/pam.conf. kdm logins and logouts will generate entries in the system log, identified by the name of the PAM service. Note that kscreensaver will use the same PAM service for the "auth" (password authentication) function, when unlocking the display; authentication failures are logged in the system log.

Now it's time to test kdm. You should bring your system to a runlevel that doesn't run xdm and try (as root) to say:

> kdm -nodaemon
If you get a kdm login box and you are able to log in, things are great. The main thing that can go wrong here, is that the runtime linker might not find the shared Qt or KDE libraries. When everything works, then edit /etc/inittab to execute kdm instead of xdm. If you have a binary distribution of the KDE libraries, it might be nescesary to tell kdm where kde is installed (if the location of kde isn't found, icons will miss). This is done with the "kdm -kdedir /path/to/kde" option (note that KDEDIR cant be set if kdm is started from inittab). If you dont like changing inittab, you might instead rename xdm to xdm.bak and make xdm a symlink to kdm. Kdm will read the general display manager settings from the xdm configuartion files and the kdm specific ones from the file $KDEDIR/share/config/kdmrc. Kdmdesktop will also read kdmrc.

Next Previous Table of Contents