CERN Accelerating science

This website is no longer maintained. Its content may be obsolete. Please visit for current CERN information.

CERN home pageCERN home pageThe Consult pageThe Consult pageThis pageThe Consult pageThis pageThis pageHelp, Info about this page
Previous:The Learning Zone(See printing version)
Next:A Guide to Web Colouring

X11 Desktop Environments (KDE and GNOME)

Victor Robles and German Cancio Melia , IT/DIS

UNIX/Linux operating systems are known to be stable and reliable, but one of its unfortunate characteristics has been the lack of a easy to use and homogeneous end-user interface. Two Open Source projects, KDE and GNOME, are addressing this problem with the development of user friendly desktop environments. In a series of 3 articles (here is the first part, and the next two will be included in future CNL issues), we are going to explain what a desktop environment is, what the differences and similarities between KDE and GNOME are, and what the internal architecture looks like.

What is a Desktop Environment?

If you use UNIX/Linux systems for your work, you will probably be used to running the X Window System with a Window Manager.

X-Windows is a client/server, network-transparent, operating-system independent windowing system. It provides the base technology for developing and displaying graphical user interfaces. A developer may use its native libraries, or higher-level libraries (like Motif, Qt or Gtk) for creating applications. Those applications, also called clients, communicate using the X protocol with the X Server, which visualises them on the display inside a window.

X-Windows only provides the base mechanisms for displaying and manipulating windows. A Window Manager is needed in order to allow the user to control the layout of the windows, providing at least these operations: Create, move and delete windows, change their size, iconify and deiconify them. Usually it also gives each window its own borders and a title bar.

There are several Window Managers available, the choice going from very simple ones (like twm) to extremely sophisticated ones, like Enlightenment.

A Window Manager does not care about the actual contents of each window e.g. each client application. As X-Windows provides a rather low level protocol, each application may have its own look and feel, own behaviour and characteristics. Communication between the applications running on a display is rudimentary and usually limited to copy and paste of text strings. Maybe you already experienced frustration when trying to insert a picture from your favourite image editor into your text edition application; usually you will have to save the image to a file and then load this file into the editor, instead of just selecting and grabbing the image with your mouse and dropping it into the editor as you would do when using MS Windows.

A Desktop Environment addresses all these interoperability problems and other issues. Essentially, it is intended to be the glue between all the applications running on your display. Some of its main features are:

MS Windows, and CDE for UNIX machines, are examples of desktop environment which include several of these features. KDE and GNOME are two projects which are aimed towards the same target: to offer a free, open-source based desktop environment to UNIX/Linux users. Their development started one or two years ago and now they are reaching maturity.


KDE stands for Kool (or Kommon) Desktop Environment. The following definition is taken from their Web page: "KDE is a powerful graphical desktop environment for Unix workstations. It combines ease of use, contemporary functionality and outstanding graphical design with the technological superiority of the Unix operating system."

The main idea of KDE is to make Linux accessible for everybody. The KDE project begun in October 96, and the first version was ready in July 98. Right now, version 1.1.2 is available. Version 2.0 is under heavy development and is expected around the first half of the next year. KDE runs with its own Window Manager (KWM).

KDE screenshot


GNOME stands for GNU Network Object Model Environment. Definition (taken from their Web page): "GNOME is a user-friendly desktop environment that enables users to easily use and configure their computers. GNOME includes ... a set of conventions that make it easy for applications to cooperate and be consistent with each other."

GNOME was started in August 1997 and runs now version 1.0.54. Theoretically, it does not depend on the Window Manager as long as you are using a 'gnome-compliant' one (like Enlightenment, but not fvwm).

GNOME screenshot

User Interface Characteristics

At a first glance, KDE and GNOME do look very similar and have obviously been inspired by Microsoft's Windows graphical user interface. Both desktop environments offer a Desktop (where data and applications can be placed), a Panel (for starting applications and displaying status information), a File Manager for manipulating file objects, and a Control Center for central configuration.

The Desktop

The desktop is the screen area where we can put icons containing objects like pictures, applications, folders with files, etc. In KDE you may also have device templates on the desktop which allow you to mount and unmount devices (provided you have the appropriate rights on them). You may achieve the same in GNOME using a panel applet. KDE also offers a trash bin à la Windows.

Icons on the KDE desktop

The Panel

While the KDE interface is is based on two bars, the Panel bar and the Task bar (where the currently running applications are listed), in GNOME you may have a task bar inside the panel bar.

The panel is the core of the user interface. Panels, in general, will give you the same functionality as MS Windows's task bar. Thus, through the panel you can have access to running tasks, change the focus application, change the virtual desktop in use, start applications, etc.

KDE's panel is intuitive and has a good design. You can put the panel in all screen borders and you may select up to 3 different sizes. You can also hide the panel using the corner buttons. There are small applications like xload or xbiff that can be embedded into the panel. Within the panel we have a pager, the utility to change between virtual desktops.

In KDE you can at any moment see all the running applications through the task bar. Like the panel, the task bar can be placed in any border of the window and can be hidden automatically.

The main disadvantages of KDE's panel are that it's not very customisable and that you cannot use more than 8 virtual desktops.

KDE's panel

GNOME's panel allows more freedom than KDE's, being highly customisable and at the same time intuitive. You can put the panel in any place on the screen and you can have multiple panels. With the standard distribution of GNOME you have a lot of applets available, which are small applications that can run inside the panel. The applets communicate with the panel using CORBA. An important applet is the pager, from where you select the virtual window. The printer applet allows you to print any type of file directly, independent of its type, by simply dragging and dropping the file into it. The main disadvantage of the GNOME panel is that you cannot resize it.

GNOME's panel

The File Manager

The KDE File Manager (KFM) is quite similar to Internet Explorer 4.0 and can be used for surfing our file system (or even the Web) and to make ftp connections. A powerful feature is its network transparency. With KFM we can surf any remote file system via ftp as if we were in our local file system, allowing even drag and drop files from one location to another. Currently KFM also supports tar archive browsing, even on ftp sites. Unfortunately, the Web navigator is not very stable and it will eventually crash.

KFM: KDE's File Manager

GNOME also has its own File Manager, an evolution of the classic Midnight Commander (GMC - GNU Midnight Commander). GMC is quite similar to KFM but perhaps more comfortable and intuitive due to its graphical interface.

The common aspects between KFM and GMC are that both allow browsing local file systems and remote file systems as well as tar files. However GMC cannot be used as a Web browser and does not allow the use of drag and drop while browsing remote systems.

GNOME midnight commander


Themes allow us to make visual and functional changes to the desktop. Examples of visual changes can be window decorations, the icons linked to some kinds of files, the fonts and colours, the appearance of widgets like scroll boxes etc. Functional changes are for example desktop elements positions, Window Manager functionalities or mouse buttons bindings.

With KDE we have a theme Manager completely integrated inside the Control Center. GNOME theme support is quite similar to KDE's. Unfortunately, some Window Managers like Enlightenment provide their own themes, which may lead sometimes to confusion. There are many themes available both for KDE and GNOME, but actually only few themes are usable. The rest have a great computational cost and are not useful for daily work.

The Control Center

The control center allows a user to carry out desktop configuration through a graphical front end. For example, we can change the desktop language, select a screen saver, put the panel in our favourite shape, select themes and helper applications, choose programs to be launched on startup, etc.

KDE control center

In general, KDE's and GNOME's control centers are quite powerful and intuitive and offer similar functionalities. A major difference is that in KDE all the Window Manager features are included while in GNOME the Window Manager configuration takes place independently. Sometimes, this may cause conflicts. For example, it's possible to change the background in the Enlightenment configuration and in the GNOME Window Manager control center. Then, what background I am really using? From this point of view KDE offers a more consistent desktop.

GNOME control center

Coming soon

In the next part of this article, we will analyse GNOME and KDE from a more technical point of view, looking in more detail at the internal architecture, usage of protocols and standards, etc.

If you want to know more:

KDE homepage:
GNOME homepage:
Desktops at CERN:

For matters related to this article please contact the author.

Last Updated on Thu Dec 16 13:33:07 GMT+03:30 1999.
Copyright © CERN 1999 -- European Laboratory for Particle Physics