This article is not intended to be an all-inclusive list of desktop environment choices. In Linux there are often a myriad of options available, for music players, for word processors, for text editors, and certainly for desktop environments. That said, there are three desktop environments that seem to be most-often used – KDE, Gnome and xfce – and I intend this article to attempt to differentiate between the three.
First, how are the three similar?
All three desktop environments provide similar “tools” for working with a computer. First, all include an application for drawing the desktop, for managing windows and window behavior, a session manager to save preferences between logins, and a panel program, to view running applications and provide a menu system. Those applications, along with minor utilities and libraries, could be considered the “base” of the desktop environment.
In addition, each desktop environment includes certain “standard” applications, such as a terminal emulator, a text editor, a file manager, multimedia player, along with programs to burn CD/DVD media, programs to act as archive frontends, calendar applications, and so forth.
Where the desktop environments begin to differentiate themselves lies both in the amount of system resources required to run a particular desktop environment, as well as the sheer volume of programs available.
Of the three options compared, xfce has by far the fewest “native” applications. Gnome has considerably more, and then KDE has by far the most available programs in development. This is not necessarily for the best, as it is often a tedious chore to pick through the multiple options available. All it takes is one “perfect” program to render myriad options useless. Having said that, choice is always appreciated. Not that xfce is left in the dark. It is certainly capable of running Gnome applications and KDE applications side-by-side “native” xfce applications. The same is true for KDE and Gnome.
Applications might be written with a particular desktop environment in mind, but that doesn’t mean the programs aren’t interchangeable. Programs will run in any desktop environment, although the look and feel of programs from different sides of the tracks, so to speak, might vary immensely.
Why is this? The look and feel of a program is entirely dependent on the toolkit used to draw the actual windows of a program, and each desktop environment has chosen a different toolkit. The xfce environment uses GTK (the Gimp Tool Kit), for drawing applications. One of the advantages this gives xfce (and indeed, this is one of the prime benefits of running xfce), is a very resource-lean environment.
Compared to the similar (but more resource-intensive) Gnome library (used by Gnome), GTK is able to run much more smoothly on older hardware. Where a four or five year-old computer might run into some difficulties in running the newest versions of Gnome programs (or the most up-to-date KDE applications, for that matter), this older computer should be able to run GTK-based programs quite easily. So if this is a prime consideration (running up-to-date programs on older hardware), between these three options, xfce is certainly the way to go.
But what if you just purchased the fastest upgrades possible? Perhaps you’re looking to pick between Gnome and KDE. This has been a hot topic for discussion on Linux forums for years. Each desktop environment has its fans, and all have very strong reasoning to back up their choice.
Between the two, the design concepts behind the development is key. The Gnome developers have consciously made an effort, much as Apple has with Mac OSX, to make things “just work.” Where there might be many ways to perform a task, the Gnome developers have attempted to look over each option, and provide the end user with what they feel is the best and most efficient way.
This generally causes one of two reactions. The first, from those who love Gnome, is that this decision is a wise one. “Why should I care if I can do something another way?” is a question often asked. “As long as I can do it, that’s all I care about.” The other reaction is from the other camp, which views that selection process as somewhat of a hindrance. “I want to decide how to do things,” is the argument. “Why don’t you let me see all my options, and let me decide which one is best for me?”
KDE, on the other hand, lets the user make many little decisions for him or herself. If a user wants a window border to be three pixels wide, then that can be accomplished. If three is too wide, then simply switch it to two, or one. This is a decision not easily made by a Gnome user, since that fine-tuning of a theme is left solely to the theme maker. Because of the ability to micromanage the user environment, certain users will feel overwhelmed by the options, while fans of KDE will feel perfectly content, and happy to have the choice available to them.
One other way in which the desktop environments differ is in how integrated the different programs are. In broad strokes, this can be accomplished for many programs. In each environment, clicking a web URL will open the default web browser, just as clicking on an email address will bring up the default email program.
KDE, however, has taken this integration a step further than either xfce or Gnome. The KDE file manager, for instance, also acts as a web browser, and with plugins, allows the user to browse his or her music collection, mounted audio/video media, as well as photo albums. What a user needs to decide is whether that is something desirable.
For many Linux users, the motto is “one program per task,” meaning that each program should do one thing, but do it better. “There’s no need,” they say, “for my music player to also rip music from my CD collection. I have another program to do that.” If this is true for a particular user, that is something to be considered.
So… which desktop environment is right for you? As previously stated, this article will come to no conclusions. It is strictly a how-to-choose article, not which-to-choose. The decision should be left completely up to the user. As is often the case, hands-on use of each environment will undoubtedly reveal both the beautiful and the ugly. There are wonderful features about each environment, and room for improvement in all three. What each user needs to do for him or herself is ask the question, “What kind of user am I?”
After this is determined, look at each environment, see which applications are available and what you might need to be at your most productive. Pick one, try it out, but don’t allow yourself to feel locked in. Try each desktop environment in turn. Learn new things about each one. After you have experienced all three, hopefully one will pop out at you, and you’ll be on your way to a happy, fulfilling computing experience.