One of the hardest things for users of other platform to understand is that GNU/Linux does not have a single graphical display.
Instead, there are dozens, ranging from basic window managers that control the look and positioning of windows in the X Window system, to complete desktop environments with a wide variety of utilities and specially designed applications.
However, for most users, the choice comes down to either GNOME or KDE, the two most polished and popular choices.
Which is right for you? In this two-part article, we’ll make a close comparison of the two desktops, trying to get away from the holy wars that often obscured this topic.
The goal is to discuss the differences as dispassionately as possible.
Here in Part 1, we’ll discuss where the KDE and GNOME desktops come from. We’ll also discuss the basic features that distinguish them from desktops on other platforms and their customization options.
In Part 2, we’ll discuss the utilities, administration tools and desktop-specific applications of each.
History
In the mid-1990s, desktop options for GNUI/Linux and other UNIX-like systems were limited by lack of functionality, or by philosophical freedom – or both.
On the one hand, users could choose window managers like FVWM that had relatively little functionality compared to the Windows or MacOS desktops of the time.
On the other hand, they could choose the proprietary CDE, a desktop built using the Motif toolkit, and developed by The Open Group, a joint effort of Hewlett-Packard, Sun Microsystems, IBM and Novell.
In response to this situation, Mattias Ettrich, then a student at the Eberhard Karls University in Germany, began work on the K Desktop Environment (KDE) in 1996.
The project had two goals: a unified look to applications, and ease of use.
KDE quickly attracted developers, but immediately ran into controversy because of its decision to use Trolltech’s proprietary Qt toolkit.
In response, in 1997, the GNU Project began two subprojects to develop a free software desktop.
The Harmony project, intended to provide a free version of Qt, never did very much, but the GNU Network Object Model Environment (GNOME) became the major rival to KDE, with its applications licensed under the GNU General Public License (GPL) and its libraries under the Lesser GPL, so that they could be linked to proprietary applications.
The difference in licenses between the two desktops soon ignited a fierce rivalry between their supporters, complicated by the fact that in the early years KDE was easier to use and included more utilities, making it more popular than GNOME.
Trolltech responded to criticisms by releasing Qt under the Q Public License (QPL) in 1998, but this license was not accepted by the Free Software Foundation as a free license, and the controversy continued until 2000, when Qt was released under a dual QPL/GPL license.
Since then, the rivalry between KDE and GNOME has lost much of passion. However, you can still sometimes hear developers argue over which has the superior object model or some other technical aspect that is mostly invisible to the average user.
Occasionally, too, the rivalry flares up for other reasons, as when Linus Torvalds recently criticized GNOME’s development policies in public.
However, those most involved with the two desktops have generally learned to co-exist, working to assure interoperability through cooperation and the development of common standards via freedesktop.org.
Probably the one thing that distinguishes GNOME today at version 2.18 is its attention to usability, which is continually resulting in a refinement of its desktop – to the extent that some, like Torvalds, have become frustrated by the increasing difficulty of using it for advanced purposes.
Another trend is a growing tendency to make its utilities – specifically its panel applets – dependent on Mono, the C# clone that is another project championed by Miguel de Icaza, one of GNOME’s founders.
Just now, KDE is at version 3.5.6, but is becoming increasingly focused on its 4.0 release, scheduled for release by the end of 2007.
This release promises to be a major revision of the desktop, with a default scalable vector graphics theme, a new file manager, a rewriting of the API for its core libraries, and new interface guidelines.
Figures vary with different studies, but today, KDE is probably used by about 65% of GNU/Linux desktop users, GNOME by roughly 26% (the rest of the market is represented by alternatives like Xfce and several advanced window managers).
However, GNOME has a larger presence than its popularity suggests because it is the default of several major distributions, including Fedora and Ubuntu, and because of the GNOME Foundation, which includes strong corporate representation, tending to make it more acceptable in business.
By contrast, the corresponding KDE League never developed the same influence or penetration into business, and is now defunct. Instead, KDE appears to maintain its importance through popularity alone.
Basic Desktop Features
With common roots in UNIX as well as imitations of Windows, OS X and each other, the modern GNOME and KDE have more similarities than differences.
Despite their different toolkits, it is not difficult to mockup either to look like Windows – or like each other, as Red Hat did a couple of years ago.
In fact, what would probably strike most Windows users are a number of shared features with which they are unfamiliar.
While new users of GNOME and KDE can quickly acclimatize to the desktop of icons, as well as the panel for notifications and docking minimized windows and the main menu, some of the details may take longer to become familiar with.
One of the most obvious features of KDE and GNOME are the virtual desktops – or workspaces, as GNOME call them.
Under any name, these desktops are a way of increasing the area in which you can organize the programs you’re working with.
You could, for instance, keep a web browser open in one desktop, a command shell in another, and a word processor in a third.
To move between them, you can click on a thumbnail on the panel, or configure them so that sliding the mouse to the edge of one seamlessly moves you into another.
The only limit is that each virtual desktop adds to the memory overhead.
Another major difference from other desktops is that both KDE and GNOME make extensive use of panels.
In addition to basic features such as the main menu, a clock, a windows list, and system notification area, both desktops include dozens of applets for system and hardware monitoring, as well as easy access to basic utilities such as search tools.
Recently, GNOME developers seem to have been especially active in developing panel apps, some of which, like Tomboy, are showing such an increase in complexity that they deserve to be considered full-fledged programs rather than utilities.
Both desktops allow multiple panels and their positioning on any side of the desktop, and customized menus, either in the form of GNOME’s drawers or KDE’s Non-KDE Application Launchers or Quick Launchers.
Other features shared by both: the ability to rollup windows so that only the title bars are visible; a broad choice of keyboard shortcuts; and a traditional if technically unnecessary selection of screen savers.
A lesser known shared feature – and one that both KDE and GNOME developers seem to prefer to hide – is that, users can replace the default window managers, Kwin and Metacity.
From both desktops, you can change the window manager temporarily by typing new windowmanager --replace
from the command line. In KDE, you can permanently change the window manager by changing the environment with export KDEWM=windowmanager
, while in GNOME you can do so by editing .gconf/desktop/ghome/applications/window-manager/%gconf.xml in the current user account’s home directory. However, before doing so, you should check that the new window manager is compatible with the desktop.
At this point in their development, the differences in basic desktop features are mostly minor. However, if I had to choose, then KDE has the edge.
It begins with a wizard that helps users customize their desktops and, even more importantly, choose the amount of eye candy they use; many, I suspect, automatically turn off the bouncing icons that appear while a program is loading.
Startup tips are also available, which are useful way for new users to learn the desktop in painlessly small increments.
In addition, KDE includes menu items for organizing open windows, several different types of panels, and a multiple clipboard that is so convenient that I use it in GNOME as well.
Historically, too, KDE tends to have more complete help files, although the last few releases of GNOME are rapidly closing that gap. The one annoying feature in KDE is the truncating of long file names below icons.
Customization
From their earliest days, the do-it-yourself tradition found among users of UNIX-like systems has ensured that both KDE and GNOME are so highly configurable that new users are likely to develop option-anxiety if they try to deal with them all at once.
A surprising exception is the main menu, which, in GNOME, only recently became editable again thanks to the addition of the Alacarte Menu Editor after several years in which no menu editor was available.
Otherwise, looks and behaviors are highly customizable in both GNOME and KDE.
Both allow a customized screen resolution and mouse behaviors, a selection of sounds and fonts, and the setting of preferred applications, such as web browsers, terminal emulators, and file manager.
Both, too, give an exhaustive set of options for how windows are placed, moved, minimized and maximized, stacked, and selected as active.
The main difference between the two desktops is that GNOME tends to handle windows in relation to their parents or to a specific location on the desktop, while KDE is stronger in dealing with them as a group and keeping users from getting lost in them.
However, which of these methods is preferable seems largely a personal choice.
A more important difference is that, in KDE, the behavior of individual windows can be customized, while in GNOME, a similar degree of control is not possible with the default Metacity window manager, unless the Devil’s Pie program is installed.
For both desktops, dozens of themes and styles are available to customize the desktop with pre-defined color schemes, icon sets, and window decorations such as title bars and buttons for minimizing, maximizing, or closing windows.
Dozens more are available online, and all can be further customized by users willing to take the time.
With such a thorough selection of choices, either KDE or GNOME can be customized to produce a desktop that proves, once and for all, that GNU/Linux is ready for the average user.
Which you prefer depends on what is important to you. To many, GNOME’s font anti-aliasing seems smoother than KDE’s, while others might prefer GNOME for its encryption and accessibility options.
Alternatively, you might prefer KDE for the ability to set the desktop-wide spellchecker or for the easy alteration of the opening splash screen compared to GNOME.
Increasingly, the differences are minor, and, in many cases, can be minimized by anyone with the patience to experiment with all the configuration options.
Conclusion
KDE and GNOME both inherited the extreme individualism and love of innovation common to users of UNIX-like systems.
For much of their existence, they also played catch-up with Windows and with each other – however much their advocates might be tempted to deny the fact.
After over a decade, the result is that, despite different design philosophies, the two desktops have come to resemble each other more than any of their rivals.
In terms of basic desktop features and customization, the difference is likely to come down to a matter of work habits and inclination.
Increasingly, your choice may be a matter of one or two features to which another user is completely indifferent.
And what about the programs designed for each desktop? We’ll examine them in Part 2 of this article.