This website is no longer maintained. Its content may be obsolete. Please visit http://home.cern/ for current CERN information.
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.
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.
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).
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
).
trash bin
à la
Windows.
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.
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.
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.
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.
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.
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.
If you want to know more:
KDE homepage:
http://www.kde.org
GNOME homepage:
http://www.gnome.org
Desktops at CERN:
http://home.cern.ch/v/vrobles/www/