"Linux Gazette...making Linux just a little more fun!"

KDE and Gnome

by Larry Ayers


Watching the Linux operating system begin to mature is interesting these days. A couple of years ago much attention was devoted to incompatibilities with various hardware components, networking, and the development of the kernel itself. 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 employing 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, which provides the interface to basic OS operations, such as file-reading and saving, as well as basic display and appearance functions. The end result of this is that an installation will populate adirectory with a variety of shared libraries, which in turn supports another directory of fairly small executables. The Gimp works this way as well; the individual plug-ins tand to be small, but rely on the services provided by both the GTK and the Gimp shared libs. 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 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 CDROM-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 interacting and 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 in itself justifies 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 is 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 in use.

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 itself; 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 usable and useful, but with my particular setup this wasn't the case. But 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, who knows...


Miguel Icaza (head of the Midnight Commander development group) also seems to be at the helm of the new GNOME development project, which has goals similar to those of KDE, with one difference: the project is composed completely of GNU-style free software. This project is based upon the GTK toolkit, the free successor to Motif in the Gimp development efforts. The project arose as a direct response to the KDE project, and the GNOME developers have borrowed some code from KDE for a few of the applets.

As of late December (version 0.10) GNOME as a whole isn't really suitable for actual use, but several of the applets function well and the future looks bright for the project. Miguel Icaza is in the process of porting the Midnight Commander file-manager to GTK, which will let it fit in with the remainder of the GNOME applications.

The Panel applet, written primarily by Federico Mena Quintero, is an icon-bar and program-launcher which locates itself at the bottom edge of the screen. It features cascading menus which could be a substitute for the usual window-manager root menus. Most of the GNOME applets have been included in the default menu of Panel, allowing this applet to serve as an entry-point to the GNOME installation. It takes a little fiddling around to get the hang of using Panel, so don't give up if at first glance it seems like nothing is working

The provided applets include a desktop-manager (which in part serves as an interface to the Xlockmore screensaver), CroMagnon (an interface to the crontab utility), an audio mixer, an interface to the elaborate LinuxConf configuration manager, several nicely-done games (some of which were adapted from KDE), and several others.

One major difference between GNOME and KDE is that KDE includes a window-manager, whereas GNOME doesn't, and is designed to cooperate with a user's current window-manager. This may make GNOME more appealing to seasoned users who have extensively customized their window-manager resource files.


As I write this only the source code is available for GNOME 0.10, and it's tricky to compile. An intel-Linux binary archive of the 0.9 release is available from this site, but I would recommend waiting a while for either an updated binary release or an easier-to-build source release. The developers are hard at work these days (judging by their mailing-list postings) and I think that, given time, something both interesting and usable will appear.

Though KDE is closer to being "finished" (if such a state even exists in the realm of software), it still has a ways to go. Development is proceeding rapidly, and I imagine that sometime this year a more polished release will become available.

The fate of a free-software project is interesting because of the inherent unpredictability. Anyone can start one, but whether it comes to fruition or withers on the vine is up to the inscrutable software gods. The timing may be just right (i.e., it addresses many users (and developers!) needs) but convincing enough programmers with time and inclination to become involved just can't be forced or foretold. These two projects seem to have attained that essential momentum, and hopefully we shall see them evolve further. Last modified: Sun 4 Jan 1998

Copyright © 1998, Larry Ayers
Published in Issue 24 of Linux Gazette, January 1998