- What's an office environment?
- Typical components of an office environment
- Overview of the main Linux desktop environments
- Selection criteria
In a GNU/Linux system, the desktop environment plays one of the most important roles in your user experience. It is the graphical layer that enables interaction with the system, based on familiar visual representations: windows, menus, icons, panels and pre-installed applications.
In this chapter, I'll be exploring the structure and role of a desktop environment, its typical components, the main families available, selection criteria and their integration into the most popular Linux distributions.
What's an office environment?
A desktop environment (or "DE" for Desktop Environment) refers to the set of programs that make up the complete graphical interface of an operating system. On Windows and macOS, a single desktop environment is offered by default, integrated into the system, with no possibility of modifying it entirely (only certain shells exist to partially modify the interface). Linux systems, on the other hand, are far more modular, treating the desktop environment as an independent component that can be freely replaced.
In Linux, it's important to clearly distinguish between all the layers: the kernel (which manages interaction with the hardware), the display server (which acts as an intermediary between applications, graphics drivers, and hardware via the kernel), and finally the desktop environment itself, which relies on this infrastructure to deliver a coherent graphical interface to the user. This distinction can sometimes be less clear, as many Linux distributions come with a pre-installed desktop environment that sometimes includes its own Wayland compositor, which then acts as a display server.
Typical components of an office environment
A desktop environment in a Linux distribution is not a single application, but a coherent set of software components that provide a complete graphical interface for interacting with the operating system. These components are based on several software layers, which are structured as follows:
-
A window manager: draws window borders, manages their placement, resizing, and transition effects... For example: Mutter (GNOME), KWin (KDE Plasma), Xfwm (Xfce).
-
A file manager: allows you to navigate through the directory tree, copying, moving, or deleting files visually. Examples: Nautilus (GNOME), Dolphin (KDE), Thunar (Xfce).
-
A configuration center: this is a set of tools enabling the user to modify system parameters without going through the command line: appearance, wallpaper, user management, network, peripherals...
-
System applets: these are the little icons and interactive modules in the taskbar (or "panel"), such as sound control, battery level, network connection, clock...
-
A panel or dashboard: a visible bar, often at the top or bottom of the screen, containing the main menu, system applets, shortcuts, notification zone, etc.
-
A session manager: runs at startup, displays the login screen and launches the chosen graphical session. For example: GDM (GNOME), SDDM (KDE), LightDM (Xfce).
-
Notification manager: manages the display of system notifications (messages, alerts, updates, etc.). For example: dunst, Plasma-notifier, xfce4-notifyd.
-
X11 compositor (optional): adds visual effects (shadows, transparency, animations) in environments where the window manager doesn't support compositing. For example: compton, picom.
-
A display server: this is the software that handles communication between the system (via the kernel and graphics drivers) and graphics applications. It displays windows on the screen and manages keyboard and mouse inputs. The display server is often a different component of the desktop environment, but more and more systems are adopting Wayland, a modern protocol where the display server role can be taken over directly by the window manager (e.g. Mutter under GNOME or KWin under KDE). This is then referred to as "Wayland compositing".
All these elements are based on a graphical toolkit, i.e., a software library that provides the basic components for creating graphical interfaces: buttons, menus, text fields... The two main Linux toolkits are:
- GTK (GIMP Toolkit): used by GNOME, XFCE, Cinnamon, MATE...
- Qt: used by KDE Plasma, LXQt...
Overview of the main Linux desktop environments
GNOME
Launched in 1997 and first published in 1999, GNOME ("GNU Network Object Model Environment") is based on the GTK library and aims to minimize friction between the user and interface through a very simple organization. Since GNOME 3, its core, GNOME Shell, has abandoned the traditional metaphor of the icon-covered desktop: instead of juggling several simultaneously visible workspaces, users switch to a single activity selector where they manage windows, virtual desktops, and application launchers.
Technically, the Mutter compositor combines window management and the Wayland stack, while remaining X11-compatible thanks to XWayland. By default, the environment provides Nautilus for file browsing, GNOME Terminal for the command line, and a centralized settings panel. GNOME's customization options are inherently limited.
This is the default environment for Fedora Workstation, Ubuntu and many other desktop-oriented distributions.
KDE Plasma
The KDE project was launched in 1996, with the first version of its desktop environment released in 1998. In 2014, a distinction was made between the desktop environment and the other components of the project. The desktop environment was then named "Plasma".
KDE Plasma is based on Qt 6, a cross-platform C++ framework, and on KDE Frameworks, a modular collection of libraries facilitating the development of integrated applications. Its window manager, KWin, also acts as a complete Wayland compositor: it handles visual effects (blur, transparency, transitions), screen splitting with GPU acceleration, and multi-touch gestures via libinput.
One of the distinguishing points of KDE Plasma is its unified configuration center, which exposes a graphical interface for virtually all settings: virtual desktop behavior, global shortcuts, animation smoothness, power management, network configuration, window border appearance... No text configuration files need to be manually edited, making the desktop environment easy to customize.
KDE Plasma is used in many distributions, including Kubuntu, openSUSE Tumbleweed, Fedora KDE Spin and Manjaro KDE.
Xfce
Xfce is a free, open-source desktop environment created in 1996 by Olivier Fourdan. Its initial objective, which is still valid today, was to provide a simple, light and fast alternative to heavier desktop environments such as GNOME or KDE. Technically, Xfce is based on the GTK toolkit, which brings it closer to GNOME in certain respects, but also sets it apart in its philosophy.
Xfce takes a traditional graphical interface approach, featuring an icon-driven desktop, application menu, taskbar, and configurable panels. The whole package is designed to be resource-efficient, both in terms of RAM and processor power. This makes it an ideal solution for older, less powerful computers, or simply for users looking for a fluid, stable and responsive system.
LXQt
LXQt is a lightweight desktop environment designed to deliver a full graphical interface while consuming minimal system resources. It is particularly suited to older or less powerful machines.
LXQt is the result of the 2013 merger of two separate projects: LXDE (originally developed with the GTK+ library) and Razor-qt (a similar Qt-based environment). This merger gave birth to LXQt, with the aim of unifying efforts while benefiting from the power and modernity of the Qt framework, better suited to the evolution of Linux systems than GTK+ 2, used by LXDE.
Cinnamon
Cinnamon is a modern desktop environment developed and maintained by the Linux Mint distribution team. It was launched in 2011 as a direct response to the radical changes introduced by GNOME 3, deemed too disruptive by some in the community.
Initially, Cinnamon was a simple fork of GNOME Shell, but it gradually freed itself from GNOME to become a full-fledged desktop environment, while continuing to rely on GTK libraries (notably GTK 3).
Its main objective is to offer a classic, intuitive interface, in the continuity of GNOME 2 and Windows: a bottom-left applications menu, a taskbar, a notification zone, and a manageable desktop. This conservative approach is particularly interesting for novice users or those coming from Windows, who will quickly find their bearings.
MATE
MATE is a fork of GNOME 2, launched in 2011, following the arrival of GNOME 3 and its radically different interface (GNOME Shell). MATE was born of the desire to preserve the classic approach of the GNOME 2 environment, while maintaining and modernizing it.
Technically, MATE is based on the GTK 3 libraries (after having used GTK 2 for a long time), and maintains a modular structure: file manager (Caja), control panel, terminal, text editor... All these components are forks of GNOME 2 tools, continually updated to remain compatible with modern systems.
Its interface is based on traditional desktop logic: one or two panels (menu, quick launch areas, clock, notification areas), a desktop with icons, and a floating window organization.
Selection criteria
Choosing your GNU/Linux desktop environment is no trivial matter: it determines the user experience, system performance, and software compatibility. Each DE is based on technical choices (libraries, architecture, window manager...) that influence its appearance, behavior, performance, and even hardware requirements. Here are the main criteria to consider when making an informed choice.
Hardware performance
Every desktop environment has a different resource footprint. This is measured in terms of RAM consumption, CPU usage, and start-up time:
- On older or less powerful machines (single-core CPU, less than 2 GB RAM...), I recommend very lightweight environments such as LXQt, LXDE or Xfce. They offer a full graphical interface, but without visual effects or heavy dependencies;
- Intermediate environments, such as MATE or Cinnamon, require slightly more recent hardware (4 to 6 GB RAM recommended), but remain reasonable;
- Modern, rich environments like GNOME or KDE Plasma are very complete, but require more resources, especially if graphical effects are enabled. They are suitable for recent machines.
Aesthetic and ergonomic preferences
Each DE offers a distinct interface philosophy:
- GNOME favors simplicity of use, with a streamlined interface, with no classic desktop or icons, and a productivity-oriented workflow that can be disconcerting for beginners
- KDE Plasma is extremely customizable, right down to the smallest detail. It features a modern look, animations, and a default interface that's closer to Windows
- Cinnamon and MATE offer a classic experience: bottom-left menu, taskbar, desktop icons. Cinnamon is more visually modern, MATE lighter
- Xfce and LXQt aim for simplicity and performance, with a more restrained yet configurable aesthetic
Intended use
The main use of the computer will also influence your choice:
- For office and multimedia use, all environments are suitable
- For a development workstation, preferences vary: some developers appreciate the sobriety of Xfce, others prefer the integration tools offered by KDE
- For embedded or server applications with a minimal interface, or on very old machines, LXQt, LXDE or Xfce are often the only viable choices
Compatibility with the chosen distribution
Every GNU/Linux distribution favors a default desktop environment, which is often better integrated, better tested, comes with dedicated tools, and is installed by default. It's always possible to install another desktop environment, but this can lead to software duplication, configuration conflicts, or a less consistent user experience. Your choice of desktop environment may therefore be influenced by that of your Linux distribution, or, conversely, your preference for a specific desktop environment may guide your choice of distribution.
Please note that some distributions, whether maintained by the project team or by external contributors, include a desktop environment different from the default one (e.g. Kubuntu, Lubuntu, Xubuntu...).
Here are the desktop environments of the main distributions:
-
Ubuntu → GNOME
-
Kubuntu → KDE Plasma
-
Xubuntu → Xfce
-
Lubuntu → LXQt
-
Linux Mint → Cinnamon (main edition), but also MATE and Xfce
-
Fedora → GNOME (main edition), but offers several official Spins:
-
Fedora KDE Spin → KDE Plasma
-
Fedora Xfce Spin → Xfce
-
Fedora LXQt Spin → LXQt
-
Fedora Cinnamon Spin → Cinnamon
-
Fedora MATE-Compiz Spin → MATE
-
Fedora SoaS, i3, etc. → specific environments
-
Debian → GNOME (default), choice of KDE, Xfce, LXQt, Cinnamon, MATE during installation
-
Manjaro → KDE Plasma, GNOME or Xfce depending on edition; community editions available with Cinnamon, MATE, LXQt, i3, etc.
-
Zorin OS → Zorin Desktop, based on GNOME (Core version) and Xfce (Lite version)
-
elementary OS → Pantheon, elementary's own GTK-based environment
-
Pop! OS → GNOME modified with interface COSMIC, soon to be replaced by a Rust version
-
openSUSE → choose at installation between KDE Plasma (most integrated edition), GNOME, Xfce, MATE, etc.
-
Arch Linux → does not provide a default environment, so you need to install the one of your choice
-
Kali Linux → Xfce (default since 2019), also offers KDE, GNOME, i3, MATE, etc.
-
Parrot OS → MATE (default), alternative version with KDE Plasma
-
Tails → GNOME
-
Qubes OS → Xfce
-
BlackArch → i3 window manager (not a complete desktop environment)
-
PureOS → GNOME
-
Whonix → KDE Plasma (main version), alternative available with Xfce
In conclusion, there is no single best desktop environment, only the one that best suits your equipment, uses, and preferences. It's even common to test several DEs before finding the one that offers the right compromise between aesthetics, ergonomics, and performance.
This chapter will have given you a better understanding of what a desktop environment is, its key components, the differences between the main solutions available, and the important criteria for making your choice. In the next chapter, you'll be able to take your first steps with Ubuntu, a versatile distribution for the general public.
Quiz
Quiz1/5
scu2022.4
What component of a desktop environment is used to visually navigate files and folders?