Comparison of X Window System desktop environments

From Wikipedia, the free encyclopedia

A desktop environment is a collection of software designed to give functionality and a certain look and feel to an operating system.

This article applies to operating systems which are capable of running the X Window System such as Linux and BSD and Mac OS X.[1] Microsoft Windows is incapable of natively running the X Window system. However, third party X servers like Xming are available for Microsoft Windows which make the system capable of running the X Window system.[2]


Contents

[edit] Elements of a desktop environment

A desktop environment (DE) can be broken up into several components that function independently and interact with one another to provide the look and feel and functionality of the desktop environment. A fundamental part of a DE is the window manager or WM. A window manager creates a certain way for application windows to present themselves to the user. It manages the various application windows, keeping track of which ones are open and providing features to switch between them. Another important element of a DE is the file manager. This application manages files/ folders and presents them in a way that the user finds convenient. It provides file operations like viewing, copying or moving, changing permissions and deleting. DEs usually provide utilities to set wallpapers and screensavers, display icons on the desktop, and perform some administrative tasks. They may optionally include word processors, CD/DVD writing applications, web browsers and e-mail clients.

Some exceptions must be noted here. Window managers like Fluxbox, wmii and Ratpoison operate independently of a desktop environment and were written with this objective in mind. Additional hand-picked applications add functionality such as a panel and volume management which gives them some of the qualities of a full DE. This contrasts the behaviour of WMs like Metacity and KWin which were not written with the objective of operating independently of a DE.

KDE and GNOME are written almost completely on special software libraries Qt and GTK respectively.[3] This usually means that virtually every component of the desktop environment including the file manager explicitly depends on that library for its functioning.

KDE file manager Dolphin running under GNOME
KDE file manager Dolphin running under GNOME

Obviously, nothing prevents the user from installing any number of software libraries of his/her choice. In practice, software written on major libraries can be run under any desktop environment. Running a package designed for one desktop (which essentially means that it's written using the same libraries as the desktop itself is) within a different desktop can be visually displeasing, as well as incurring the RAM penalty of loading libraries that wouldn't otherwise be required.

Choosing the right desktop environment is essential to ensure streamlined work flow. Some of the differences influencing a choice are:

  • Look and feel of the desktop environment. The user will be more comfortable with a certain Look and feel that he/she may or may not already familiar with.
  • Flexibility and configurability of the desktop environment. A sophisticated user might want a highly configurable desktop environment to make the desktop environment work the way he/she wants. A beginning user might just want an easy-to-use environment to which he/she will adjust.
  • Personal preferences for choice of software, which has two aspects:
  • Each desktop environment comes packaged with various default software and various "ways things are done" under that desktop. A casual user might like a highly integrated graphical interface to change various settings while a more experienced user might prefer to use individual configuration utilities or even CLI tools.
  • Desktops are also often closely tied into various major functional components of the desktop manager (example: file manager, browser, word processor); whilst "mix and match" is possible, it is generally pleasing to make choices which result in a consistent look and feel of programs under the chosen desktop environment. Making choices based on what software integrates with a chosen desktop environment necessarily limits the weight that can be given to other application features.

[edit] Desktop comparison information

[edit] Outer view of different classes of desktop environments

For convenience, the desktop environments have been classified into five classes only for the purpose of representation in this table. The classes are listed approximately in the order magnitude of size of project. Note that many desktop environments are not in the table, but nearly all desktop environments should fall into one of the five categories. The table also includes X window managers which are not desktop environments, but often mistaken for same.

GNOME KDE Xfce and ROX Étoilé Equinox Enlightenment Blackbox and its derivatives Ratpoison, wmii, dwm, xmonad, WindowLab, and Ion
Full environments Window manager only
Main objective[4] Creating an attractive desktop environment using outstanding graphical design that can be used by everyone Lightweight. Well designed, clearly presented for productivity. Go faster while conserving resources Lightweight, modularity, portability. Advanced graphical libraries, tools and environments Fast, lightweight. Nearly zero library dependencies. No additional software packaged. Ultra low memory consumption Super-minimalistic. No fancy graphics. Scant, if any, window decoration. Belief in concise, elegant code
Programming language[5] Mainly C, as GTK+ is written in C Mainly C++, as Qt is written in C++ Mainly C, as GTK+ is written in C Objective-C C++ C C++, C (Openbox) C, Lua, Haskell, Lisp, Common Lisp
Additional library dependencies[6] GNOME KDELibs GTK+. Additionally, libxfce* for XFCE. None EFL None None
Toolkit used[7] GTK+ and GTK2+ Qt GTK+ and GTK2+ GNUStep eFLTK Provided by EFL None None
Size (base system, X installed)[8] ~180 MB ~210 MB Xfce: ~15 MB, ROX: ~780 KB EDE: ~3 MB, eFLTK: ~600 KB DR16: ~3 MB, DR17: ? Blackbox: ~350 KB, Fluxbox: ~800 KB The wmii package is close to 10,000 lines of code and 90 kB in size. Dwm is less than 2000 lines of code.

[edit] Default programs packaged

This table shows basic information on the default programs of some desktop environments for the X Window System:

GNOME KDE Xfce ROX Desktop Étoilé Equinox
X window manager Metacity KWin Xfwm4 OroboROX Azalea edewm
X display manager GDM KDM none
File manager Nautilus Konqueror/Dolphin (KDE4) Thunar ROX Filer Efiler
Widget toolkit GTK+ Qt GTK+ GTK+ GNUStep eFLTK
Terminal emulator GNOME Terminal Konsole Terminal ROXTerm aterm none
Text editor gedit Kate Mousepad Edit TextEdit none
Video player Totem Kaffeine Xfmedia mplayer-rox none
Audio player Rhythmbox Amarok Xfmedia MusicBox none
CD burners Brasero K3b Xfburn RoxISO none
CD ripper Sound Juicer KAudioCreator none Ripper none
Image viewer Eye of GNOME KView Ristretto Picky Eimage
Office suite GNOME Office KOffice none none none
Web browser Epiphany Konqueror none none none
E-mail client Novell Evolution Kontact none none none
Instant messenger Pidgin Kopete none
Archive manager File Roller Ark Xarchiver Archive none
PDF viewer Evince Okular none

[edit] Comparison of ease of use and stability

GNOME and KDE Xfce and ROX Enlightenment Blackbox and its derivatives Ratpoison, wmii, dwm and Ion
Level of expertise required GNOME and KDE clearly specify ease of use as one of their primary project objectives XFCE and ROX Desktop have their own share of graphical applications making a user's life easier Enlightenment uses very radical and unique concepts which require a little bit of patience to learn[9] Reading the documentation is an absolute necessity for some users to even change menu[10] It is practically impossible for a user unfamiliar with window managers to even launch an application in these window managers[11]
Ease of use/ configuration Graphical applications such as KDE's control centre make performing administrative tasks easy for a new user Not as many extensive applications to perform administrative tasks Configuration in Enlightenment is aided by graphical tools, with much preconfigured. Easy to use, but there is a learning curve for advanced features. No additional graphical applications are included although some are available to do common *box-related tasks[12] No graphical applications for configuring the desktop are included. Configuration files can be edited by hand or third-party graphical tools can be used.
Stability Although many bugs have been reported, the size of these projects is also huge.[13](see: Linus's Law) Very stable ? Being small projects, they have fewer moving parts and therefore fewer bugs Although ratpoison has a few bugs, wmii is inherently very stable[14]

GNOME's graphical file manager Nautilus is very easy to use and is packed with a lot of features making it easy for new Linux users to easily pick up and understand its working.[15] KDE's Konqueror is also very easy to use, both as a file manager and as a web browser.[16] However this ease of use comes at a price, as both Nautilus and Konqueror are noticeably slower than lighter weight file managers. Some users object to their multifarous nature as both local file browser and remote client, fearing security issues and preferring a more minimalist approach. Both GNOME and KDE come with many pre-packaged graphical configuration tools, reducing the need to manually edit configuration files for new users. They have extensive bundled software such as graphical menu editors, text editors, audio players, and software for doing administrative work. All applications installed in most distributions are automatically added to the GNOME and KDE menus. No major configuration changes are necessary to begin working. However, by using graphical tools, the extent to which the desktops can be configured is determined by the power provided by those tools.


Blackbox, Fluxbox, Ratpoison, Ion and wmii require users to edit configuration files by hand to configure virtually every aspect of the desktop environment and are hence highly configurable. A new user, however, may feel uncomfortable without any graphical tools. These window managers also do not provide any additional software like file managers, text editors or web browsers, leaving it up to their users to decide upon the software they prefer.[17] Some users state they prefer these desktops over traditional "bloated" desktops as they claim it increases their productivity significantly.[citation needed]

[edit] Compatibility and interoperability issues

Although there are some major issues with using some applications made for KDE on GNOME and vice versa, they are likely to be ironed out in the future. An example of such an issue would be using k3b on GNOME and using the "Send to trash" feature from the interface. The feature fails due to the simple fact that GNOME and KDE don't use the same trash:// protocols. Some desktop environments claim that they support applications made for other desktops explicitly. For example, Fluxbox states KDE support in its feature list.[18] Using software made specifically for the desktop environment in use or Window Manager agnostic software is a way to avoid these issues. For software developers, the Portland Project has released a set of common interfaces that allows applications to integrate across many desktop environments.[19]

[edit] See also

[edit] Notes

  1. ^ XFree86 Official Website line 5
  2. ^ Xming project homepage on SourceForge
  3. ^ Official websites of GNOME and KDE
  4. ^ Excerpts from official websites
  5. ^ Analysis of source code tells the programming language used
  6. ^ Dependency list for metapackages
  7. ^ Excerpts from official websites
  8. ^ Reported apt-get installation size on a very basic Debian GNU/Linux system with X
  9. ^ The EFL has several components specialising in its own tasks. EFL is based on some unique ideas.
  10. ^ Fluxbox wiki FAQs
  11. ^ Guide to wmii-3
  12. ^ Examples include fluxconf, fbdesk and fbpager for fluxbox.
  13. ^ Official bug trackers of GNOME and KDE
  14. ^ This is due to its 9P base
  15. ^ Official Nautilus screenshots page
  16. ^ Official Konqueror features page
  17. ^ Their official websites: Blackbox, Fluxbox, Ion, Ratpoison, and wmii
  18. ^ Fluxbox official website line 15
  19. ^ Linux leaps toward KDE/GNOME compatibility

[edit] References

[edit] External links