# Chapter 2. Installing kdm

# 2.1. Setting up kdm

See the file README! It will tell you how to compile kdm. But normally you don't need to compile kdm yourself, as it is part of the kdebase package and compiled with all other stuff. It is then installed in your $KDEDIR/bin directory.

NOTE: `make install` will overwrite your previous `kdmrc`.

During the installation a new version of the file `Xsetup_0` is installed. It espacially contains a line

     kdmdesktop

to display some nice backgrounds (pictures and background colors). Normally you find this file in the xdm config directory `/etc/X11/xdm/XSetup_0` for Redhat and `/usr/X11R6/lib/X11/xdm/XSetup_0` for S.u.S.E. If your KDEDIR is not /opt/kde you may have to change the path to kdmdesktop.

If you chose the PAM (which is normal with Red Hat 5 and 5.1) option, then you should check /etc/pam.conf for the lines

     # xdm authorization
     xdm    auth       required     pam_unix_auth.so
     xdm    auth       required     pam_unix_acct.so

and insert them, if they aren't there.

Now it's time to test kdm. You should bring your system to a runlevel that doesn't run xdm. To do so edit the file `/etc/inittab` and look for the lines saying

     # default runlevel
     id:3:initdefault:

The value after id: is the code of the default runlevel and very distribution dependent, but always well explained. The runlevel with graphical login (xdm) for the most common distributions are

- 5 for Red Hat 3.x, 4.x and 5.x, LST

- 4 for Slackware

- 3 for S.u.S.E. 4.x and 5.x

After this you can try to start kdm by typing the following command on your favourite shell:

     > 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, you can start to replace xdm by kdm. This is again distribution dependent.

- for Redhat you edit `/etc/inittab`, look for the string xdm and replace it with kdm (including all paths).

- for S.u.S.E. you have to edit the file `/sbin/init.d/xdm` and to add a first line

       . /etc/rc.config
       DISPLAYMANAGER=kdm
       export DISPLAYMANAGER

- for other distributions it's rather the Redhat way, but I'm not too sure about this.

For every distribution I know, you have to change the runlevel in the /etc/inittab file (to 5 for Redhat, 3 for S.u.S.E. as mentioned above or in the inittab file itself). If you have a binary distribution of the KDE libraries, make sure kdm is installed where the libraries believe kde is installed. This is again normally /opt/kde/bin. 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 configuration files and the kdm specific ones from the file $KDEDIR/share/config/kdmrc. Kdmdesktop will also read kdmrc.