The K Desktop Environment

By Ben Lamb

Introduction

This talk’s about KDE, a name that doesn’t lend itself to catchy puns, hence this talk is simply called KDE – An Introduction. I’ll be explaining what KDE is, taking a brief look at how to install it and then explaining why I think it’s worth a look.

What is KDE?

Most people like to run some kind of GUI on their computer rather than stare at plain text. At last month’s meeting Jeremy Chatfield of Xi Graphics was talking about X and also demonstrated CDE. CDE was an attempt by two UNIX vendors, Sun and HP, to create a standard desktop to run on top of X and a standard for user-interfaces that applications could follow.

KDE is a similar project for Linux. In order to provide a standard look and feel it includes window and session managers for X. In addition it includes a set of libraries so users can develop their own applications that conform to the KDE standards.

Where to Get It

Two provisios at this point. Firstly KDE is more than just as pretty face for Linux. The session manager in particular provides many extra features which I’ll explain shortly. Secondly KDE is still in beta. Beta 3 was released at the beginning of February and I half expected a new beta to be released today, my suspicions were confirmed this morning!

The latest stable release is now beta 4, codenamed Kirkland. But since the new beta was released this morning I haven’t had a chance to play with it yet although I’m told by a KDE developer that there are plenty of new features – that could be a bad thing as far as this talk is concerned.

There is the offical KDE site at www.kde.org and loads of mirrors around the world. I haven’t checked but no doubt KDE is available from SunSite.

What to Download

Get the lot would be my advice but if you’re short of space that you can pick and choose which bits of KDE to install. My unpacked installation occupies about 23 megs.

Prerequisites

You need X Window installed and working on your system already, unless you won a copy of Accelerated X last month you’re probably running XFree86.

Installing

Installation varies depending on which of the three formats you download. KDE is available in RedHat package format, Debian packages and as Gziped tarfiles – my favourite. If you’re running Linux on a PC, I’ll assume everyone here is, get the pre-compiled binaries and save yourself the hassle of having to compile it.

After unpacking the archives there is one environmental variable to set, modify your .cshrc or .login file so that it is automatically set every time you login.

Xinitrc

Finally you need to modify .xinitrc to start KDE rather than your existing desktop. Xinitrc is called by the startx command. The chances are that you don’t have one in your home directory, in which case you can either modify the global xinitrc or copy this into your home directory and modify it.

I found my xinitrc in /var/X11R6/lib/xinit. All the script does is sets a few variables and then launches a window manager. The window manager command is usually the last line of the file and is easily recognisable if you know what your window manager is called. Remove this line (or comment it out) and run $KDEDIR/bin/startkde instead.

By using a copy of xinitrc in your home directory you can have different desktops for different users on your system so you could revert back to your old window manager simply by logging in as another user or deleting the file.

My configuration boots up in text mode and I run X with the command startx. There is a graphical login for KDE called KDM which acts as a replacement for XDM. If you’re using XDM already simply substitute KDM. On my system KDM didn’t work and there are many reported problems on the KDE website, of course these may have been fixed in the latest beta.

First Impressions – Taskbar, virtual desktops, pretty

Menu can be customised by adding links into the directory $KDEDIR/share/applnk

KDE Features – Up to 8 virtual desktops

All of the configuration is done very the GUI, usually through the KDE Control Centre, rather than text files.

There an HTML based help system. One of the nice things about KDE is that when you installed a KDE application it’s help is integrated into the rest of the help system. This enables you to search for help on any installed utility using the one interface. At the moment the help for many applications is incomplete but there is a reasonable tutorial which explains the basics of KDE.

KDE is similar to most other GUIs.

The system is designed to support foreign languages and character sets although this support isn’t implemented fully yet.

One of the best features about KDE is the session management. When you logout the position of all applications and their state should be saved. So if you had a text editor open on the fifth page of a document then that is where it should be the next time you login. I was disappointed by this since it doesn’t work too well. For instance some applications were just restarted and didn’t even appear on the same virtual desktop as before.

Because the desktop and session information is stored in your home directory it will follow you over a network.

KDE has built in support for the Internet, the file manager can view webpages and URLs can be entered instead of paths. You can browse a remote FTP site as though it were a local directory and any application can be given the URL of a remote file and will treat it as though it were a local file.

Another trick is that the filemanager is capable of browsing tarfiles as though they were directories.

KDE Utilities

One of the best things about KDE is the amount of high quality utilities that are appearing for it. They all conform, to a greater or lesser extent, to a common look and feel. Included with KDE are all the usual things like a calculator, CD player, mail and news readers and various assorted games. The more interesting utilities are a Windows NT style user manager and best of all Kppp.

Kppp will automatically configure an Internet connection so when you’ve entered the details of your ISP you just click a button and it will execute an automatically generated script to connect you to the Internet. It can also log every call and then calculate your phone bill for Internet calls using it’s in-depth knowledge of BT tariffs – it handles all the different rates.

There is also a CD player that can look up the track names of any CD you play from a site on the Internet.

KDE – The Future

KDE is one of the highest profile desktop projects for Linux and is rapidly gaining support and there is a growing library of applications for it. It’s a modern easy to use interface with some very powerful features. Now the initial groundwork is done the more advanced features such as session management should start improving.

There is talk of a scripting language for KDE that will like users control KDE applications and the desktop itself, sounds very similar to a language called Rexx developed by IBM.

As you play with KDE you keep discovering new features, some of these are not documented so I’ve got no idea what they do. For example discovered one dialog box that mentioned “user agents” – intelligent agents for KDE – who knows?

It’s worth mentioning another similar project for Linux being developed by GNU. KDE is free to anyone and everyone under the GNU public license however because it depends on the Qt library which is commercial software but free for non-developers and personal-developers some people don’t regard it as free.

Finally it will hopefully become even more stable and the documentation will improve. It’s important to remember that KDE has only been in development for about 18 months now which isn’t very long for such a large project. Beta 3 has crashed on my machine a number of times but I’ve no doubt this will be improved, likewise for the documentation.

Comments are closed.