page_title: Comparison of X Window System desktop environments
section_title: Technical elements of a desktop environment
hierarchical_section_title: Comparison of X Window System desktop environments / Technical elements of a desktop environment
context_page_description: A desktop environment is a collection of software designed to give functionality and a certain look and feel to an operating system.
  Microsoft Windows is incapable of natively running X applications; however, third-party X servers like Cygwin/X, Exceed, or Xming are available.
context_section_description: 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.
  There are some exceptions: 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 Software Compilation and GNOME are written almost completely on special software libraries Qt and GTK+ respectively. This usually means that virtually every component of the desktop environment including the file manager explicitly depends on that library for its functioning.
  Notably, nothing prevents the user from installing any number of software libraries of their 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.
  Some of the differences which can influence the choice of desktop environment are:
  Look and feel of the desktop environment. The user will be more comfortable with a certain look and feel that they may or may not already be 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 they want. A beginning user might just want an easy-to-use environment to which they 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.
caption: X Window System desktop environments timeline.