What Makes up a Linux Desktop Environment?

A list and description of the most commonly used ones

There are many Linux desktop environments available, including but not limited to Unity, Cinnamon, GNOME, KDE, XFCE, LXDE, and Enlightenment. These components are commonly used to make a Linux desktop environment.

Window Manager

A window manager determines how applications are presented to the user on the screen. There are different types of window managers available:

  • Compositing: Modern Linux desktop environments use compositing to display windows. Windows appear on top of each other, snap side by side, and look pleasing to the eye.
  • Stacking: A stacking window manager places windows on top of each other but they look more old-fashioned.
  • Tiling: A tiling window manager puts windows side by side without letting them overlap.
Window Manager

Typically, a window can have borders, be minimized and maximized, be resized, and be dragged around the screen. The window has a title, may contain a context menu, and items can be selected with the mouse.

A window manager lets you tab between windows, send them to a taskbar (also known as a panel), snap the windows side by side, and perform other tasks.

You can generally set the desktop wallpaper and add icons to the desktop.

Panels

In the Windows operating system, the panel is the taskbar. Linux can have multiple panels on the screen.

XFCE panel

A panel generally sits at the edge of the screen either at the top, bottom, left, or right. The panel contains items such as a menu, quick launch icons, minimized applications, and a system tray or notification area.​

Another use of a panel is as a docking bar which provides quick launch icons to load commonly used applications.

Menu

Most Linux desktop environments include a menu and quite often it is enacted by clicking an icon attached to a panel. Some desktop environments and some window managers allow you to click anywhere on the desktop to display the menu.

XFCE Whisker Menu

A menu generally shows a list of categories which, when clicked, show the applications available within that category. Some menus provide a search bar, access to favorite applications, and functions for logging out of the system.

System Tray

A system tray is generally attached to a panel and provides access to key settings such as Audio, Network, Power, User, Bluetooth, Notifications, and Clock.

System tray

Icons

Icons provide instant access to applications. An icon links to a file with a .desktop extension which provides a link to an executable program. The .desktop file also contains the path to the image to use for the icon as well as the category for the application which is used in menus.

Desktop icons

Widgets

Widgets provide useful information to the user straight to the desktop. Common widgets provide system information, news, sports results, and the weather.

KDE Plasma widgets

Launcher

Unique to Unity and the GNOME desktop, a launcher provides a list of quick launch icons which, when clicked, load the linked application. Other Linux desktop environments allow you to create panels or docks which include launchers to provide the same functionality.

Ubuntu launcher

Dashboards

The Unity and GNOME desktop environments include a dash style interface that can be displayed by pressing the super key (on most laptops this is a key with the Windows logo). The dash style interface provides a series of icons in categories which, when clicked, open the linked application.

A powerful search facility is usually included to make it easy to find applications.

Ubuntu dash

File Manager

A file manager is required to navigate the file system so that you can edit, copy, move, and delete files and folders. Typically, it displays a list of common folders such as home, pictures, documents, music, and downloads. Clicking a folder shows the items within the folder.

Nautilus

Terminal Emulator

A terminal emulator runs low-level commands against the operating system. The command line provides more powerful features than traditional graphical tools.

You can do most things in the command line that you can with graphical tools but the increased number of switches provide a lower level of granularity. The command line makes running repetitive tasks simpler and less time-consuming.

Terminal Emulator

Text Editor

A text editor allows you to create text files and you can use it to edit configuration files. Although it is more basic than a word processor, the text editor is useful for creating notes and lists.

The gEdit Text Editor

Display Manager

A display manager is the screen used to log in to your Linux desktop environment. As well as allowing you to log in to the system, you can also use the display manager to change the desktop environment in use.

Display Manager

Configuration Tools

Most Linux desktop environments include tools so you can configure its look and feel. The tools adjust mouse behavior, the way windows work, how icons behave, and other aspects of the desktop.

Unity Tweak