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 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 often avoid such mixed environments, or chose alternatives which do depend on only few external libraries.
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 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.
Prior to installing a desktop environment, a functional X server installation is required. See Xorg for detailed information. Some desktop environments may also support Wayland as an alternative to X, but most of these are still experimental.
List of desktop environments
- Budgie — Budgie is a desktop environment designed with the modern user in mind, it focuses on simplicity and elegance.
- Cinnamon — Cinnamon strives to provide a traditional user experience. Cinnamon is a fork of GNOME 3.
- Deepin — Deepin desktop interface and apps feature an intuitive and elegant design. Moving around, sharing and searching etc. has become simply a joyful experience.
- 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.
- GNOME — The GNOME desktop environment is an attractive and intuitive desktop with both a modern (GNOME) and a classic (GNOME Classic) session.
- 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.
- KDE Plasma — The KDE Plasma desktop environment is a familiar working environment. Plasma offers all the tools required for a modern desktop computing experience so you can be productive right from the start.
- 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.
- https://lxde.org/ || GTK 2: , GTK 3:
- 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.
- MATE — Mate provides an intuitive and attractive desktop to Linux users using traditional metaphors. MATE started as a fork of GNOME 2, but now uses GTK 3.
- 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.
- UKUI — UKUI is a lightweight Linux desktop environment, developed based on GTK and Qt. UKUI is the default desktop environment for Ubuntu kylin.
- 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.
- EDE — The "Equinox Desktop Environment" is a desktop environment designed to be simple, extremely light-weight and fast.
- https://edeproject.org/ || AUR
- Liri — Liri is a desktop environment with modern design and features. Liri is the merge between Hawaii, Papyros and the Liri Project. Highly experimental.
- https://liri.io/ || AUR
- Lumina — Lumina is a lightweight desktop environment written in Qt 5 for FreeBSD that uses Fluxbox for window management.
- https://lumina-desktop.org/ || AUR
- Moksha — Fork of Enlightenment currently used as default desktop environment in Ubuntu-based Bodhi Linux.
- 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 macOS.
- https://elementary.io/ || AUR
- Phosh — Phosh is a Wayland shell user interface based on GNOME, useful on mobile devices.
- https://source.puri.sm/Librem5/phosh/ || AUR, AUR
- theShell — theShell is a desktop environment that tries to be as transparent as possible. It uses Qt 5 as its widget toolkit and KWin as its window manager.
- 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.
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 components usually provided by desktop environments are:
- Application launcher: List of applications#Application launchers
- Audio volume control: List of applications#Volume control
- Clipboard manager
- Desktop compositor: Xorg#Composite
- Desktop wallpaper setter and desktop icon: List of applications#Wallpaper setters and Openbox#Desktop icons and wallpapers
- Display manager: Display manager#List of display managers
- Display power saving settings: Display Power Management Signaling
- Logout dialogue: Oblogout
- Mount tool: List of applications#Mount tools
- Notification daemon: Desktop notifications
- Polkit authentication agent: Polkit#Authentication agents
- Screen locker: List of applications#Screen lockers
- Default applications: XDG MIME Applications#mimeapps.list
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.
- Budgie#Use a different window manager
- Cinnamon#Use a different window manager
- GNOME#Use a different window manager
- KDE#Use a different window manager
- LXDE#Use a different window manager
- LXQt#Use a different window manager
- MATE#Use a different window manager
- theShell#Use a different window manager
- Xfce#Use a different window manager