This article is about the operating system and user interface schema. For desktop computing in general, seedesktop computer.
Incomputing, adesktop environment (DE) is an implementation of thedesktop metaphor made of a bundle of programs running on top of a computeroperating system that share a commongraphical user interface (GUI), sometimes described as agraphical shell. The desktop environment was seen mostly onpersonal computers until the rise ofmobile computing. Desktop GUIs help the user to easily access and edit files, while they usually do not provide access to all of the features found in the underlying operating system. Instead, the traditionalcommand-line interface (CLI) is still used when full control over the operating system is required.
While the termdesktop 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.[1] This usage has been popularized by projects such as theCommon Desktop Environment,KDE, andGNOME.
On a system that offers a desktop environment, awindow manager in conjunction with applications written using awidget toolkit are generally responsible for most of what the user sees. The window manager supports theuser interactions with the environment, while the toolkit provides developers asoftware library forapplications with a unified look and behavior.
Awindowing system of some sort generally interfaces directly with the underlyingoperating 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 awindowing toolkit, generally provided with the operating system or window manager. A windowing toolkit gives applications access towidgets that allow the user to interact graphically with the application in a consistent way.
The first desktop environment was created byXerox and was sold with theXerox 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.[dubious –discuss][2] With theLisa,Apple introduced a desktop environment on an affordablepersonal computer, which also failed in the market.
The desktop metaphor was popularized on commercial personal computers by the originalMacintosh fromApple in 1984, and was popularized further byWindows fromMicrosoft since the 1990s. As of 2014[update], the most popular desktop environments are descendants of these earlier environments, including theWindows shell used inMicrosoft Windows, and theAqua environment used inmacOS. When compared with theX-based desktop environments available forUnix-like operating systems such asLinux andBSD, theproprietary desktop environments included with Windows and macOS have relatively fixed layouts and static features, with highly integrated "seamless" designs that aim to provide mostly consistent customer experiences across installations.
Microsoft Windows dominates in marketshare among personal computers with a desktop environment. Computers using Unix-like operating systems such as macOS, ChromeOS, Linux, BSD or Solaris are much less common;[3] however, as of 2015[update] there is a growing market for low-cost Linux PCs using theX Window System orWayland with a broad choice of desktop environments. Among the more popular of these are Google'sChromebooks andChromeboxes, Intel'sNUC, theRaspberry Pi, etc.[citation needed]
On tablets and smartphones, the situation is the opposite, with Unix-like operating systems dominating the market, including theiOS (BSD-derived),Android,Tizen,Sailfish andUbuntu (all Linux-derived). Microsoft'sWindows phone,Windows RT andWindows 10 are used on a much smaller number of tablets and smartphones. However, the majority of Unix-like operating systems dominant on handheld devices do not use the X11 desktop environments used by other Unix-like operating systems, relying instead on interfaces based on other technologies.
A brief timeline of the most popular modern desktop environments for Unix-like operating systems (greyscale logos indicate when the project's development started, while colorized logos indicate the project's first official release)
On systems running theX Window System (typically Unix-family systems such as Linux,the BSDs, and formalUNIX distributions), desktop environments are much more dynamic and customizable to meet user needs. In this context, a desktop environment typically consists of several separate components, including awindow manager (such asMutter orKWin), afile manager (such asFiles orDolphin), a set ofgraphical themes, together withtoolkits (such asGTK+ andQt) andlibraries for managing the desktop. All these individual modules can be exchanged and independently configured to suit users, but most desktop environments provide a default configuration that works with minimal user setup.
Some window managers—such asIceWM,Fluxbox,Openbox,ROX Desktop andWindow Maker—contain relatively sparse desktop environment elements, such as an integratedspatial file manager, while others likeevilwm andwmii do not provide such elements. 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-calledKIO slaves which give the user access to a wide range of virtual devices. These I/O slaves are not available outside the KDE environment.
In 1996 the KDE was announced, followed in 1997 by the announcement of GNOME.Xfce is a smaller project that was also founded in 1996,[4] and focuses on speed and modularity, just likeLXDE which was started in 2006. Acomparison of X Window System desktop environments demonstrates the differences between environments. GNOME and KDE were usually seen as dominant solutions, and these are still often installed by default on Linux systems. Each of them offers:
To translators, a collaboration infrastructure. KDE and GNOME are available in many languages.[5][6]
To artists, a workspace to share their talents.[7][8]
To ergonomics specialists, the chance to help simplify the working environment.[9][10][11]
To developers of third-party applications, a reference environment for integration. OpenOffice.org is one such application.[12][13]
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.[14] The Appeal[15] and ToPaZ[16] projects focused 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 Unix-like desktop environments, most obviously the X Window System. Accordingly, thefreedesktop.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, users of less powerful or older computers often prefer alternative desktop environments specifically created for low-performance systems. Most commonly used lightweight desktop environments includeLXDE and Xfce; they both useGTK+, which is the same underlying toolkit GNOME uses. TheMATE desktop environment, a fork ofGNOME 2, is comparable to Xfce in its use of RAM and processor cycles, but is often considered more as an alternative to other lightweight desktop environments.
For a while, GNOME and KDE enjoyed the status of the most popular Linux desktop environments; later, other desktop environments grew in popularity. In April 2011, GNOME introduced a new interface concept with itsversion 3, while a popular Linux distributionUbuntu introduced its own new desktop environment,Unity. Some users preferred to keep the traditional interface concept of GNOME 2, resulting in the creation ofMATE as a GNOME 2 fork.[17]
Many mainstream desktop environments for Unix-like operating systems, including KDE, GNOME, Xfce, and LXDE, use the X Window System orWayland, any of which may be selected by users, and are not tied exclusively to the operating system in use. The desktop environment formacOS, which is also a Unix-like system, isAqua, which uses theQuartz graphics layer, rather than using X or Wayland.
A number of other desktop environments also exist, including (but not limited to)CDE,EDE,GEM,IRIX Interactive Desktop, Sun'sJava Desktop System,Jesktop, Mezzo,Project Looking Glass,ROX Desktop,UDE,Xito, XFast. Moreover, there exists FVWM-Crystal, which consists of a powerful configuration for theFVWM window manager, a theme and further adds, altogether forming a "construction kit" for building up a desktop environment.
TheAmiga approach to desktop environment was noteworthy: the originalWorkbench desktop environment inAmigaOS evolved through time to originate an entire family of descendants and alternative desktop solutions. Some of those descendants are the Scalos,[18] theAmbient desktop ofMorphOS, and theWanderer desktop of theAROS open source OS. WindowLab also contains features reminiscent of the Amiga UI. Third-partyDirectory Opus software, which was originally just anavigational file manager program, evolved to become a complete Amiga desktop replacement called Directory Opus Magellan.
TheBumpTop project was 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.