# Desktop environment

Related articles

- Display manager
- Window manager
- Xorg
- Default applications

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, similar to GNOME 2, but build on GNOME 3 technology.

  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/about/ || gnome

- KDE — KDE software consists of a large number of individual applications and a desktop workspace as a shell to run these applications. While the applications can be run on any desktop environment, using them together with the KDE workspace achieves even better integration while lowering system resource demands.

  http://www.kde.org/ || kdebase

- LXDE — The Lightweight X11 Desktop Environment is a fast and energy-saving desktop environment. Maintained by an international community of developers, 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

- 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/ || mate

- 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

- Deepin — 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-environment

- EDE — The "Equinox Desktop Environment" is a DE designed to be simple, extremely light-weight and fast.

  http://equinox-project.org/ || ede

- 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-panel

- GNUstep — GNUstep is a free, object-oriented, cross-platform development environment that strives for simplicity and elegance.

  http://gnustep.org/ || windowmaker gworkspace

- 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-git

- 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-desktop-git

- 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-git

- 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-bzr

- 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/ || sugar

- 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/ || 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.

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
--- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ---
Cinnamon | GTK+ 3 gtk3 | Muffin muffin | Cinnamon cinnamon | GNOME Terminal gnome-terminal | Nemo nemo | Calculator gnome-calculator | gedit gedit | Eye of GNOME eog | Totem totem | Firefox firefox | LightDM GTK+ Greeter lightdm-gtk3-greeter
Deepin | GTK+ 2/3 gtk2 gtk3 | Compiz compiz-core-devel | Dock deepin-desktop-environment | Deepin Terminal deepin-terminal | Nautilus nautilus | Calculator gnome-calculator | gedit gedit | Eye of GNOME eog | DPlayer deepin-media-player | Firefox firefox | LightDM Deepin Greeter deepin-desktop-environment
EDE | FLTK fltk | PekWM ede | EDE Panel ede | XTerm xterm | Fluff fluff | Calculator ede | Editor fltk-editor | Image Viewer ede | flmusic flmusic | Dillo dillo | XDM xorg-xdm
Enlightenment | Elementary elementary | Enlightenment enlightenment | Enlightenment enlightenment | Terminology terminology | EFM enlightenment | Equate equate-git | Ecrire ecrire-git | Ephoto ephoto-git | Rage rage-git | Eve not packaged? search in AUR | XDM xorg-xdm
GNOME | GTK+ 3 gtk3 | Mutter mutter | GNOME Shell gnome-shell | GNOME Terminal gnome-terminal | Nautilus nautilus | Calculator gnome-calculator | gedit gedit | Eye of GNOME eog | Totem totem | Epiphany epiphany | GDM gdm
GNOME Flashback | GTK+ 2/3 gtk2 gtk3 | Metacity metacity | GNOME Panel gnome-panel | GNOME Terminal gnome-terminal | Nautilus nautilus | Calculator gnome-calculator | gedit gedit | Eye of GNOME eog | Totem totem | Epiphany epiphany | GDM gdm
GNUstep | GNUstep gnustep-core | Window Maker windowmaker | Window Maker windowmaker | Terminal gnustep-terminal | GWorkspace gworkspace | Calculator gnustep-examples | Ink gnustep-examples | LaternaMagica laternamagica | Cynthiune cynthiune | SWK Browser swkbrowser-svn | XDM xorg-xdm
Hawaii | Qt 5 qt5 | Weston weston | Hawaii Shell hawaii-shell-git | Terminal hawaii-terminal-git | Swordfish swordfish-git | Calculator not packaged? search in AUR | TEA not packaged? search in AUR | EyeSight eyesight-git | Cinema not packaged? search in AUR | QupZilla qupzilla | SDDM sddm-qt5
KDE | Qt 4 qt4 | KWin kdebase-workspace | Plasma Desktop kdebase-workspace | Konsole kdebase-konsole | Dolphin kdebase-dolphin | KCalc kdeutils-kcalc | KWrite/Kate kdebase-kwrite kdesdk-kate | Gwenview kdegraphics-gwenview | Dragon Player kdemultimedia-dragonplayer | Konqueror kdebase-konqueror | KDM kdebase-workspace
LXDE | GTK+ 2 gtk2 | Openbox openbox | LXPanel lxpanel | LXTerminal lxterminal | PCManFM pcmanfm | Galculator galculator-gtk2 | Leafpad leafpad | GPicView gpicview | LXMusic lxmusic | Firefox firefox | LXDM lxdm
LXQt | Qt 4 qt4 | Openbox openbox | LXQt Panel lxqt-panel-git | QTerminal qterminal-git | PCManFM-Qt pcmanfm-qt-git | SpeedCrunch speedcrunch | JuffEd juffed | LxImage-Qt lximage-qt-git | Qmmp qmmp | QupZilla qupzilla-qt4 | LightDM LXQt Greeter lxqt-lightdm-greeter-git
MATE | GTK+ 2 gtk2 | Marco marco | MATE Panel mate-panel | MATE Terminal mate-terminal | Caja caja | Galculator galculator-gtk2 | pluma pluma | Eye of MATE eom | Whaaw! whaawmp | Midori midori | LightDM GTK+ Greeter lightdm-gtk2-greeter
Maynard | GTK+ 3 gtk3 | Weston weston | Maynard maynard-git | GNOME Terminal gnome-terminal | Nautilus nautilus | Calculator gnome-calculator | gedit gedit | Eye of GNOME eog | Totem totem | Epiphany epiphany | -
Pantheon | GTK+ 3 gtk3 | Gala gala-bzr | Plank/Wingpanel plank wingpanel | Pantheon Terminal pantheon-terminal | Pantheon Files pantheon-files | Calculator gnome-calculator | Scratch scratch-text-editor | Shotwell shotwell | Totem totem | Midori midori-gtk3 | LightDM Pantheon Greeter lightdm-pantheon-greeter
ROX | GTK+ 2 gtk2 | OroboROX oroborox | ROX-Filer rox | ROXTerm roxterm-gtk2 | ROX-Filer rox | Galculator galculator-gtk2 | Edit rox-edit | Picky not packaged? search in AUR | MusicBox not packaged? search in AUR | Midori midori | LightDM GTK+ Greeter lightdm-gtk2-greeter
Sugar | GTK+ 2/3 gtk2 gtk3 | Metacity metacity | Sugar sugar | Terminal sugar-activity-terminal | Sugar Journal sugar | Calculate sugar-activity-calculate | Write sugar-activity-write | ImageViewer sugar-activity-imageviewer | Jukebox sugar-activity-jukebox | Browse sugar-activity-browse | LightDM GTK+ Greeter lightdm-gtk3-greeter
Trinity | Qt 3 | TWin | Kicker | Konsole | Konqueror | KCalc | Kwrite / Kate | Kuickshow | Kaffeine | Konqueror | TDM
Unity | GTK+ 2/3 gtk2 gtk3 | Compiz compiz-ubuntu | Unity unity | GNOME Terminal gnome-terminal | Nautilus nautilus-ubuntu | Calculator gnome-calculator | gedit gedit | Eye of GNOME eog | Totem totem | Firefox firefox | LightDM Unity Greeter lightdm-unity-greeter
Xfce | GTK+ 2 gtk2 | Xfwm4 xfwm4 | Xfce Panel xfce4-panel | Terminal xfce4-terminal | Thunar thunar | Galculator galculator-gtk2 | Mousepad mousepad | Ristretto ristretto | Parole parole | Midori midori | LightDM GTK+ Greeter lightdm-gtk2-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).

### Environment familiarity

Many users describe KDE as more Windows-like and GNOME as more Mac-like. This is a very subjective comparison, since either desktop environment can be customized to emulate the Windows or Mac operating systems. See Is KDE 'more Windows-like' than GNOME? and KDE vs GNOME for more information. (Linux is Not Windows is also an excellent resource.)

## 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, 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:

- Application launcher: List of applications#Application launchers
- Clipboard manager: Clipboard#List of clipboard managers
- Desktop compositor: Xorg#Composite
- Desktop wallpaper setter: List of applications#Wallpaper setters
- Display manager: Display manager#List of display managers
- Display power saving settings: Display Power Management Signaling
- Logout dialogue: List of applications#Logout dialogue
- Notification daemon: Desktop notifications
- Polkit authentication agent: Polkit#Authentication agents
- Screen locker: List of applications#Screen lockers
- Volume notification daemon: List of applications#Volume notification

Category:

- Desktop environments