Translation(s): العربية - বাংলা-(Bengali) - Deutsch - Ελληνικά - English - Español - Français - עברית (Hebrew) - Italiano - 한국어 - Polski - Português (Brasil) - Русский - සිංහල-(Sinahala) - Svenska - தமிழ் (Tamil) - 简体中文
Debian supports all kinds of graphical environments, ranging from full-featured desktop environments, to lighter alternatives and even minimalist but powerful window managers.
A desktop environment provides a coherent suite of applications in terms of look, functionality, and usability.
- Desktop components
- How it works?
The GNOME project provides two things: The GNOME desktop environment, an intuitive and attractive desktop for users, and the GNOME development platform, an extensive framework for building applications that integrate into the rest of the desktop.
Plasma by KDE is a powerful open source graphical desktop environment for Unix workstations. It combines ease of use, contemporary functionality, and outstanding graphical design with the technological superiority of the Unix operating system.
Xfce is a lightweight desktop environment for various *NIX systems. Designed for productivity, it loads and executes applications quickly, while conserving system resources.
LXDE is designed to work well with computers on the low end of the performance spectrum such as older resource-constrained machines, new generation netbooks, and other small computers.
MATE is the continuation of GNOME 2. It provides an intuitive and attractive desktop environment using traditional metaphors for Linux and other Unix-like operating systems.
As its name says, Window Managers control the layout, appearance and ways to interact with your environment windows. While some Window Managers might be part of your Desktop Environment, some (such as tiled window managers) also do work as standalone, and were eventually designed for that purpose.
Openbox is a lightweight and highly configurable window manager with extensive standards support. It is well known for its minimalistic appearance.
FluxBox is a windowmanager for X that was based on the Blackbox 0.61.1 code. It is very light on resources and easy to handle yet full of features to make an easy, and extremely fast, desktop experience.
Compiz is a compositing window manager for the X Window System that uses 3D graphics hardware to create fast compositing desktop effects for window management.
Search Window Managers with Debtags: x11::window-manager.
Tiling Window Managers
Tiling Window Managers provide a way to control windows behavior by making them tiled, easily occupying the whole screen.
Wmii is a dynamic window manager for X11. It supports classic and tiling window management with extended keyboard, mouse, and filesystem-based remote control. It replaces the workspace paradigm with a new tagging approach.
Awesome is a dynamic window manager for X11. It supports tiling window management with extended keyboard, mouse, and it is scriptable in Lua. It includes many add-ons which can make it very powerful. It replaces the workspace paradigm with a new tiling approach of non-overlaping windows.
Notion is a tiling, tabbed window manager for the X window system.
In the X Window System, an X display manager is a graphical login manager which starts a session on an X server from the same or another computer. A display manager presents the user with a login screen. A session starts when a user successfully enters a valid combination of username and password.
More infos: Display Manager
How it works?
Installation of a Desktop Environment
During the installation of Debian the installer offers the choice of which Desktop Environment to install. Should you prefer to install one after booting into the new OS, you can decline all the offerings by unticking Debian desktop environment.
A user on Debian 10 (buster) or Debian 11 (bullseye) would be presented with the menu:
[*] Debian desktop environment [ ] GNOME [ ] Xfce [ ] KDE Plasma [ ] Cinnamon [ ] MATE [ ] LXDE [ ] LXQt
- Accepting this selection sees the GNOME desktop environment installed.
- Without deselecting the desktop environment, another entry, GNOME included, may be selected. This will install that selection.
Unticking Debian desktop environment and selecting any other choice leads to that choice being installed.
For an explanation of this behaviour we have to look at part of the Recommends: line in apt show task-desktop.
Recommends: task-gnome-desktop | task-xfce-desktop | task-kde-desktop | task-lxde-desktop | task-cinnamon-desktop | task-mate-desktop | task-lxqt-desktop
- The Debian desktop environment installs task-desktop and requires one of the packages listed above. If none of them are on the system, the first in the list, task-gnome-desktop, will be installed to fulfill the dependency. This is the situation when a user accepts only the Debian desktop environment.
Looking at apt show task-mate-desktop we see that it depends on task-desktop and mate-desktop-environment. Ticking MATE, with or without the Debian desktop environment ticked, would satisfy task-desktop's Recommends: line and install MATE instead of the Gnome default.
Afterward, installing another Desktop Environment is as simple as installing a single package. For some Desktop Environments, you have choice between several meta-packages depending on if you wish to install a minimal set or most of the software coming with the environment. Please refer to the page specific to the Desktop Environment you wish to install for a description of these meta-packages.
Installing a new Desktop Environment will make it available for your system, but you still need to set up your user Session (see below) in order to run it.
Most Display Managers will allow you to select which Desktop Environment/Window Manager you wish to run for next session, and eventually make it default.
If you don't want to run a Display Manager to manage your sessions, you might consider using nodm - you may be comfortable merely using a screen locker (eg. XScreensaver, slock) to lock your sessions manually instead of expecting it to insist on username plus password to get in. This is likely inappropriate for servers, but may well be acceptable for a user's home system, assuming no familial trust issues.
If you have no Display Manager installed at all, you can still start the X Environment from console with the startx command, which is a call to xinit.
Debian Reference Manual: The X Window System: Starting the X Window System (Chapter 7.5)
Theming and customization
Desktop environments often have customized themes that allow you to change the look and feel of your desktop. The easiest way to customize your desktop environment is to install theme packages from your system's Package Manager.
Further customization is possible by editing settings of Graphical Toolkits, such as GTK2, GTK3, or directly change the application settings.
Some terminals like xterm and urxvt make use of Xresources to control their appearance and functionalities.
Search X11 Themes with Debtags: x11::theme.
Learn about getting Fonts, fonts rendering and other issues.
While the purpose of a desktop is to provide a coherent suite of applications, you are likely to mix applications coming from several desktops which are using various graphical toolkits, with the inconvenience that they will not be well integrated.
Getting a uniform look and feel between your applications might be challenging, and relies on workarounds such as using themes specifically designed to look similar between several environments and applications.
Some features such as the desktop menus can be shared, in particular for environments following FreeDesktop (XDG) guidelines.
Having several applications with the same purpose will lead to competition for which software is meant to open when handling your files. Several mechanisms do exist to control these default applications and settings.
Display managers like XDM, GDM, WDM, or KDM.
qt5-gtk-platformtheme : may help to have similar look with QT5 applications within GTK environments
Base16 : guidelines to make similar-looking themes for various applications.
CategoryDesktopApplication - wiki pages related to graphical programs for the desktop
Desktop environment in Wikipedia