Desktop environment

From ArchWiki
Revision as of 02:33, 18 January 2014 by City-busz (Talk | contribs) (Comparison of desktop environments: whaawmp moved into [community])

Jump to: navigation, search

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.

X Window System

The X Window System provides the foundation for a graphical user interface. Prior to installing a desktop environment, a functional X server installation is required. See Xorg for detailed information.

X provides the basic framework, or primitives, for building such GUI environments: drawing and moving windows on the screen and interacting with a mouse and keyboard. X does not mandate the user interface — individual client programs known as window managers handle this. As such, the visual styling of X-based environments varies greatly; different programs may present radically different interfaces. X is built as an additional (application) abstraction layer on top of the operating system kernel.

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.

Desktop environments

A desktop environment bundles together a variety of X clients to provide common graphical user interface elements such as icons, windows, toolbars, wallpapers, and desktop widgets. Additionally, most desktop environments include a set of integrated applications and utilities.

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.

List of desktop environments

Officially supported

  • Cinnamon — Cinnamon is a fork of GNOME 3. Cinnamon strives to provide a traditional user experience, similar to GNOME 2.
http://cinnamon.linuxmint.com/ || cinnamon
  • Enlightenment — The Enlightenment desktop shell provides an efficient yet breathtaking window manager based on the Enlightenment Foundation Libraries along with other essential desktop components like a file manager, desktop icons and widgets. It boasts a unprecedented level of theme-ability while still being capable of performing on older hardware or embedded devices.
http://www.enlightenment.org/ || enlightenment
  • GNOME — The GNOME project provides two things: The GNOME desktop environment, an attractive and intuitive desktop for users, and the GNOME development platform, an extensive framework for building applications that integrate into the rest of the desktop. GNOME is free, usable, accessible, international, developer-friendly, organized, supported, and a community.
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. You can run KDE applications just fine on any desktop environment as they are built to integrate well with your system's components. By also using the KDE workspace, you get even better integration of your applications with the working environment 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 beautiful interface, multi-language support, standard keyboard short cuts and additional features like tabbed file browsing. Fundamentally designed to be lightweight, LXDE uses less CPU and RAM than other environments. It is especially beneficial for cloud computers with low hardware specifications, such as netbooks, mobile devices (e.g. MIDs) or older computers.
http://lxde.org/ || lxde
  • MATE — MATE is a fork of GNOME 2. Mate provides an intuitive and attractive desktop to Linux users using traditional metaphors.
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-environmentAUR
  • EDE — The "Equinox Desktop Environment" is a DE designed to be simple, extremely light-weight and fast.
http://equinox-project.org/ || edeAUR
  • 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-panelAUR
  • GNUstep — GNUstep is a free, object-oriented, cross-platform development environment that strives for simplicity and elegance.
http://gnustep.org/ || windowmaker
  • 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-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 Mac OS X.
http://elementaryos.org/ || pantheon-session-bzrAUR
  • Razor-qt — Razor-qt is an advanced, easy-to-use, and fast desktop environment based on Qt technologies. It has been tailored for users who value simplicity, speed, and an intuitive interface. While still a new project, Razor-qt already contains all the key DE components.
http://razor-qt.org/ || razor-qtAUR
  • 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/ || not packaged? search in AUR
  • 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/ || sugarAUR
  • 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/ || unityAUR

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.

Template:Wikipedia

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-develAUR
Dock
deepin-desktop-environmentAUR
Deepin Terminal
deepin-terminalAUR
Nautilus
nautilus
Calculator
gnome-calculator
gedit
gedit
Eye of GNOME
eog
DPlayer
deepin-media-playerAUR
Firefox
firefox
LightDM Deepin Greeter
deepin-desktop-environmentAUR
EDE FLTK
fltk
PekWM
edeAUR
EDE Panel
edeAUR
XTerm
xterm
Fluff
fluffAUR
Calculator
edeAUR
Editor
fltk-editorAUR
Image Viewer
edeAUR
flmusic
flmusicAUR
Dillo
dillo
XDM
xorg-xdm
Enlightenment Elementary
elementary
Enlightenment
enlightenment
Enlightenment
enlightenment
Terminology
terminology
EFM
enlightenment
Equate
equate-gitAUR
Ecrire
ecrire-gitAUR
Ephoto
ephoto-gitAUR
Enjoy
enjoy-gitAUR
Eve
eve-gitAUR
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-panelAUR
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-terminalAUR
GWorkspace
gworkspaceAUR
Calculator
gnustep-examplesAUR
Ink
gnustep-examplesAUR
LaternaMagica
laternamagicaAUR
Cynthiune
cynthiuneAUR
SWK Browser
swkbrowser-svnAUR
XDM
xorg-xdm
Hawaii Qt 5
qt5
Weston
weston
Hawaii Shell
hawaii-shell-gitAUR
Terminal
hawaii-terminal-gitAUR
Swordfish
swordfish-gitAUR
Calculator
not packaged? search in AUR
TEA
not packaged? search in AUR
EyeSight
eyesight-gitAUR
Cinema
not packaged? search in AUR
QupZilla
qupzilla-qt5
SDDM
sddm-qt5AUR
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 (galculator-gtk2AUR)
Leafpad
leafpad
GPicView
gpicview
LXMusic
lxmusic
Firefox
firefox
LXDM
lxdm
MATE GTK+ 2
gtk2
Marco
mate-window-manager
MATE Panel
mate-panel
MATE Terminal
mate-terminal
Caja
mate-file-manager
Calculator
mate-calc
pluma
mate-text-editor
Eye of MATE
mate-image-viewer
Whaaw!
whaawmp
Midori
midori
LightDM GTK+ Greeter
lightdm-gtk2-greeter
Pantheon GTK+ 3
gtk3
Gala
gala-bzrAUR
Plank/Wingpanel
plank wingpanelAUR
Pantheon Terminal
pantheon-terminal
Pantheon Files
pantheon-filesAUR
Calculator
gnome-calculator
Scratch
scratch-text-editorAUR
Shotwell
shotwell
Totem
totem
Midori
midori-gtk3
LightDM Pantheon Greeter
lightdm-pantheon-greeterAUR
Razor-qt (LXDE-Qt) Qt 4
qt4
Openbox
openbox
Razor Panel
razor-qtAUR
(lxqt-panel-gitAUR)
QTerminal
qterminal-gitAUR
PCManFM-Qt
pcmanfm-qt-gitAUR
SpeedCrunch
speedcrunchAUR
JuffEd
juffedAUR
LxImage-Qt
lximage-qt-gitAUR
Qmmp
qmmp
QupZilla
qupzilla
LightDM Razor-qt Greeter (SDDM)
lightdm-razor-greeterAUR
(sddmAUR)
ROX GTK+ 2
gtk2
OroboROX
oroboroxAUR
ROX-Filer
rox
ROXTerm
roxterm (roxterm-gtk2AUR)
ROX-Filer
rox
Galculator
galculator (galculator-gtk2AUR)
Edit
rox-editAUR
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
sugarAUR
Terminal
sugar-activity-terminalAUR
Sugar Journal
sugarAUR
Calculate
sugar-activity-calculateAUR
Write
sugar-activity-writeAUR
ImageViewer
sugar-activity-imageviewerAUR
Jukebox
sugar-activity-jukeboxAUR
Browse
sugar-activity-browseAUR
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-develAUR
Unity
unityAUR
GNOME Terminal
gnome-terminal
Nautilus
nautilus
Calculator
gnome-calculator
gedit
gedit
Eye of GNOME
eog
Totem
totem
Firefox
firefox
LightDM Unity Greeter
lightdm-unity-greeterAUR
Xfce GTK+ 2
gtk2
Xfwm4
xfwm4
Xfce Panel
xfce4-panel
Terminal
xfce4-terminal
Thunar
thunar
Galculator
galculator (galculator-gtk2AUR)
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, Razor-qt 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, Razor-qt 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).