- Desktop environment
In graphical computing, a desktop environment (DE) commonly refers to a style of graphical user interface (GUI) derived from the desktop metaphor that is seen on most modern personal computers. These GUIs help the user in easily accessing, configuring, and modifying many important and frequently accessed specific operating system (OS) features. The GUI usually does not afford access to all the many features found in an OS. Instead, the traditional command-line interface (CLI) is still used when full control over the OS is required in such cases.
A GUI might also provide drag and drop functionality and other features that make the desktop metaphor more complete. A desktop environment aims to be an intuitive way for the user to interact with the computer using concepts which are similar to those used when interacting with the physical world, such as buttons and windows.
While the term desktop environment originally described a style of user interfaces following the desktop metaphor, it has also come to describe the programs that realize the metaphor itself. This usage has been popularized by the Common Desktop Environment and the K Desktop Environment.
On a system that offers a desktop environment, a window manager in conjunction with applications written using a widget toolkit are generally responsible for most of what the user sees. A windowing system of some sort generally interfaces directly with the underlying operating system and libraries. This provides support for graphical hardware, pointing devices, and keyboards. The window manager generally runs on top of this windowing system. While the windowing system may provide some window management functionality, this functionality is still considered to be part of the window manager, which simply happens to have been provided by the windowing system.
Applications that are created with a particular window manager in mind usually make use of a windowing toolkit, generally provided with the operating system or window manager. A windowing toolkit gives applications access to widgets that allow the user to interact graphically with the application in a consistent way.
History and common use
The first desktop environment was by Xerox and was sold with the Xerox Alto in the 1970s. The Alto was generally considered by Xerox to be a personal office computer; it failed in the marketplace because of poor marketing and a very high price tag. With the Lisa, Apple introduced a desktop environment on an affordable personal computer, which also failed in the market.
On personal computers the most popular desktop environments are the one included with the Microsoft Windows operating system followed by the desktop environment of Mac OS X. When compared with desktop environments for Linux, the ones included with these operating systems are relatively unalterable.
Although, with the exception of Macs, which are shipped with Mac OS X, personal computers using Linux and other Unix-like OSs are still much less common, in recent years there has been a growing market for low cost Linux PCs that use the X Window System. These machines support many X11-based desktop environments.
Desktop environments for the X Window System
On systems running the X Window System (typically Unix-like systems such as Linux), the desktop environment is much more flexible. In this context, a desktop environment typically consists of a window manager (such as Metacity or KWin), a file manager (such as Nautilus or Dolphin), a set of themes, and programs and libraries for managing the desktop. All of these individual modules can be exchanged and individually configured to achieve a unique combination, but most desktop environments provide a default configuration that requires minimal user input.
Not all of the program code that is part of a desktop environment has effects which are directly visible to the user. Some of it may be low-level code. KDE, for example, provides so-called KIOslaves which give the user access to a wide range of virtual devices. These I/O slaves are not available outside the KDE environment.
Initially, CDE was available as a proprietary solution, but was never popular on Linux systems due to cost and licensing restrictions. In 1996 the KDE was announced, followed in 1997 by the announcement of GNOME. Xfce is a smaller project that was also founded in 1997, and focuses on speed and modularity, just like LXDE which was started in 2006. A comparison of X Window System desktop environments demonstrates the differences between environments. Today, GNOME and KDE are the dominant solutions, and these are often installed by default on GNU/Linux systems. Each of them offers:
- To programmers, a set of standard APIs, a programming environment, and human interface guidelines.
- To translators, a collaboration infrastructure. KDE and GNOME are available in many languages.
- To artists, a workspace to share their talents.
- To ergonomics specialists, the chance to help simplify the working environment.
- To developers of third-party applications, a reference environment for integration. OpenOffice.org is one such application.
- To users, a complete desktop environment and a suite of essential applications. These include a file manager, web browser, multimedia player, email client, address book, PDF reader, photo manager, and system preferences application.
In the early 2000s KDE reached maturity, along with GNOME. Still active, the Appeal and ToPaZ projects focus on bringing new advances to the next major releases of both KDE and GNOME respectively. Although striving for broadly similar goals, GNOME and KDE do differ in their approach to user ergonomics. KDE encourages applications to integrate and interoperate, is highly customizable, and contains many complex features, all whilst trying to establish sensible defaults. GNOME on the other hand is more prescriptive, and focuses on the finer details of essential tasks and overall simplification. Accordingly, each one attracts a different user and developer community. Technically, there are numerous technologies common to all Linux desktop environments, most obviously the X Window System. Accordingly, the freedesktop.org project was established as an informal collaboration zone with the goal being to reduce duplication of effort.
As GNOME and KDE focus on high-performance computers, those users with old slow hardware often use alternative desktop environments specifically created for low-performance systems. The two most common lightweight desktop environments are LXDE and Xfce. Both use GTK+, the same underlying toolkit as GNOME.
Examples of desktop environments
The most common desktop environment on personal computers is Microsoft Windows' built-in interface. It is titled Luna in Windows XP and Aero in Windows Vista and Windows 7. Also common is Aqua, included with Apple's Mac OS X.
A number of other desktop environments also exist, including (but not limited to) CDE, EDE, GEM, IRIX Interactive Desktop, Sun's Java Desktop System, Jesktop, Mezzo, Project Looking Glass, ROX Desktop, UDE, Xito, XFast.
Moreover, there exists FVWM-Crystal, which consists of a powerful configuration for the FVWM window manager, a theme and further adds, altogether forming a "construction kit" for building up a desktop environment.
X window managers that are meant to be usable stand-alone—without another desktop environment—also include elements reminiscent of those found in typical desktop environments, most prominently Enlightenment. Other examples include OpenBox, Fluxbox, WindowLab, Fvwm, as well as Window Maker and AfterStep, which both feature the NeXTSTEP GUI look and feel.
The Amiga approach to desktop environment was noteworthy: the original Workbench desktop environment in AmigaOS evolved through time to originate an entire family of descendants and alternative desktop solutions. Some of those descendants are the Scalos, the Ambient desktop of MorphOS and the Wanderer desktop of the AROS open source OS. WindowLab also contains features reminiscent of the Amiga UI. Third party Directory Opus software which was originally just a navigational file manager program then evolved to became to a complete Amiga desktop replacement called Directory Opus Magellan.
The BumpTop project is an experimental desktop environment. Its main objective is to replace the 2D paradigm with a "real-world" 3D implementation, where documents can be freely manipulated across a virtual table.
- Comparison of X Window System desktop environments
- History of the graphical user interface
- Shell (computing)
- Window manager
- Y Window System
- ^ Desktop Metaphor
- ^ WIMP Interfaces
- ^ Window managers and desktop environments - Linux 101
- ^ The Xerox Alto
- ^ Operating System Market Share
- ^ KDE Localization
- ^ GNOME Internationalization
- ^ KDE-Artists: Where life imitates art
- ^ GNOME Art: Artwork and Themes
- ^ OpenUsability
- ^ GNOME Human Interface Guidelines
- ^ KDE User Interface Guidelines
- ^ KDE OpenOffice.org
- ^ GNOME OpenOffice.org
- ^ Linux Usability Report v1.01
- ^ The official Appeal site
- ^ The official ToPaZ site
Window management topics Methods Tiling examples Stacking examples Compositing examples Systems with WMs Components Related reading
Wikimedia Foundation. 2010.