KDE and Gnome

A quick look at two projects designed to make the administration and usage of a Linux system easier for beginners.

Watching the Linux operating system mature is interesting these days. A couple of years ago a lot of attention was devoted to incompatibilities with various hardware components, networking and the development of the kernel. Though these activities continue, it's no longer necessary to follow these development efforts as closely in order to run a dependable Linux system. Distributions have improved immensely, and now more free-software developers are turning their attention towards refinement and integration of the user interface.

Two separate projects have arisen in the past year: KDE (the K Desktop Environment) and GNOME (the Gnu Network Object Model Environment). Both of these projects include among their stated goals the desire to make the administration and usage of a Linux system easier for beginners, in part by providing a uniform look and feel for the most commonly used applications and utilities, as well as interoperability of the system components. It's difficult to make much of a comparison between the two, as KDE is much farther along than GNOME, but I'll make an attempt.


There is one common structural aspect to these two projects. They each rely on a group of shared libraries that provides the interface to basic OS operations, such as file-reading and saving, as well as basic display and appearance functions. An installation will populate a directory with a variety of shared libraries which support a directory of fairly small executables. The Gimp works this way as well; the individual plug-ins tend to be small, but rely on the services provided by both the GTK and the GIMP shared libraries. This approach facilitates contributions by programmers not directly involved with a project, as many of the low-level and window-display functions are already written, allowing a contributed application or extension to “hook” into them.


The first of the two projects to gain momentum was KDE. About a year ago a group of developers, mainly European, began coding the components of this ambitious project. They chose the Qt toolkit (from TrollTech in Norway) as the GUI framework, a decision which has since led to some controversy. Qt has a few licensing restrictions which, though not onerous for end-users, can cause problems for the creators of CD-ROM-based distributions. Advocates of GNU-style free software tend not to favor Qt, a circumstance which led to the creation of the GNOME project.

Setting aside the thorny licensing issues, the KDE developers have managed to pull together quite a remarkable system in the past year, though numerous bugs still remain evident. The second public beta was released in November of 1997, and I compiled and installed it soon after. (I had briefly tried the initial beta, but found it too unstable to evaluate.)

This second release still has flaky aspects, but enough of it works to give the user an idea of what the developers are planning to accomplish. In effect KDE is a sort of GUI wrapper around an existing Linux system, which attempts to simplify system-administration tasks and offer interactive compatible utilities and applications. kfm is at the core of the system, as it is intended to be left running in the background and serves as the help viewer for all of the KDE components. kfm is also a file manager (icon-based, with some resemblance to xfm and moxfm) and serves creditably as a web browser.

kfm is an impressive application, and itself a good reason for trying out KDE. Many of the other applications are replacements for programs which most Linux users probably already have and would only be desirable if a complete KDE system were the goal.

KDE has its own window manager, kwm, which had some display faults on my system. Due to these video artifacts I didn't use it much, but it did appear stylish and well-designed. It seems that these display bugs don't show up on most systems; I suspect that it depends upon the video-card and X server being used.

A new Linux user (especially someone accustomed to Windows or Macintosh systems) might appreciate the relative ease of configuration and use which KDE offers. In a sense, KDE extends the scope of the tasks traditional distributions perform. One drawback might be the very comfort of the KDE environment; the various system-administration tasks outside of KDE's abilities might seem too daunting or unapproachable without a KDE interface. This won't be seen as a drawback to prospective users who lack the fascination with internals and configuration which in the past has typified Linux users.

Some KDE users have reported that they find the system both usable and useful, but with my particular setup this wasn't the case. I have to say that my extensively customized Linux installation seems perfectly satisfactory as is, and I probably lack the motivation to spend the time learning to adapt KDE to my needs. If KDE had existed back when I first booted up a Slackware system some years ago, maybe I would have felt differently.