Linux desktop environments: Difference between revisions

Content deleted Content added
AfD closed as merge
Article changed into a redirect to Linux#Desktop, according to the merge/delete discussion (originally concluded to redirect to Desktop environment, but this way it's more useful)
Line 1:
#REDIRECT [[Linux#Desktop]]
{{afd-mergeto|Linux#Desktop|Desktop Linux|14 November 2013|date=November 2013}}
 
<!-- For administrator use only: {{Old AfD multi|page=Desktop Linux|date=17 October 2013|result='''keep'''}} -->
[[File:Linux kernel ubiquity.svg|thumb|500px|Two [[windowing system]]s reached wide adoption for the Linux desktop environments &mdash; [[X11]] and [[Wayland (display server protocol)|Wayland]]. Current UIs are including [[KDE Plasma Workspaces]], [[GNOME Shell]] and [[Docky]]. Obsoleted UIs are including [[GNOME Panel]], [[Kicker (KDE)|Kicker]] and [[KDesktop]].]]
 
The term '''Desktop Linux''' refers to all the software components that build a [[graphical user interface]], that is designed for usage with a [[desktop computer]] and also devices, that offer identical [[human interface device]]s, such as [[Laptop]]s.
 
Most, if not all, such GUIs implement the [[WIMP (computing)|WIMP]] paradigm. Their main human interface devices for the [[input device|input]] are a [[pointing device]] and the [[computer keyboard]] and for the visual output one or multiple [[computer monitor]]s as well as [[loudspeaker]]s/[[Headset (audio)|Headset]] for the acoustic output. Supplemental HID, such as a [[refreshable braille display]], a [[touchscreen]] or [[speech recognition]] are possible.
 
Further [[peripheral|peripheral devices]], such as [[Printer (computing)|printers]] and [[Image scanner|scanners]], that are commonly used in conjunction with desktop computers, especially in an [[office]], must also be supported by drivers and software applications, but these are not part of the UI. Implementations of [[application programming interface|APIs]], such as [[Mesa 3D]] for [[OpenGL]] or [[Simple DirectMedia Layer|SDL]] for input and sound output are not a necessity on a desktop computer used in an office, but for [[Linux gaming]].
 
Some of the software is in the process of being modified and augmented to be suitable to support a [[touch user interface]], so that it can be used on e.g. [[Smartphone]]s, that come with only a small diameter touchscreen as in- and output device. Most commons smartphones of today have enough resources, that the actual programs do not need to be modified, but only their UI. For example, [[KDE Plasma Workspaces]] is a framework meant to ease the creation of multiple UI.
 
Most of the available [[Linux distribution]]s are oriented toward desktop usage, and specialized distributions, that do not contain these packages, are the minority.
 
==Criticism==
Almost all Linux distributions are build around a [[package management system]]. The entire [[free and open-source software]] packages in the repositories can be downloaded and installed with one mouse click. A digital signature guarantees that the software package was not modified after its creation by the package maintainer. This transfers the burden the maintenance and stability of the entire operating system from the user to the package and distribution maintainers. Common tasks, such as installing and de-installing programs or updating the entire operating system, require minimal effort or knowledge on the user side. The package management system automatically tracks and installs updates as they become available, resulting in a very high security level. This is very good for server installations and also for office usage.
 
But this closed ecosystem has also its downsides on [[home computer]], where users want to install a newer version of a software, or one that is not contained at all in the repository of the Linux distribution. [[Ingo Molnár]] describes the core problem of the Linux desktop being it not being free enough. Due to the [[package management system]] the Linux platform rather implements the Cathedral then the Bazaar approach (from ''[[The Cathedral and the Bazaar]]''):<ref>{{cite web|url=https://plus.google.com/109922199462633401279/posts/HgdeFDfRzNe |date=2012-03-17 |title=Technology: What ails the Linux desktop? Part I. |accessdate=2012-06-16}}</ref><ref>{{cite web|url=https://plus.google.com/109922199462633401279/posts/VSdDJnscewS |date=2012-03-17 |title=Technology: What ails the Linux desktop? Part II. |accessdate=2012-06-16}}</ref>
 
{{cquote|Free software matters to developers and organizations primarily, but on the user side, the free code behind Linux desktops is immaterial if free software does not deliver benefits such as actual freedom of use. So, to fix desktop Linux we need a radically different software distribution model: less of a cathedral, more of a bazaar..
Users want to be free of update pressure from the rest of the system, if they choose to.}}
 
[[Lennart Poettering]]:<ref>{{cite web|url=http://linuxfr.org/nodes/86687/comments/1249943 |title=Un entretien avec Lennart Poettering |date=2011-07-06 |accessdate=2013-01-26}}</ref>
{{cquote|So we now have a better interface, leaves the message and the clear platform. Linux is still too fragmented, and a developer targeting Linux will have to choose from a variety of APIs, a bazaar of somewhat matching but mostly just chaotic choices that will work on some systems but not on others.}}
 
An example could be the video game [[Rigs of Rods]]. If the current version is not present in the repository of the Linux distribution installed on the desktop (or if it not present at all in the distribution's repository), the user has to download the software at [http://download.rigsofrods.com/] in order to play it. For almost all [[Microsoft Windows]] versions there is only one executable, that be downloaded and installed and it will most probably work. For Linux, this is not that easily possible. The maintainers of the homepage would have to create and maintain multiple packages for different Linux distribution and versions. As a result of manpower they do not, so the Linux user is forced to download the source code, and compile and package it on his operating system. Due to the highly sophisticated and automated [[GNU build system]] this is not a big deal, but without the necessity to have to compile some programs, maybe the Linux desktop would have a higher adoption rate.
 
A completely different example is [[proprietary software]]. Here the [[source code]] is not available to the end-user, so only the developers can compile (and package) the program. Doing so for several Linux distribution is en effort, and even then, there is no guarantee, that the program will run on all 600+ Linux distributions.
 
== Software architecture ==
[[File:Free and open-source-software display servers and UI toolkits.svg|thumb|700px|''Visible software components'' of the Linux desktop stack are including the [[display server]], [[Template:Widget engine|widget engines]], and some of the more widespread [[Template:Widget toolkits|widget toolkits]]. There are also the ''invisible components'', including [[D-Bus]] and [[PulseAudio]].]]
 
There is no "one" Linux desktop, but rather there is a pool of [[free and open-source software]] from which desktop environments and Linux distributions select components with which they construct a GUI implementing some more or less strict design guide. GNOME, for example, has its [[Human interface guidelines]] as a design guide, which gives the Human-Machine Interface an important role, not just when doing the graphical design, but also when looking at people with [[disability|disabilities]], and even when looking at security.<ref>{{cite web |url=https://lwn.net/Articles/562902/ |title=Prompt-free security for GNOME}}</ref>
 
===Invisible components===
The invisible components have to be simple enough, so that they are and remain maintainable, bug-free, efficient and easy to develop further. They also have to offer authors extensible possibilities to write applications on top of them.
* The [[C standard library]] for the [[Linux kernel]] which offers programs APIs to the Linux kernel; by far the most poplar one is [[GNU C Library]] but there are a couple of alternatives, such as e.g. [[uClibc]] which targets embedded devices; (''the C standard library is actually that elemental to the entire [[operating system]] that it cannot be considered part of the DE, yet components of the DE extensively make use of it, so it is mentioned here. It is also noteworthy because [[Android (operating system)|Android]] is based on [[Bionic (software)|libbionic]], and some [[device driver]]s written for Android specifically can only be used with the help of [[Hybris (software)|libhybris]].'')
* A non-obvious but quite central role have the programs hosted by [[freedesktop.org]], such as [[D-Bus]] or [[PulseAudio]]; both big DEs, GNOME and KDE SC, include them, each offering graphical front-ends written using the corresponding toolkit (GTK+ or Qt).
* A [[display server]] which for the longest time has been communicating in the X11 display server protocol with its clients; prominent software talking X11 are the [[X.Org Server]] and [[Xlib]]. Frustration over the cumbersome X11 core protocol, and especially over its numerous extensions, has led to the creation of a new display server protocol: [[Wayland (display server protocol)|Wayland]].
* [[window manager]]s, more precisely [[X window manager]]s.
 
===Visible components===
The immediate ''[[Shell (computing)|graphical shell]]''/''[[graphical user interface]]''/''workspace'' is the software component, that defines the interface with the human. It should be designed conforming to some '''[[human interface guidelines]]''', which take into account the available [[human interface device]]s (HIDs) to be used by both, people with and people without [[disability|disabilities]], to achieve the best possible [[workflow]] when interacting with the software. A marketing terms for [[workflow]] seem to be ''user experience''.
 
The UI of a program like e.g. [[Nautilus (file manager)|Nautilus]] or [[Audacious (software)|Audacious]] is not just determined by the employed [[widget toolkit]] but can additionally by influenced the chosen UI:
 
*[[GNOME Shell]]
*[[Cinnamon (user interface)|Cinnamon]] – a fork of the GNOME Shell, which also adapted GNOME Panel, which was obsoleted by the GNOME Shell. Programs like Nautilus were forked, so that their UI can be adapted to the Cinnamon-UI-design
*[[Unity (desktop environment)|Unity]]
*[[KDE Plasma Workspaces]]:
** Plasma Desktop – tailored to the HIDs [[computer keyboard]], [[pointing device]] and [[computer monitor]]
** Plasma Netbook – ?
** Plasma Active – tailored to the HID [[touchscreen]]
* [[adesklets]]
*[[adesklets]]
*[[gDesklets]]
*[[Screenlets]]
*[[GNOME Panel]] – predecessor of GNOME Shell
*[[Kicker (KDE)|Kicker]] – predecessor of KDE Plasma Workspaces
*[[KDesktop]] – predecessor of KDE Plasma Workspaces
*[[SuperKaramba]] – predecessor of KDE Plasma Workspaces
*[[GNOME Do]]
*[[Docky]]
*[[Dmenu]]
*[[Launchy]]
*[[Avant Window Navigator]]
*[[Glx-Dock]]/Cairo-Dock
 
=== Linux kernel adaptations ===
The same way the Linux kernel can be adapted to run better on supercomputers, there are adaptations to make games and multimedia applications run more performant on it. A project concerning itself with this issue is called [[Liquorix]]<ref>{{cite web |url=http://www.phoronix.com/scan.php?page=article&item=liquorix_311_kernel&num=1 |title=Phoronix: Liquorix-benchmarks}}</ref><ref>{{cite web |url=http://liquorix.net/ |title=Liquorix homepage}}</ref>
 
=== Desktop environments ===
Linux offers many desktop alternatives. Common desktop environments include [[KDE]], [[GNOME]], [[Xfce]], [[LXDE]], and [[Cinnamon (software)|Cinnamon]]. These are collections of desktop programs, rather than bare bones [[X window manager|window managers]] such as [[FVWM]], [[IceWM]] amongst numerous others. These environments present a [[GUI]] using a [[desktop metaphor]]. All of these environments allow the user to set many personal preferences and to perform common system management tasks. The [[Compiz]] window manager expands upon the concept of having multiple desktops by rendering each of the user's two dimensional desktops on the surface of a three dimensional cube. The variety of desktop environments is sometimes criticized for splintering focus and creating incompatibilities; the [[freedesktop.org]] project works on improving interoperability between the different environments.
 
All Linux desktop applications use the [[X Window System]] and thus benefit from features like networking (remote display) and quick mouse-only [[cut, copy, and paste]]. Mouse selected text is automatically copied, and it can then be pasted using a middle click, without the need to resort to use of the keyboard.<ref name="About">{{cite web|url = http://linux.about.com/library/bl/open/newbie/blnewbie4.3.10.htm|title = Linux Newbie Administrator FAQ: X-Windows[sic]|accessdate = 2008-05-13|last = About, Inc|authorlink = |year = 2008}}</ref>
 
<gallery caption="Sample Graphical Desktop Environments" width="180px" height="120">
File:Shows Overview mode ("Activities") in GNOME 3.8.png|[[GNOME Shell]] (''GNOME&nbsp;3'')
File:KDE Plasma Desktop 4.9.png|[[KDE Plasma Desktop|KDE Plasma]] (''KDE&nbsp;4'')
File:Ubuntu 13.04 Desktop.png|[[Unity (desktop environment)|Unity]]
File:XFCE-4.10-Desktop.png|[[Xfce]]
File:Lubuntu 13.04 English.png|[[LXDE]]
File:Screenshot from 2013-08-11 15 57 35.png|[[Elementary (operating system)|Pantheon]]
Image:E17_bw_screenshot.png|[[Enlightenment (window manager)|Enlightenment]]
Image:Linux_Mint_14_Nadia_with_Cinnamon.png|[[Cinnamon (user interface)|Cinnamon]]
Image:Mint 15 RC.jpg|[[MATE (desktop environment)|MATE]] (''GNOME&nbsp;2'')
Image:Screenshot_of_Trinity_3.5.12.png|[[Trinity (desktop environment)|Trinity]] (''KDE&nbsp;3'')
Image:Sugar-home-view-0.82.jpg|[[Sugar (desktop environment)|Sugar]]
</gallery>
 
== History ==
{{See also|History of free software#Desktop}}
Historically, [[UNIX]] and other [[Unix-like]] operating systems have been utilized on [[Server (computing)|servers]], [[Mainframe computer|mainframes]], and [[workstation]]s in corporate or scientific environments. Beginning in the late 90s, a few [[Linux distribution]] companies, such as [[Mandriva|MandrakeSoft]], began to advertise their systems for low-end desktop computers.
 
=== History and criticism ===
{{Main|Criticism of desktop Linux}}
[[Image:KDE 4.png|thumb|right|[[KDE]] desktop environment]]
KDE was the first advanced desktop environment, but it was controversial due to the then-proprietary Qt toolkit used.<ref name=KDEvGNOME2007>[[Bruce Byfield|Byfield B]]. (2007). [http://www.datamation.com/osrc/article.php/3671906/KDE-vs-GNOME-Is-One-Better.htm KDE vs. GNOME: Is One Better?]. ''[[Datamation]]''.</ref> GNOME was developed as an alternative due to licensing questions.<ref name=KDEvGNOME2007/> The two use a different underlying toolkit and thus involve different programming, and are sponsored by two different groups, German nonprofit [[KDE e.V.]] and the United States nonprofit [[GNOME Foundation]].
 
As of April 2007, one journalist estimated that KDE had 65% of market share versus 26% for GNOME.<ref name=KDEvGNOME2007/> In January 2008, KDE 4 was released prematurely with bugs, driving users to GNOME.<ref name=UserRevolt>Byfield B. (2011). [http://www.datamation.com/osrc/article.php/3928841/Will-GNOME-30-Repeat-the-User-Revolt-of-KDE-40.htm Will GNOME 3.0 Repeat the User Revolt of KDE 4.0?]. ''Datamation''.</ref> GNOME 3, released in April 2011, was called an "unholy mess" by [[Linus Torvalds]] due to its controversial [[Controversy over GNOME 3|design changes]].<ref>[http://www.theregister.co.uk/2011/08/05/linus_slams_gnome_three/ Linus Torvalds dubs GNOME 3 'unholy mess']. ''The Register''.</ref>
 
Dissatisfaction with GNOME 3 led to a fork, [[Cinnamon (user interface)|Cinnamon]], which is developed primarily by [[Linux Mint]] developer Clement LeFebvre. This restores the more traditional desktop environment with marginal improvements.
 
The relatively well-funded distribution Ubuntu designed (and released in June 2011) another user interface called [[Unity (user interface)|Unity]] which is radically different from the conventional desktop environment and has been criticized as having various flaws<ref>[http://www.omgubuntu.co.uk/2011/03/unity/ What’s wrong with Unity & how we can fix it]. ''OMG Ubuntu''.</ref> and lacking configurability.<ref>[http://www.omgubuntu.co.uk/2011/11/ubuntu-desktop-designers-clarify-on-configurability Ubuntu Desktop Designers: ‘Unity Should Be Configurable’]. ''OMG Ubuntu''.</ref> The motivation was a single desktop environment for desktops and tablets,{{Citation needed|date=April 2013}} although as of November 2012 Unity has yet to be used widely in tablets. However, the smartphone and [[Ubuntu phone OS|tablet version of Ubuntu]] and its Unity interface was unveiled by [[Canonical Ltd]] in January 2013.
 
== Year of Desktop Linux ==
Since at least 2000, articles declaring that ''"20XX will be the year of Linux on the desktop"'' or ''"year of the Linux desktop"'' (YoLD) have been published by a number of tech-related magazines and websites. This refers to an expected breakthrough in [[Linux adoption]] by business corporations and personal users. The reasons for these forecast gains include the installation of a Linux distribution on the desktops of workers for organizations or companies who may not be immediately or otherwise involved in the computing industry, or the acceleration of development for specific applications which find their greatest use on desktop Linux distributions. It can also refer to a breakthrough in the number of pre-installed Linux distributions on [[personal computer]]s being sold by PC manufacturers such as [[Dell]] and [[Hewlett-Packard]].<ref name="MaximumPC">{{cite web |url = http://www.maximumpc.com/article/2008_year_of_the_linux_desktop |title = 2008: Year of the Linux Desktop |accessdate = 2008-05-23 |last = Strohmeyer |first = Robert |authorlink = |year = 2007 |month = June}}</ref><ref name="AYSiu">{{cite web |url = http://www.psychocats.net/ubuntucat/the-linux-desktop-myth/ |title = The Linux Desktop Myth |accessdate = 2008-08-31|last = Siu|first = A.Y. |authorlink = |year = 2006|month = July}}</ref><ref>{{cite news |url=http://www.informationweek.com/news/internet/showArticle.jhtml;jsessionid=NVHVS3SP4QWBIQSNDLRSKH0CJUNN2JVN?articleID=201807072&pgno=1&queryText=&isPrev=|title=7 Reasons Why Linux Won't Succeed On The Desktop |last=Wolfe |first=Alexander |date=2007-09-19 |publisher=Information Week |accessdate=2009-03-10}}</ref><ref>{{cite news |url=http://www.cnn.com/TECH/computing/9911/19/comdex.linux.idg/index.html |work=CNN |title=Comdex: Linux, Linux everywhere |date=1999-11-18 |accessdate=2010-05-01}}</ref><ref>http://www.pcworld.com/article/13908/linux_linux_everywhere.html</ref>
 
== Performance ==
The performance of Linux on the desktop has been a controversial topic, with at least one Linux kernel developer, [[Con Kolivas]], accusing the Linux community of favouring performance on servers. He quit Linux development because he was frustrated with this lack of focus on the desktop, and then gave a 'tell all' interview on the topic.<ref>{{cite web|title=Linux: why I quit|url=http://apcmag.com/node/6735/|accessdate=2008-01-18|date=2007-07-24|work=APC Magazine|publisher=ACP Magazines}}</ref>
 
Other sources, such as mainstream press [[The Economist]] disagree with this assessment that there has not been enough focus on desktop Linux, saying in December 2007:
 
<blockquote>...Linux has swiftly become popular in small businesses and the home...That’s largely the doing of Gutsy Gibbon, the code-name for the [[Ubuntu (operating system)|Ubuntu]] 7.10 from [[Canonical Ltd.|Canonical]]. Along with distributions such as [[Linspire]], [[Linux Mint|Mint]], [[Xandros]], [[OpenSUSE]] and [[gOS (operating system)|gOS]], Ubuntu (and its siblings [[Kubuntu]], [[Edubuntu]] and [[Xubuntu]]) has smoothed most of Linux’s geeky edges while polishing it for the desktop...It’s now simpler to set up and configure than Windows.<ref name="Economist">{{cite news|url = http://www.economist.com/science/displaystory.cfm?story_id=10410912|title = Technology in 2008|accessdate = 2008-05-06|last = Economist.com|authorlink = |year = 2007|month = December|work=The Economist}}</ref></blockquote>
 
== Measuring adoption ==
{{Main|Linux adoption}}
Measuring the adoption of Linux on the desktop is a difficult proposition and has caused controversy as to how many users there actually are.<ref name="Schestowitz">{{cite web|url = http://itmanagement.earthweb.com/osrc/article.php/12068_3687616_1|title = Can Linux Adoption Ever be Accurately Gauged?|accessdate = 2008-05-23|last = Schestowitz|first = Roy|authorlink = |year = 2007|month = July}}</ref>
 
As Linux systems are typically downloaded, copied and distributed for free, the usual methods of tracking sales numbers do not apply in gauging numbers of Linux desktop users. This use of website counters to identify operating systems also does not produce reliable numbers, due to such factors as:<ref name="Schestowitz"/>
 
*individual websites do not attract a representative sample, due to their content.<ref name="Schestowitz"/>
*spoofing of addresses.<ref name="Schestowitz"/>
*problems tagging identification strings as to Linux or even distribution results in high numbers of "unknown operating system".<ref name="Schestowitz"/>
*identifying computers that operate from behind proxies.<ref name="Schestowitz"/>
*the multiplying effects of [[botnet]]s which tend to create the illusion of more insecure PCs, running Windows systems.<ref name="Schestowitz"/>
*the fact that not all PCs are connected to the internet and used for web browsing.<ref name="Schestowitz"/>
*one download could result in none or whole site installations
 
== See also ==
{{Portal|Free software}}
{{Wikipedia books|Desktop Linux}}
* [[Desktop Linux Summit]]
* [[Desktop wars]]
 
==References==
 
{{Reflist|2}}
 
==External links==
* [http://www.psychocats.net/ubuntucat/the-linux-desktop-myth/ ''The Linux Desktop Myth'']
 
{{Linux}}
 
[[Category:Linux]]
 
[[de:Linux auf dem Desktop]]