The K Desktop Environment

Next Previous Table of Contents

4. Post Installation instructions

4.1 Overview

To run KDE, you must do three things:

To make your system aware of KDE, an environment variable KDEDIR must be set, and the directory with the KDE executables must be added to the system path. In this RPM distribution, scripts that do this automatically are added to the directory /etc/profile.d, but they only take effect when you log in after installing the kdesupport RPM package.

So, before proceeding,

4.2 Using the "usekde" script to make KDE a user's desktop..

A (bash) shell script /opt/kde/bin/usekde is provided to individually configure user's accounts to use the KDE desktop. The system administrator (root) may configure any user to run KDE with the command

usekde <username>
where <username> is a valid username present in /etc/passwd. Individual users can configure their own desktops to run KDE with
usekde 
This adds a hidden .Xclients configuration file to the user's home directory; in the unlikely event that any user no longer wishes to run the KDE desktop, they need only delete this file to deactivate KDE.

The usekde script does the following things:

  1. Any configuration files .xinitrc or .xsession that exist in the user's home directory are moved to .xinitrc.kdesave or .xsession.kdesave.
  2. Any configuration file .Xclients that exists in the user's home directory, and is different from the version that usekde will install, is moved to .Xclients.kdesave.
  3. A new .Xclients is installed in the user's home directory. Assuming the X Window system configuration scripts are unchanged from the default ones installed by the Red Hat distribution, the user's .Xclients file will control the X Window session, whether it is started by startx (xinit) or by the X Display Manager (xdm or kdm).

4.3 Customising the default Desktop .

By default, usekde copies the (hidden) .Xclients file from /opt/kde/etc/skel. This directory also contains default KDE user configurations in subdirectories Desktop and .kde. If the user's home directory does not contain Desktop or .kde directories, the script .Xclients causes copies to be taken (by default) from /opt/kde/etc/skel.

Note that the default Desktop and .kde KDE configurations are only installed when .Xclients is run during the startup of the X Window system, if they do not already exist in the user's home directory. If a user's KDE configuration is old, the user may wish to move the old Desktop and .kde directories out of the way, and start the X Window system to try out the new configuration.

If the System Manager wishes to customize the configuration, it is recommended to copy the contents of /opt/kde/etc/skel to (say) /etc/skel:

cp -a /opt/kde/etc/skel/.kde /etc/skel
cp -a /opt/kde/etc/skel/.kderc /etc/skel
cp -a /opt/kde/etc/skel/Desktop /etc/skel
cp -a /opt/kde/etc/skel/.Xclients /etc/skel
Then edit the copies to make any customizations needed in .Xclients, (or to files in .kde/share/config, which control the state of the desktop when it first starts.) If you make your customizations to the original files in /opt/kde/etc/skel, you risk losing then next time you reinstall or upgrade the kdebase RPM package.

The customized configuration in /etc/skel becomes the default configuration when the environment variable $KDE_SKELDIR points to their location. To do this, add the lines

KDE_SKELDIR="/etc/skel"
export $KDE_SKELDIR
to your /etc/profile file. (You can of course use a location different from /etc/skel). The Desktop and .kde directories will first be looked for in $KDE_SKELDIR, if it is defined, then in $KDEDIR/etc/skel.

You may wish to provide every new user with a KDE configuration, but leave it up to the user to activate it by running "usekde". In this case, do not put the .Xclients in /etc/skel. Set the environment variable $KDE_XCLIENTS to point to your customized default .Xclients that usekde installs, by also adding, e.g.,

KDE_XCLIENTS="/opt/kde/etc/skel/.Xclients"
export $KDE_XCLIENTS
to /etc/profile. The usekde script looks for the default .Xclients to install in this order: (1) $KDE_XCLIENTS ; (2) $KDE_SKELDIR/.Xclients; (3) $KDEDIR/etc/skel/.Xclients. If it is not found, usekde terminates with an error message.

Using /etc/skel has the advantage that any new user accounts that you set up will automatically be configured to use the KDE desktop. Use a different location for the default .Xclients, if you do not want this to be the case.

The default .Xclients file installed by this distribution runs scripts /opt/kde/bin/kdesetup (whch installs the .kde and Desktop directories, if they are missing) and /opt/kde/bin/startkde. If any customizations are needed for your system, you may wish to copy the startkde script to the .Xclients file, and customize it there. For example, if you find that your /tmp directory gets littered with leftover KDE temporary files from your old KDE sessions, you may wish to add a line that deletes them.

KDE applications have session support, and unless this feature is disabled, KDE applications will restart in a new KDE session in the same state that they had when the previous session was shut down. The system administrator can use this feature to create the desired default KDE configuration that a new KDE user will see when they first run KDE, and copy the contents of the resulting Desktop and .kde/share/config directories to the equivalent subdirectories of the directory $KDE_SKELDIR.

You can also simply make KDE the default for all users, without running the usekde script, by replacing the default Red Hat file /etc/X11/xinit/Xclients with a copy of .Xclients. However, this will only work for users who do not have .xinitrc or .xsession files in their home directory. (Running the script "usekde" guarantees that this is not the case.)

4.4 Starting KDE by opening an X Window session.

The usekde script described in the previous section will have configured the KDE desktop to start whenever the user opens an X Windows session. This section will give a brief overview on how X Window sessions are opened on Red Hat systems.

Note that a common error by first-time KDE users is to attempt to run the "startkde" script themselves, without starting the X Window system. The "startkde" script is designed to called by the X Window startup script (in this case, ~/.Xclients), and not to be directly run by the user.

The two distinct methods of starting an X Window session on Red Hat Linux are

In the second case, the X Display Manager may have started automatically when the system was booted. This occurs if the system is configured to boot into "runlevel 5" in the /etc/inittab configuration file. You can configure this using the Red Hat system administration tools (runlevel editor) that come with the Red Hat distribution, or (carefully!) edit /etc/inittab to change the line "id:3:initdefault:" to "id:5:initdefault:".

If the system is not configured this way, root can start the X Display Manager by typing

telinit 5
and shut it down again with
telinit 3

Another way for root to start the X Display Manager is to type "xdm" or "kdm". In this case it can only be shut down by root with "kill -INT <pid>", where <pid> is the Process ID number of the xdm or kdm which is running. This is written in /var/run/xdm.pid (for both xdm and kdm), so "cat /var/run/xdm.pid" will tell you what it is.

Here is a summary of how how the various X Windows configuration files are used on a default Red Hat 4.2, 5.0, 5.1 or 5.2 installation, for both methods of starting X:

Next Previous Table of Contents