Desktop environment

A desktop environment provides 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.

Overview

A desktop environment bundles together a variety of X clients 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 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.

Prior to installing a desktop environment, a functional X server installation is required. See Xorg for detailed information.

List of desktop environments

Officially supported

  • Cinnamon — Cinnamon strives to provide a traditional user experience. Cinnamon is a fork of GNOME 3.
http://cinnamon.linuxmint.com/ || cinnamon
  • 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.
http://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.
http://www.gnome.org/gnome-3/ || gnome
  • KDE Plasma — The KDE Plasma desktop environment is a familiar working environment. Plasma Desktop offers all the tools required for a modern desktop computing experience so you can be productive right from the start.
https://www.kde.org/workspaces/plasmadesktop/ || KDE 4: kdebase-workspace, Plasma 5: plasma
  • LXDE — The Lightweight X11 Desktop Environment is a fast and energy-saving desktop environment. It comes with a modern interface, multi-language support, standard keyboard short cuts and additional features like tabbed file browsing. Fundamentally designed to be lightweight, LXDE strives to be less CPU and RAM intensive than other environments.
http://lxde.org/ || lxde
  • LXQt — LXQt is the Qt port and the upcoming version of LXDE, the Lightweight Desktop Environment. It is the product of the merge between the LXDE-Qt and the Razor-qt projects: A lightweight, modular, blazing-fast and user-friendly desktop environment.
http://lxqt.org/ || lxqt
  • MATE — Mate provides an intuitive and attractive desktop to Linux users using traditional metaphors. MATE is a fork of GNOME 2.
http://www.mate-desktop.org/ || GTK+ 2: mate, GTK+ 3 (experimental): mate-gtk3
  • Xfce — Xfce embodies the traditional UNIX philosophy of modularity and re-usability. It consists of a number of components that provide the full functionality one can expect of a modern desktop environment, while remaining relatively light. They are packaged separately and you can pick among the available packages to create the optimal personal working environment.
http://www.xfce.org/ || xfce4

Unofficially supported

  • Budgie Desktop — Budgie Desktop is a lightweight Desktop Environment designed with the modern user in mind, it focuses on simplicity and elegance. Also it resembles the Chrome/Chromium OS desktop layout.
https://solus-project.com/budgie/ || budgie-desktop-gitAUR
  • CDE — The Common Desktop Environment (CDE) is a desktop environment for Unix and OpenVMS, based on the Motif widget toolkit. It was part of the UNIX98 Workstation Product Standard, and was long the "classic" Unix desktop associated with commercial Unix workstations.
http://sourceforge.net/projects/cdesktopenv/ || cdesktopenvAUR
  • Deepin Desktop Environment — Deepin desktop interface and apps feature an intuitive and elegant design. Moving around, sharing and searching etc. has become simply a joyful experience.
http://www.linuxdeepin.com/ || deepin-desktop-environmentAUR
  • EDE — The "Equinox Desktop Environment" is a DE designed to be simple, extremely light-weight and fast.
http://equinox-project.org/ || edeAUR
  • 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/GnomeFlashback || gnome-flashbackAUR
  • GNUstep — GNUstep is a free, object-oriented, cross-platform development environment that strives for simplicity and elegance.
http://gnustep.org/ || windowmaker gworkspaceAUR
  • Hawaii — Hawaii is a lightweight, coherent and fast desktop environment that relies on Qt 5, QtQuick and Wayland and is designed to offer the best UX for the device where it is running.
http://www.maui-project.org/ || hawaii-meta-gitAUR
  • Lumina — Lumina is a lightweight desktop environment written in QT 5 for FreeBSD that uses Fluxbox for window management.
http://blog.pcbsd.org/2014/04/quick-lumina-desktop-faq/ || lumina-desktop-gitAUR
  • Maynard — Maynard is a desktop environment designed for the Raspberry Pi (but not limited to it) running on Wayland.
https://github.com/raspberrypi/maynard || maynard-gitAUR
  • Pantheon — Pantheon is the default desktop environment originally created for the elementary OS distribution. It is written from scratch using Vala and the GTK3 toolkit. With regards to usability and appearance, the desktop has some similarities with GNOME Shell and Mac OS X.
http://elementaryos.org/ || pantheon-session-bzrAUR
  • ROX — ROX is a fast, user friendly desktop which makes extensive use of drag-and-drop. The interface revolves around the file manager, following the traditional UNIX view that 'everything is a file' rather than trying to hide the filesystem beneath start menus, wizards, or druids. The aim is to make a system that is well designed and clearly presented. The ROX style favors using several small programs together instead of creating all-in-one mega-applications.
http://rox.sourceforge.net/desktop/ || rox
  • 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.
http://wiki.sugarlabs.org/ || sugarAUR
  • Trinity — The Trinity Desktop Environment (TDE) project is a computer desktop environment for Unix-like operating systems with a primary goal of retaining the overall KDE 3.5 computing style.
http://www.trinitydesktop.org/ || See Trinity
  • Unity — Unity is a shell for GNOME designed by Canonical for Ubuntu.
http://unity.ubuntu.com/ || See Unity

Comparison of desktop environments

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.

See also Wikipedia:Comparison of X Window System desktop environments.

Overview of desktop environments
Desktop environment Widget toolkit Window manager Taskbar Terminal emulator File manager Calculator Text editor Image viewer Media player Web browser Display manager
Budgie Desktop GTK+ 3
gtk3
budgie-wm
budgie-desktop-gitAUR
budgie-panel
budgie-desktop-gitAUR
GNOME Terminal
gnome-terminal
GNOME Files
nautilus
GNOME Calculator
gnome-calculator
gedit
gedit
Eye of GNOME
eog
Budgie Media Player
budgie-gitAUR
Chromium
chromium
LightDM GTK+ Greeter
lightdm-gtk-greeter
Cinnamon GTK+ 3
gtk3
Muffin
muffin
Cinnamon
cinnamon
GNOME Terminal
gnome-terminal
Nemo
nemo
GNOME Calculator
gnome-calculator
gedit
gedit
Eye of GNOME
eog
GNOME Videos
totem
Firefox
firefox
LightDM GTK+ Greeter
lightdm-gtk-greeter
Deepin Desktop Environment GTK+ 3
gtk3
Compiz
compizAUR
Dock
deepin-desktop-environmentAUR
Deepin Terminal
deepin-terminalAUR
GNOME Files
nautilus
GNOME Calculator
gnome-calculator
gedit
gedit
Eye of GNOME
eog
DPlayer
deepin-media-playerAUR
Firefox
firefox
LightDM Deepin Greeter
deepin-desktop-environmentAUR
EDE FLTK
fltk
PekWM
edeAUR
EDE Panel
edeAUR
XTerm
xterm
Fluff
fluffAUR
Calculator
edeAUR
Editor
fltk-editorAUR
Image Viewer
edeAUR
flmusic
flmusicAUR
Dillo
dillo
XDM
xorg-xdm
Enlightenment Elementary
elementary
Enlightenment
enlightenment
Enlightenment
enlightenment
Terminology
terminology
Enligthenment
enlightenment
Equate
equate-gitAUR
Ecrire
ecrire-gitAUR
Ephoto
ephoto-gitAUR
Rage
rageAUR
Elbow
elbow-gitAUR
XDM
xorg-xdm
GNOME GTK+ 3
gtk3
Mutter
mutter
GNOME Shell
gnome-shell
GNOME Terminal
gnome-terminal
GNOME Files
nautilus
GNOME Calculator
gnome-calculator
gedit
gedit
Eye of GNOME
eog
GNOME Videos
totem
Epiphany
epiphany
GDM
gdm
GNOME Flashback GTK+ 3
gtk3
Metacity
metacity
GNOME Panel
gnome-panelAUR
GNOME Terminal
gnome-terminal
GNOME Files
nautilus
GNOME Calculator
gnome-calculator
gedit
gedit
Eye of GNOME
eog
GNOME Videos
totem
Epiphany
epiphany
GDM
gdm
GNUstep GNUstep
gnustep-core
Window Maker
windowmaker
Window Maker
windowmaker
Terminal
gnustep-terminalAUR
GWorkspace
gworkspaceAUR
Calculator
gnustep-examplesAUR
Ink
gnustep-examplesAUR
LaternaMagica
laternamagicaAUR
Cynthiune
cynthiuneAUR
SWK Browser
swkbrowser-svnAUR
XDM
xorg-xdm
Hawaii Qt 5
qt5-base
Green Island
greenisland-gitAUR
Hawaii Shell
hawaii-shell-gitAUR
Terminal
hawaii-terminal-gitAUR
Swordfish
swordfish-gitAUR
SpeedCrunch
speedcrunch-gitAUR
JuffEd
juffed-qt5-gitAUR
EyeSight
eyesight-gitAUR
SMPlayer
smplayer
QupZilla
qupzilla
SDDM
sddm
KDE 4 Qt 4/5
qt4 qt5-base
KWin
kdebase-workspace
Plasma Desktop
kdebase-workspace
Konsole
konsole
Dolphin
kdebase-dolphin
KCalc
kcalc
KWrite/Kate
kwrite kate
Gwenview
gwenview
Dragon Player
kdemultimedia-dragonplayer
Konqueror
kdebase-konqueror
KDM
kdebase-workspace
KDE Plasma 5 Qt 4/5
qt4 qt5-base
KWin
kwin
Plasma Desktop
plasma-desktop
Konsole
konsole
Dolphin
kdebase-dolphin
KCalc
kcalc
KWrite/Kate
kwrite kate
Gwenview
gwenview
Dragon Player
kdemultimedia-dragonplayer
Konqueror
kdebase-konqueror
SDDM
sddm
LXDE (GTK+ 2) GTK+ 2
gtk2
Openbox
openbox
LXPanel
lxpanel
LXTerminal
lxterminal
PCManFM
pcmanfm
Galculator
galculator-gtk2
Leafpad
leafpad
GPicView
gpicview
LXMusic
lxmusic
Firefox
firefox
LXDM
lxdm
LXDE (GTK+ 3) GTK+ 3
gtk3
Openbox
openbox
LXPanel
lxpanel-gtk3AUR
LXTerminal
lxterminal-gtk3AUR
PCManFM
pcmanfm-gtk3AUR
Galculator
galculator
L3afpad
l3afpad
GPicView
gpicview-gtk3AUR
LXMusic
lxmusic-gtk3AUR
Firefox
firefox
LXDM
lxdm-gtk3AUR
LXQt Qt 5
qt5-base
Openbox
openbox
LXQt Panel
lxqt-panel
QTerminal
qterminalAUR
PCManFM-Qt
pcmanfm-qt
SpeedCrunch
speedcrunch-gitAUR
JuffEd
juffed-qt5-gitAUR
LxImage-Qt
lximage-qtAUR
SMPlayer
smplayer
QupZilla
qupzilla
SDDM
sddm
MATE (GTK+ 2) GTK+ 2/3
gtk2 gtk3
Marco
marco
MATE Panel
mate-panel
MATE Terminal
mate-terminal
Caja
caja
Galculator
galculator-gtk2
pluma
pluma
Eye of MATE
eom
Parole
parole
Midori
midori
LightDM GTK+ Greeter
lightdm-gtk-greeter
MATE (GTK+ 3) GTK+ 3
gtk3
Marco
marco-gtk3
MATE Panel
mate-panel-gtk3
MATE Terminal
mate-terminal-gtk3
Caja
caja-gtk3
Galculator
galculator
pluma
pluma-gtk3
Eye of MATE
eom-gtk3
Parole
parole
Midori
midori-gtk3
LightDM GTK+ Greeter
lightdm-gtk-greeter
Maynard GTK+ 3
gtk3
Weston
weston
Maynard
maynard-gitAUR
GNOME Terminal
gnome-terminal
GNOME Files
nautilus
GNOME Calculator
gnome-calculator
gedit
gedit
Eye of GNOME
eog
GNOME Videos
totem
Epiphany
epiphany
-
Pantheon GTK+ 3
gtk3
Gala
gala-bzrAUR
Plank/Wingpanel
plank wingpanelAUR
Pantheon Terminal
pantheon-terminal
Pantheon Files
pantheon-files
GNOME Calculator
gnome-calculator
Scratch
scratch-text-editorAUR
Shotwell
shotwell
GNOME Videos
totem
Midori
midori-gtk3
LightDM Pantheon Greeter
lightdm-pantheon-greeterAUR
ROX GTK+ 2
gtk2
OroboROX
oroboroxAUR
ROX-Filer
rox
ROXTerm
roxterm-gtk2AUR
ROX-Filer
rox
Galculator
galculator-gtk2
Edit
rox-editAUR
Picky
not packaged? search in AUR
MusicBox
not packaged? search in AUR
Midori
midori
XDM
xorg-xdm
Sugar GTK+ 3
gtk3
Metacity
metacity
Sugar
sugarAUR
Terminal
sugar-activity-terminalAUR
Sugar Journal
sugarAUR
Calculate
sugar-activity-calculateAUR
Write
sugar-activity-writeAUR
ImageViewer
sugar-activity-imageviewerAUR
Jukebox
sugar-activity-jukeboxAUR
Browse
sugar-activity-browseAUR
LightDM GTK+ Greeter
lightdm-gtk-greeter
Trinity TQt TWin Kicker Konsole Konqueror KCalc Kwrite / Kate Kuickshow Kaffeine Konqueror TDM
Unity GTK+ 3
gtk3
Compiz
compiz-ubuntuAUR
Unity
unityAUR
GNOME Terminal
gnome-terminal
GNOME Files
nautilus-ubuntuAUR
GNOME Calculator
gnome-calculator
gedit
gedit
Eye of GNOME
eog
GNOME Videos
totem
Firefox
firefox
LightDM Unity Greeter
lightdm-unity-greeterAUR
Xfce GTK+ 2/3
gtk2 gtk3
Xfwm4
xfwm4
Xfce Panel
xfce4-panel
Terminal
xfce4-terminal
Thunar
thunar
Galculator
galculator
Mousepad
mousepad
Ristretto
ristretto
Parole
parole
Midori
midori
LightDM GTK+ Greeter
lightdm-gtk-greeter

Resource use

In terms of system resources, GNOME and KDE are expensive desktop environments. Not only do complete installations consume more disk space than lightweight alternatives (Enlightenment, LXDE, LXQt and Xfce) but also more CPU and memory resources while in use. This is because GNOME and KDE are relatively full-featured: they provide the most complete and well-integrated environments.

Enlightenment, LXDE, LXQt and Xfce, on the other hand, are lightweight desktop environments. They are designed to work well on older or lower-power hardware and generally consume fewer system resources while in use. This is achieved by cutting back on extra features (which some would term bloat).

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, a taskbar and a number of applications (a minimalist selection usually includes a terminal emulator, file manager, and text editor).

Other applications that are usually provided by desktop environments are: