Desktop environment
68334
219650883
2008-06-16T06:59:15Z
ElBlues
7289733
/* Examples of Desktop Environments */
In graphical computing, a '''desktop environment''' ('''DE''') commonly refers to a style of [[graphical user interface]] (GUI) that is based on the [[desktop metaphor]] which can be seen on most modern personal computers today. <ref>http://www.csdl.tamu.edu/~l0f0954/academic/cpsc610/hw2-3.htm</ref> Desktop environments are the most popular alternative to the older [[command line interface]] (CLI) which today is generally limited in use to computer professionals. <ref>http://www.infovis.net/printMag.php?lang=2&num=70</ref>
A desktop environment typically consists of [[icon (computing)|icon]]s, [[Window (computing)|windows]], [[toolbar]]s, [[directory (file systems)|folder]]s, [[computer wallpaper|wallpaper]]s, and [[Widget_engine|desktop widgets]]. (See [[WIMP (computing)|WIMP]].) <ref>http://www.cc.gatech.edu/classes/cs6751_97_winter/Topics/dialog-wimp/</ref>
Software which provides a desktop environment might also provide [[drag and drop]] functionality and other features which make the [[desktop metaphor]] more complete. On the whole, a desktop environment is 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.
== Conflicting Terminology ==
The term desktop environment did not originally refer to software, and was adopted as a way to describe a particular style of user interface provided by that software. Desktop environment therefore is first and foremost describing the style of a user interface, in that it is like a desktop. <ref>http://www.csdl.tamu.edu/~l0f0954/academic/cpsc610/hw2-3.htm</ref>
However a program, or set of programs which simulate a desktop environment may sometimes themselves be referred to as a desktop environment, with a desktop environment being considered either a [[window manager]], or a suite of programs which includes a [[window manager]]. There is some disagreement on precisely what constitutes a desktop environment, and how one distinguishes one from a window manager. <ref>http://learn.clemsonlinux.org/wiki/Window_managers_and_desktop_environments</ref>
While historically, and even logically, this may seem incorrect as a suite of applications are obviously not required to provide [[desktop metaphor]], suites such as the [[KDE|The K Desktop Environment]] have popularized this usage, and may provide a more complete desktop environment consisting of a number of supporting programs, configuration tools, and in the case of [[KDE]] a large number of other applications such as office and productivity software, and games. <ref>http://www.kde.org/</ref>
A more correct term for application suites like KDE might be something more along the lines of a desktop manager. However for the moment the term '''desktop environment''' in relation to computer science both refers to a type of user interface, and to a lesser extent a particular class of [[window manager]].
== Desktop Environment Implementation ==
On a system which offers a desktop environment, a [[window manager]] in conjunction with a applications written using a [[widget toolkit]] are generally responsible for the majority 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 which 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]] which allow the user to interact graphically with the application in a consistent manner.
== History and Common Use ==
[[Apple Inc.|Apple]] had the first desktop environment on an affordable [[personal computer]], which first appeared on the [[Apple Lisa|Lisa]]. However 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, but failed in the market place due to poor marketing and a very high price tag. <ref>http://toastytech.com/guis/alto.html</ref>
Today, most popular operating systems come pre-installed with an operating system that provides a desktop environment. While traditionally these computer have used [[Microsoft Windows]] and to a lesser extent [[Mac OS]] whose desktop environments are relatively unalterable.
Although [[Linux]] and [[UNIX]] are still much less common in home and [[personal computer]]s, in recent years there has been a growing market for low cost [[Linux]] PCs, which use the [[X window system]], and supports a very large number of possible desktop environments through the use of interchangeable [[X window manager]]s. However [[Linux]] is still considered harder to use than Windows and Mac, and has traditionally seen its greatest popularity among computing professionals, and in the server market. <ref>http://www.business-standard.com/common/news_article.php?leftnm=8&subLeft=1&chklogin=N&autono=320409&tab=r</ref>
== X Window System ==
{{main|X Window System}}
On systems running the [[X Window System]] (typically [[Unix-like]] systems), the desktop environment is much more flexible. In this context, a DE typically consists of a [[window manager]] (such as [[Metacity]] or [[KWin]]), a [[file manager]] (such as [[Nautilus (file manager)|Nautilus]] or [[Konqueror]]), a set of [[skin (computing)|theme]]s, 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 DE has effects which are directly visible to the user. Some of it may be low-level code. [[KDE]], for example, provides so-called [[KIO]]slaves which give the user access to a wide range of virtual devices. These I/O slaves are not available outside the KDE environment.
An ''X Window System desktop environment'' combines a [[window manager]] with a suite of standard applications that adhere to [[human interface guidelines]] and runs under the [[X Window System]]. They are often used with operating systems such as [[Linux]]. Whereas a window manager is analogous to the [[Aqua (user interface)|Aqua]] user interface for OS X, a Linux desktop environment is analogous to Aqua as well as all of the default OS X graphical applications and configuration utilities. Some window managers such as [[IceWM]], [[Fluxbox]] and [[Windowmaker]] contain rudimentary desktop environments, while others like [[evilwm]] and [[wmii]] do not. Initially, [[Common Desktop Environment|CDE]] was available as a proprietary solution, but was never popular on Linux systems due to cost and licensing restrictions.{{Fact|date=February 2007}}<!--if you can find a ref for this, great.--> 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. A [[comparison of X Window System desktop environments]] demonstrates the differences between environments. Today, [[GNOME]] and [[KDE]] are the dominant solutions, and often installed by default on 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.<ref>[http://l10n.kde.org KDE Localization]</ref><ref>[http://www.gnome.org/i18n/ GNOME Internationalization]</ref>
* To artists, a workspace to share their talents.<ref>[http://www.kde-artists.org/ KDE-Artists: Where life imitates art]</ref><ref>[http://art.gnome.org/ GNOME Art: Artwork and Themes]</ref>
* To ergonomics specialists, the chance to help simplify the working environment.<ref>[http://openusability.org/ OpenUsability]</ref><ref>[http://developer.gnome.org/projects/gup/hig/ GNOME Human Interface Guidelines]</ref><ref>[http://developer.kde.org/documentation/design/ui/ KDE User Interface Guidelines]</ref>
* To developers of third-party applications, a reference environment for integration. OpenOffice.org is one such application.<ref>[http://kde.openoffice.org/ KDE OpenOffice.org]</ref><ref>[http://www.gnome.org/projects/ooo/ GNOME OpenOffice.org]</ref>
* 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 these two environments reached maturity.<ref>[http://www.linux-usability.de/download/linux_usability_report_en.pdf Linux Usability Report v1.01]</ref><!--need a citation for GNOME; apparently the ref deals with KDE-->{{Fact|date=February 2007}} Still active, the Appeal<ref>[http://appeal.kde.org/ The official Appeal site]</ref> and ToPaZ<ref>[http://live.gnome.org/ThreePointZero The official ToPaZ site]</ref> 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.
== Examples of Desktop Environments ==
<gallery>
Image:Gnome-2.20-screenshot.png|[[GNOME]]
Image:Kde35.png|[[KDE]]
Image:Xfce-4.4.png|[[Xfce]]
Image:102shot xft1.png|[[EDE]]
Image:Etoiledock.png|[[Étoilé]]
Image:Enlightenment DR17 Screenshot.png| [[Enlightenment (window manager)|Enlightenment]]
Image:Wmaker-0.80.2.png|[[Window Maker]]
Image:Xfast03.gif|[[XFast]]
Image:AmigaOS4.png| [[Workbench_(AmigaOS)|Workbench]]
</gallery>
The most common desktop environment on personal computers is the one provided by Microsoft Windows; another common environment is the one provided by Apple Mac OS X.
Other mainstream desktop environments for Unix-like operating systems using the X Window System include [[KDE]], [[GNOME]], [[Xfce]] and [[Common Desktop Environment|CDE]].
A number of other desktop environments also exist, including (but not limited to): [[Aston shell|Aston]], [[EDE]], [[Graphical Environment Manager|GEM]], [[IRIX Interactive Desktop]], Sun's [[Java Desktop System]], [[Mezzo (desktop environment)|Mezzo]], [[Project Looking Glass]], [[ROX Desktop]], [[UDE]], [[Xito]], [[XFast]].
[[X window manager]]s 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 (window manager)|Enlightenment]]. Other examples include [[Window Maker]] and [[AfterStep]], which both feature the [[NEXTSTEP]] [[GUI]] look and feel.
The [[Amiga]] approach to desktop environment was noteworthy; the original [[Workbench (AmigaOS)|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 [[AmigaOS]] 4.0 Workbench based on the [[ReAction_GUI]] object oriented GUI engine, the [[Ambient desktop]] of [[MorphOS]] based on the [[Magic User Interface|MUI]] (Magical User Interface) object-oriented GUI engine, the [[ScalOS]] third-party desktop environment for Amiga, the [[Zune (AROS)|Zune]] graphical environment of the [[AROS]] open source OS, and the [[Feelin]] third party programming environment which has its internal GUI engine built on the [[XML]] markup language. Third party [[Directory Opus]] software which was originally just a [[File_manager#Navigational_file_manager|navigational file manager]] program then evolved to became to a complete Amiga desktop replacement called DirOpus "Magellan".
There is the [[Workplace Shell]] that runs on IBM [[OS/2]] or [[eComStation]].
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.
== See also ==
* [[Shell (computing)]]
* [[History of the graphical user interface]]
* [[X window manager]]
* [[Comparison of X Window System desktop environments]]
* [[GNOME]]
* [[KDE]]
* [[XFast]]
== References ==
{{reflist}}
{{Window Managers}}
[[Category:X Window System]]
[[Category:Graphical user interface]]
[[Category:Desktop environments]]
[[ar:بيئة سطح المكتب]]
[[ca:Entorn d'escriptori]]
[[cs:Desktopové prostředí]]
[[da:Skrivebordsmiljø]]
[[de:Arbeitsumgebung]]
[[es:Entorno de escritorio]]
[[fr:Environnement de bureau]]
[[ko:데스크톱 환경]]
[[it:Desktop environment]]
[[ku:Derdora sermasê]]
[[hu:Desktop Environment]]
[[nl:Desktopomgeving]]
[[ja:デスクトップ環境]]
[[no:Skrivebordsmiljø]]
[[nn:Skrivebordsmiljø]]
[[pl:Pulpit]]
[[pt:Ambiente de desktop]]
[[ru:Среда рабочего стола]]
[[simple:Desktop environment]]
[[sk:Desktopové prostredie]]
[[fi:Työpöytäympäristö]]
[[sv:Skrivbordsmiljö]]
[[uk:Робоче середовище]]