Desktop environment

A desktop environment (DE) is an implementation of the desktop metaphor made of a bundle of programs, which share a common graphical user interface (GUI).

Overview

A desktop environment bundles together a variety of components to provide common graphical user interface elements such as icons, toolbars, wallpapers, and desktop widgets. Additionally, most desktop environments include a set of integrated applications and utilities. Most importantly, desktop environments provide their own window manager, which can however usually be replaced with another compatible one.

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. 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 they 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 the libraries underlying the respective desktop environment. 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 often avoid such mixed environments, or choose alternatives which do depend on only few external libraries.

Furthermore, applications provided by desktop environments 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 usability, mixed environments may not behave similarly (e.g. single-clicking versus double-clicking icons; drag-and-drop functionality) potentially causing confusion or unexpected behavior.

List of desktop environments

Officially supported

  • Budgie Budgie is a desktop environment designed with the modern user in mind, it focuses on simplicity and elegance.
https://blog.buddiesofbudgie.org || budgie-desktop
  • Cinnamon Cinnamon strives to provide a traditional user experience. Cinnamon is a fork of GNOME 3.
https://github.com/linuxmint/Cinnamon || cinnamon
  • Cutefish Cutefish is a new and modern desktop environment.
https://cutefish-ubuntu.github.io || cutefish
  • Deepin Desktop Environment Deepin desktop interface and applications feature an intuitive and elegant design. Moving around, sharing and searching etc. has become simply a joyful experience.
https://www.deepin.org/ || deepin
  • Enlightenment The Enlightenment desktop shell provides an efficient window manager based on the Enlightenment Foundation Libraries along with other essential desktop components like a file manager, desktop icons and widgets. It supports themes, while still being capable of performing on older hardware or embedded devices.
https://www.enlightenment.org/ || enlightenment
  • GNOME The GNOME desktop environment is an attractive and intuitive desktop with both a modern (GNOME) and a classic (GNOME Classic) session.
https://www.gnome.org/ || gnome
  • GNOME Flashback GNOME Flashback is a shell for GNOME 3 which was initially called GNOME fallback mode. The desktop layout and the underlying technology is similar to GNOME 2.
https://wiki.gnome.org/Projects/GnomeFlashback || gnome-flashback
  • Sugar The Sugar Learning Platform is a computer environment composed of Activities designed to help children from 5 to 12 years of age learn together through rich-media expression. Sugar is the core component of a worldwide effort to provide every child with the opportunity for a quality education — it is currently used by nearly one-million children worldwide speaking 25 languages in over 40 countries. Sugar provides the means to help people lead fulfilling lives through access to a quality education that is currently missed by so many.
https://sugarlabs.org/ || sugar + sugar-fructose

Unofficially supported

  • Lumina Lumina is a lightweight desktop environment written in Qt 5 for FreeBSD that uses Fluxbox for window management.
https://lumina-desktop.org/ || lumina-desktopAUR
  • Phosh Phosh is a Wayland shell user interface based on GNOME, useful on mobile devices.
https://gitlab.gnome.org/World/Phosh/phosh || phoshAUR

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 if none of the popular desktop environments meet their requirements. Generally, building a custom environment involves selection of a suitable window manager or compositor, a taskbar and a number of applications (a minimalist selection usually includes a terminal emulator, file manager, and text editor).

Other components usually provided by desktop environments are:

Use a different window manager

If the desktop environment has an article, see its Use a different window manager section, otherwise consult the official documentation.

gollark: Anyway, I *can* prove that you are isomorphic to bee.
gollark: I can sandbox it in a way which you're unlikely to have planned for and countered in two lines of incomprehensible regex.
gollark: See, I can prove lots of things.
gollark: `strace`?
gollark: ```perl# lyricly, utterly: ''=~('('.'?'.'{'.('`'|'['^'-').('`').('`'|',').'"'.('`'|'&').('`'|'/').('['^')').'('.'\\'.'$'.('`'|')').'='.('^'^('`'|'.')).';'.'\\'.'$'.('`'|')').'<'.'\\'$'.^'(').';'.'\\'.'$'.('`'|')').'+'.'+'.)'.\\'.'{'.('`'|'&').('`'|'/').('['^')').'('.'\\'.'$'.('`'|'*').'='.('^'^('`'|'.')).';'.'\\'.'$'.(|'*').'<'.\'.'$'.('['^'(').';'.'\\'.'$'.('`'|'*').'+'.'+'.')'.'\\'.'{'.('`'|'-').('^'"').'\\'.'$'.('['/').';'.'\\'.'$'.('['^'/').'+'.'='.'\\'.'$'.('`'|'!').'['.'\\'.'$'.('`'|')').']'.'['.'\\'.'$'.'_'.']'..'\\'.'$'.(''|'"').'[\'.'$'.'_'.']'.'['.'\\'.'$'.('`'|'*').']'.('`'|'&').('`'|'/')['^')').'('.('^'^('`'|'.')).'.'.'.'.'\\'.'$'.('(').')'.';'.('['^'+').('['^')').('`'|')').('`'|'.').('['^'/').'\\'.'$'.('['^'/').'.'."'".('{'^'[')."'".';'.'\\'.'}'.('['^'+')['^')').('`'|')').('`'|'.').('['^'/').'\\'.'"'.'\\'.'\\'.('`'|'.').'\\'.'"'.';'\'.'}'.'"'.'}'.')')```
This article is issued from Archlinux. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.