Content deleted Content added
KDE Plasma Workspaces is a framework to ease creation of UIs: so far: Plasma Desktop, Plasma Netbook and Plasma Active |
No edit summary |
||
Line 1:
[[File:Linux kernel ubiquity.svg|thumb|400px|Two '''[[windowing system]]s''' found wide adoption for the Linux Desktop [[X11]] and [[Wayland (display server protocol)|Wayland]];<br> current UIs are e.g. [[KDE Plasma Workspaces]], [[GNOME Shell]], or [[Docky]];<br>obsoleted UIs are e.g. [[GNOME Panel]], [[Kicker (KDE)|Kicker]], or [[KDesktop]]]]
The term '''Desktop Linux''', also called '''Linux on the desktop''', 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
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]].
Line 30 ⟶ 26:
== Components of the Linux Desktop ==
[[File:Free and open-source-software display servers and UI toolkits.svg|thumb|
Obviously there is no "one" Linux Desktop, but rather there is a pool of [[free and open-source software]] from which Desktop environments / Linux distributions select components with which they construct a GUI implementing some more or less strict design guide, such as e.g. . 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 [[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]].'')▼
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
* 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]].
*
lower levels of our userspace stack
===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
=== Desktop environments ===
Linux offers many desktop alternatives. Common desktop environments include [[KDE]], [[GNOME]], [[Xfce]], [[LXDE]],
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>
|