Desktop environments

From ParabolaWiki
Jump to: navigation, search
Summary
In graphical computing, a desktop environment (DE) commonly refers to a style of graphical user interface (GUI) derived from the desktop metaphor that is seen on most modern personal computers. This article provides a general overview of popular desktop environments.
Overview
The Xorg project provides a free software implementation of the X Window System – the foundation for a graphical user interface. Desktop environments such as LXQt, Openbox/KDE, Cinnamon, MATE, Xfce, GNOME, Deepin provide a complete graphical environment. Various window managers offer alternative and novel environments, and may be used standalone to conserve system resources. Display managers provide a graphical login prompt.
Resources
Wikipedia:Desktop environment
Wikipedia:X Window System

Desktop environments provide a complete graphical user interface (GUI) for a system by bundling together a variety of X clients written using a common widget toolkit and set of libraries.

1 X Window System

The X Window System provides the foundation for a graphical user interface. Prior to installing a desktop environment, a functional X server installation is required. See Xorg for detailed information.
X provides the basic framework, or primitives, for building such GUI environments: drawing and moving windows on the screen and interacting with a mouse and keyboard. X does not mandate the user interface — individual client programs known as window managers handle this. As such, the visual styling of X-based environments varies greatly; different programs may present radically different interfaces. X is built as an additional (application) abstraction layer on top of the operating system kernel.

The user is free to configure their GUI environment in any number of ways. Desktop environments simply provide a complete and convenient means of accomplishing this task.

2 Desktop environments

A desktop environment bundles together a variety of X clients to provide common graphical user interface elements such as icons, windows, toolbars, wallpapers, and desktop widgets. Additionally, most desktop environments include a set of integrated applications and utilities.

Note that users are free to mix-and-match applications from multiple desktop environments. For example, a KDE user may install and run GNOME applications such as the Epiphany web browser, should he/she prefer it over KDE's Konqueror web browser. One drawback of this approach is that many applications provided by desktop environment projects rely heavily upon their DE's respective underlying libraries. As a result, installing applications from a range of desktop environments will require installation of a larger number of dependencies. Users seeking to conserve disk space and avoid software bloat often avoid such mixed environments, or look into lightweight alternatives.

Furthermore, DE-provided applications tend to integrate better with their native environments. Superficially, mixing environments with different widget toolkits will result in visual discrepancies (that is, interfaces will use different icons and widget styles). In terms of user experience, mixed environments may not behave similarly (e.g. single-clicking versus double-clicking icons; drag-and-drop functionality) potentially causing confusion or unexpected behavior.

2.1 List and comparison of desktop environments

This article or section needs expansion.
Please help expand this article so the intended scope is covered in sufficient detail. (Discuss)

This section attempts to draw a comparison between popular desktop environments. Note that first-hand experience is the only effective way to truly evaluate whether a desktop environment best suits your needs.

Note: Note that Razor-qt has become LXQt, a port of LXDE to the Qt framework.
Name First release date Last stable release date Programming language Graphical toolkit License Notes
Cinnamon 2011 2018-09-18 C, JavaScript, Python GTK+ GPL Forked from GNOME 3 with the intent to create a traditional desktop with modern technologies.
Enlightenment (E) 1997 2018-03-15 C EFL BSD license Complete environment including centralized configuration of most settings.
Equinox Desktop Environment (EDE) 2003-01-06 2014-06-21 C++ FLTK GPL, LGPL Seldom used environment, has seen little activity in recent years.
Étoilé 2006-02-22 2012-04-11 Objective-C GNUstep MIT, BSD license Has seen little activity for several years, the last journal entry having been in 2014.
GNOME 1999-03-03 2018-09-25 C, C++, Vala, Python, JavaScript GTK+ GPL, LGPL GNOME is one of the most popular environments and is very configurable. Major design changes with the 3.0 release sparked the creation of Cinnamon (a fork of GNOME 3), Unity (an alternative GNOME 3 shell replacing GNOME Shell) and MATE (a fork of GNOME 2).
KDE Plasma 5 (KDE5, KDE Plasma Workspaces, formerly K Desktop Environment or simply KDE) 1998-07-12 2018-10-09 C++, QML Qt LGPL KDE has a strong and enthusiastic following, despite a reputation for being resource-intensive. The project is largely community-centric, and encompass many other applications and frameworks, many built specifically for KDE.
LXDE (Lightweight X11 Desktop Environment) 2006 2016-11-21 C GTK+ GPL, LGPL LXDE, with its low resource footprint, is a favorite among developers of lighter-weight Linux distributions (Lubuntu, Lite, LXLE, PepperMint, Sparky, etc.).
LXQt 2014-05-07 2018-05-21 C, C++ Qt GPL, LGPL merged from LXDE-Qt experiment and Razor-qt
MATE 2011-08-19 2019-03-18 C, C++, Python GTK+ LGPL, GPL Revival and continuation of GNOME 2 environment after the release of GNOME 3. In recent releases, it has been ported to GTK+ 3, demonstrating the progress of the project.
Pantheon 2011 (?) 2018-10-16 (?) Vala GTK+ GPL
Razor-qt 2010 2013-01-12 C++ Qt GPL merged into LXQt
ROX Desktop 2000 (?) 2011-10-09 C, Python GTK+ GPL
Trinity Desktop Environment (TDE) 2010-04-29 2018-08-18 C++ Qt GPL (and other) forked from KDE 3.x Intentionally with a Win-XP look.
Unity 2010-06-09 2016-05-25 C, C++, Python, Vala, QML GTK+ GPL, LGPL Developed by Canonical for Ubuntu as an alternative graphical shell to GNOME 3's "GNOME Shell". Designed with "convergence" in mind, it was discontinued by Canonical in early 2017, but its development was continued by the community.
Xfce 1996 2015-02-28 C GTK+ GPL, LGPL, BSD license XFCE is often used in lightweight distributions targeting lower-end hardware.

2.1.1 Programs provided by some desktop environments

KDE Software Compilation GNOME Mate Xfce LXDE ROX Desktop Étoilé EDE Enlightenment
X window manager KWin Mutter Marco Xfwm4 Openbox OroboROX Azalea edewm Enlightenment
X display manager KDM, SDDM GDM LXDM elma Entrance
File manager Dolphin (Konqueror before SC 4) Files Caja Thunar PCManFM ROX Filer Efiler EFM, Entropy
Widget toolkit Qt
GTK+
GTK+(legacy) / Qt GTK+ GNUstep FLTK (previously eFLTK) Elementary
Terminal emulator Konsole GNOME Terminal MATE Terminal Terminal LXTerminal ROXTerm aterm Terminology
Text editor KWrite (Kate before SC 4) gedit Pluma Mousepad, Leafpad Leafpad Edit TextEdit Eyesight, Ecrire
Video player Dragon Player (Kaffeine before SC 4) Videos Parole lxine mplayer-rox Enna (media center), Eclair
Audio player JuK, Amarok Banshee, Rhythmbox LXMusic MusicBox Melodie Enjoy
CD burners K3b Brasero Xfburn RoxISO
CD ripper K3b, KAudioCreator Sound Juicer Ripper Extrackt
Image viewer Gwenview Eye of GNOME Eye of MATE Ristretto GPicView Picky Eimage Ephoto
Office suite Calligra Suite, KOffice GnomeOffice
Web browser Konqueror, Falkon Web Midori Eve
E-mail client Kmail Evolution GNUMail
Personal information manager Kontact Contacts
Instant messenger Kopete, KDE Telepathy Empathy Shotgun
Archive manager Ark Archive Manager Engrampa Xarchiver, Squeeze Xarchiver Archive
PDF viewer Okular (KPDF before SC 4) Evince Atril Vindaloo Epdf
IDE KDevelop Anjuta Gorm, ProjectCenter EDI
X session manager ksmserver gnome-session mate-session Xfce4-session LXSession ROX-Session
Widget engine built-in – Plasma (SuperKaramba before SC 4) gDesklets Elementary
Licenses used GPL, LGPL, BSD, others GPL, LGPL GPL, LGPL GPL, LGPL, BSD GPL, LGPL GPL GPL, BSD GPL, LGPL BSD, LGPL

2.1.2 Resource useage and battery life

In terms of system resources, GNOME and KDE are expensive desktop environments. Not only do they consume more disk space than lightweight alternatives, but also more CPU and memory resources while in use, which will exhaust the battery power on portable computers more quickly. This is because GNOME and KDE are relatively full-featured: they provide the most complete and well-integrated environments.

E17 and LXDE,on the other hand, are light-weight desktop environments. They are designed to perform well, even on older computers and less-powerful hardware (SBCs, for example) and generally consume fewer system resources (and battery charge) while in use. This is achieved by cutting back on extra features, such as compositing (or desktop effects); which some would term bloat.

There are other middle-weight desktop environments that fall somewhere in between those broad classes described above, such as XFCE and LXQT.

3 Custom environments

Desktop environments represent the simplest means of installing a complete graphical environment. However, users are free to build and customize their graphical environment in any number of ways should none of the popular desktop environments meet their requirements. Generally, building a custom environment involves selection of a suitable Window Manager and a number of Lightweight Applications (a minimalist selection usually includes a terminal emulator, file manager, and text editor).

4 Acknowledgement

This wiki article is based on ArchWiki. We may have removed non-FSDG bits from it.

Tables and a little-bit of information taken from Wikipedia.