Operating Systems‎ > ‎Choosing a Linux distro‎ > ‎

Desktop Environments

Another important choice to make when deciding on a Linux distro is one of the many desktop environments that exist. The X window system is nothing more than a very basic interface framework.It wasn’t until KDE and Gnome in the late 90‘s that Linux became interesting for the public to try. Before that, desktops were either very nerdy, incomplete, buggy or just plain ugly compared to the competition (i.e. Windows).

KDE was the first full featured desktop environment to appear, that was easy to learn and use. Just like the early window managers it came with it's own share of bugs. Not all the windows would render properly and sometimes window elements would just disappear. This was a combination of bugs in the window managers but also the video drivers. Other than that it was quite complete and very functional. All in all a huge improvement over the then popular window managers IceWM and FVWM95 which lacked an overall desktop vision and a feel of integration.


KDE ver. 1.0 (1998)

From a glance KDE looks very similar to Windows 95 which was not surprising given the fact so many projects copied that. An issue with KDE was the fact that it was build using Qt, a library developed by Nokia which wasn't fully open source at the time. Thus another desktop environment was created using only open source libraries, Gnome.

What is a desktop environment anyway?

As mentioned, a desktop environment consists of many components to create an environment in which a user can perform various tasks straight out of the box. It includes at least a window manager, a panel (taskbar), a file manager, image viewer, audio player, browser, icons, themes and some tools for managing the desktop. Another factor is integration of other tools to extend functionality. Software for example that automatically mounts your USB stick so you can access it without additional actions.
Also we need some toolkits that make it easier for programmers to create GUI's with and create a consistent "look and feel" for the user. On Linux there are two major toolkits available, Qt and GTK. Now if you already started to get confused about the various desktop environments, window managers and the X window system you're in for a serious overload. Have a look at this schematic representation of the GTK toolkit:


Perhaps now is a good time to pour yourself a glass of strong spirit. What you're looking at is all the libraries that make your programs appear on the screen with nice fancy eye candy.
Now why is it important to know all this? Well actually i just wanted to give you an idea how complex GUI's are and how easily things can break if one of those libraries does not function anymore. Also there is the matter of performance vs. eye candy. The more eye candy, the more sluggish your GUI will perform.

Back to the easy stuff, would you have guessed that something as simple as copying some text in an application and pasting it into another is actually a feature of a desktop environment?
Try to think of all the apparently simple tasks we take for granted in an OS these days, wouldn't that suck not having those? Well that's what makes a desktop environment, it's the little 'invisible' stuff that matters.

Lightweight or full featured?

Thanks to the good ol' Internet, communities really started to pick up the pace and were quickly able to improve the quality of desktop environments. Because of the need for quality, performance was of lesser concern to the first desktop environments (KDE and Gnome).
These desktop environments eventually started to become quite bloated and slowed the system down considerably. Other projects like Xfce gained interest again because of the performance issues with KDE and Gnome. But the efforts made on the KDE and Gnome projects were helping these other projects too, since artwork and programs could be shared among them.
Thus not much later even more lightweight environments emerged like LXDE, Openbox and Enlightenment. These environments did not require state of the art hardware and could be run on older computers with low RAM and simple videocards.

In general the latest technology and eye candy is used on the Gnome and KDE environments, which are also the most comprehensive in terms of usability and productivity.
Forks of the Gnome desktop are Cinnamon based on version 3 and MATE which is based on version 2 of Gnome. This was due to radical changes in the 3rd version of Gnome which were not embraced by all users.

An overview of the most common desktop environments:

 Full featured Lightweight Bare-bones
 KDE Xfce Openbox/Fluxbox/Blackbox
 Gnome LXDE IceWM
 MATE (Gnome 2 fork)
 Enlightenment
 Equinox
 Cinnamon (Gnome fork) ROX 

Full featured
These desktops were designed with quality and completeness in mind. All the tasks that are common on other OS's are available out of the box with nice GUI's to access them, like copying a file over the local network or configuring your hardware trough a configuration panel.

Lightweight
Still very complete, has all the things you would normally expect to have minus some eye candy and integration. I would say Xfce is usually the best equipped of the bunch.

Bare-bones

Usually these consist of nothing more than a window manager, which means you'll have add the rest yourselves like a panel (taskbar), file manager, text editor, etc.
Many distro's however adopted these (Openbox especially) and build complete desktop environments around them, LXDE is actually build on top of Openbox. This does mean however these bare-bone environments do not have a consistent appearance, every distro could be different.

Which desktop environment fits my system?

End of life, with dedicated GPU
1GB+ RAM
 Netbooks & Ghz desktops
 Vintage
 KDE Xfce LXDE/LXQt IceWM, JWM
 Gnome MATE Openbox
 Equinox
 Cinnamon  Enlightenment Blackbox
    ROX

End of life, with dedicated GPU
Keep in mind that these desktops will also run fine on older machines, but it has to be said this ruins the experience. Thus a decent GPU is needed, preferably a dedicated one. I would say for ATI anything from the HD3xxx series or newer and for Nvidia the Geforce 8 series and up. These environments are so customizable you can make it look like anything you desire, Windows XP, Apple's OS X or how about an Android clone?

1GB+ RAM
If resources are limited, one can choose Xfce or MATE which are more lightweight but still fully functional and user friendly. For those Windows XP addicts, choose Xfce.

Netbooks & Ghz desktops
If you really run an old beast or one of those underpowered netbooks and still need a proper desktop environment, LXDE and Enlightenment are the only choices left. Although complete you might be missing a little functionality, this can be interpreted as some simple tasks like copying some text, taking a screenshot, using media buttons on a keyboard. It is up to the distro makers to fill in these gaps.

Vintage
Equinox and ROX still promise desktop environments, but we're now lacking a lot of programs that provide system integration. You can also resort to just a window manager like IceWM, JWM or Blackbox and if you are the true minimalist and like the extreme have a look Ratpoison or Xmonad.

Additional information

Screenshots
KDEXfceLXDEIceWM, JWM
GnomeMATEOpenbox
Equinox
Cinnamon EnlightenmentBlackbox
   ROX


Wikipedia
Reviews