Content deleted Content added
m Fixing typo raised by BracketBot |
rewrote the introduction: its all about the human interface devices and the software supporting them |
||
Line 1:
{{Infobox
|title = Desktop Linux
|image = [[File:
|caption = Several '''[[windowing system]]s''' and '''[[widget toolkit]]s''' are available for Linux
}}
The term '''Desktop Linux''', also called '''Linux on the desktop''', refers to
Most, if not all, such GUIs implement the 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.
▲'''Desktop Linux''', also called '''Linux on the desktop''', refers to specialized [[Linux distribution]]s with features designed for desktop [[personal computer]] users. These features include a graphical user interface and personal use applications.
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.
== Desktop environments ==▼
Linux offers many desktop alternatives. Common desktop environments include [[KDE]], [[GNOME]], [[Xfce]], [[LXDE]], [[Unity (desktop environment)|Unity]] and [[Cinnamon (user interface)|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.▼
Most of the available [[Linux distribution]]s are oriented toward desktop usage, and specialized distributions, that do not contain these packages, are the minority.
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>▼
== Criticism ==▼
=== Components of the Linux Desktop ===▼
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.
{{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.}}▼
En 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.
[[File:Free and open-source-software display servers and UI toolkits.svg|thumb|left|Illustrates software components of the Linux desktop stack like the display server, compositor, UI toolkits, dekstop shells and even desktop widgets]]
Line 20 ⟶ 35:
* 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 alternative, 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]].
* Numerous [[window manager]]s, more precisely [[X window manager]]s and [[Wayland compositor]]s.
Line 26 ⟶ 41:
* [[List of toolkits|Toolkits]] to write applications, e.g. [[Nautilus (file manager)|Nautilus]] or [[Dolphin (file manager)|Dolphin]] or [[Thunar]].
▲=== Desktop environments ===
▲== Criticism ==
▲Linux offers many desktop alternatives. Common desktop environments include [[KDE]], [[GNOME]], [[Xfce]], [[LXDE]], [[Unity (desktop environment)|Unity]] and [[Cinnamon (user interface)|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.
▲[[Ingo Molnár]] describes the core problem of the Linux desktop being it not being free enough because, 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>
▲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>
▲{{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.}}
<gallery caption="Sample Graphical Desktop Environments" width="180px" height="120">
File:Shows Overview mode ("Activities") in GNOME 3.8.png|[[GNOME Shell]] (''Gnome-3'')
File:KDE Plasma Workspaces 4.8.png|[[KDE Plasma Desktop|KDE Plasma]] (''KDE 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]]
Image:E17_bw_screenshot.png|[[Enlightenment (window manager)|Enlightenment]]
Image:Linux_Mint_14_Nadia_with_Cinnamon.png|[[Cinnamon (user interface)|Cinnamon]]
Image:Mate Desktop de.png|[[MATE (desktop environment)|MATE]] (''Gnome 2'')
Image:Screenshot_of_Trinity_3.5.12.png|[[Trinity (desktop environment)|Trinity]] (''KDE 3'')
Image:Sugar-home-view-0.82.jpg|[[Sugar (desktop environment)|Sugar]]
</gallery>
== History ==
|