- DesktopEnvironment
- Desktop components
- Desktop Environment
- Window Manager
- Tiling Window Managers
- Display Managers
- Display server
- How it works?
- Installation of a Desktop Environment
- Sessions
- Theming and customization
- Fonts
- Common problems
- Heterogeneous environments
- Default applications
- Resources
- End-user
- Cross-theming
- Contributing
- See also
- Desktop environment
- Contents
- Overview
- List of desktop environments
- Officially supported
- Unofficially supported
- Custom environments
- Use a different window manager
- DesktopEnvironment
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
Desktop Environment
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.
Other desktop environments available in Debian include Cinnamon, LXQt, Budgie, Enlightenment, FVWM-Crystal, GNUstep/Window Maker, Sugar Notion WM and possibly others.
Other desktop environments not available in Debian include Unity (1 2), Pantheon, ROX, Equinox/EDE, Étoilé, CDE, Artemis, Durden, Trident, Lumina and others.
Window Manager
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.
Display Managers
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.
Display server
Most Desktop Environment currently rely on Xorg (X Window System), and will eventually support Wayland in the future.
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:
- 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.
- 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.
Sessions
Sessions are usually managed by the Display Manager, which itself relies on Xsession.
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.
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.
Fonts
Learn about getting Fonts, fonts rendering and other issues.
Common problems
Heterogeneous environments
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.
Default applications
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.
Resources
End-user
Display managers like XDM, GDM, WDM, or KDM.
Cross-theming
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.
Contributing
See also
CategoryDesktopApplication — wiki pages related to graphical programs for the desktop
Источник
Desktop environment
A desktop environment (DE) is an implementation of the desktop metaphor made of a bundle of programs, which share a common graphical user interface (GUI).
Contents
Overview
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 they 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 the libraries underlying the respective desktop environment. 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, applications provided by desktop environments 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.
List of desktop environments
Officially supported
- Budgie — Budgie is a desktop environment designed with the modern user in mind, it focuses on simplicity and elegance.
https://getsol.us/ || budgie-desktop
- Cinnamon — Cinnamon strives to provide a traditional user experience. Cinnamon is a fork of GNOME 3.
https://github.com/linuxmint/Cinnamon || cinnamon
- Cutefish — Cutefish is a new and modern desktop environment.
https://en.cutefishos.com/ || cutefish
- Deepin — Deepin desktop interface and apps feature an intuitive and elegant design. Moving around, sharing and searching etc. has become simply a joyful experience.
https://www.deepin.org/ || deepin
- 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.
https://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.
https://www.gnome.org/ || gnome
- 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/Projects/GnomeFlashback || gnome-flashback
- 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.
https://www.kde.org/plasma-desktop || 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.
https://lxde.org/ || GTK 2: lxde , GTK 3: lxde-gtk3
- 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.
https://lxqt.github.io/ || lxqt
- 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.
https://mate-desktop.org/ || mate
- 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.
https://sugarlabs.org/ || sugar + sugar-fructose
- UKUI — UKUI is a lightweight Linux desktop environment, developed based on GTK and Qt. UKUI is the default desktop environment for Ubuntu kylin.
https://www.ukui.org/ || ukui
- 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.
https://xfce.org/ || xfce4
Unofficially supported
- CDE — The Common Desktop Environment 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. Despite being a legacy environment, it is still kept alive with support for Linux systems as well.
https://sourceforge.net/projects/cdesktopenv/ || cdesktopenvAUR
- EDE — The «Equinox Desktop Environment» is a desktop environment designed to be simple, extremely light-weight and fast.
https://edeproject.org/ || edeAUR
- KDE 1 — «forward-ported» to work on modern systems. Mostly for nostalgia, but now actually works and can be used as a daily driver. There are also a growing number of KDE 1 applications in AUR.
https://invent.kde.org/historical/kde1-kdebase || kde1-kdebase-gitAUR
- 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/ || liri-shell-gitAUR
- Lumina — Lumina is a lightweight desktop environment written in Qt 5 for FreeBSD that uses Fluxbox for window management.
https://lumina-desktop.org/ || lumina-desktopAUR
- Moksha — Fork of Enlightenment currently used as default desktop environment in Ubuntu-based Bodhi Linux.
https://www.bodhilinux.com/moksha-desktop/ || moksha-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 macOS.
https://elementary.io/ || pantheon-session-gitAUR
- PaperDE — Desktop environment built on top of Qt/Wayland and wayfire.
https://cubocore.org/paperde.html || paperdeAUR
- Phosh — Phosh is a Wayland shell user interface based on GNOME, useful on mobile devices.
https://gitlab.gnome.org/World/Phosh/phosh || phoshAUR , phosh-gitAUR
- theDesk — theDesk 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.
https://github.com/vicr123/thedesk || thedeskAUR
- 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.
https://www.trinitydesktop.org/ || See Trinity
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 or compositor, 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:
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.
Источник