Sitemap

Linux GUI Demystified: Display Managers, Servers, and Window Managers

4 min readJan 9, 2026

--

Press enter or click to view image in full size
Linux GUI Illustration

Understanding the four layers of your Linux desktop

Get Faris Khasawneh’s stories in your inbox

Join Medium for free to get updates from this writer.

Display manager. Desktop environment. Window manager. Display server. These four terms get thrown around Linux forums constantly, yet most users — even experienced ones — struggle to explain what each actually does.

The Four Layers Explained

Display Manager (DM)

is your graphical login screen. After you type your password, the DM authenticates you and launches your chosen session. Common examples: GDM (GNOME Display Manager), SDDM (Simple Desktop Display Manager), and LightDM.

Press enter or click to view image in full size
GNOME Display Manager (GDM)
Press enter or click to view image in full size
Simple Desktop Display Manager (SDDM)
Press enter or click to view image in full size
LightDM Display Manager

Display Server

handles the low-level graphics communication. It lets GUI applications draw pixels to your screen and receive keyboard/mouse input. The two protocols are Xorg (X11) and Wayland—think of them as different languages for talking to your graphics hardware.

Window Manager (WM)

controls window behavior: placement, focus, decorations, keyboard shortcuts, and whether windows tile or float. Standalone examples include i3, bspwm, and Openbox. Desktop environments bundle their own: GNOME uses Mutter, KDE uses KWin.

Press enter or click to view image in full size
i3 tiling window manager
Press enter or click to view image in full size
Floating window manager

Desktop Environment (DE)

is the complete package — panels, file manager, settings tools, default applications, plus a built-in window manager. Think GNOME, KDE Plasma, Xfce, or Cinnamon.

Press enter or click to view image in full size
GNOME Desktop Environment
Press enter or click to view image in full size
KDE Plasma Desktop Environment
Press enter or click to view image in full size
Xfce Desktop Environment
Press enter or click to view image in full size
Cinnamon Desktop Environment

How They Connect

The boot sequence flows like this: system starts → DM launches → you log in → DM starts your session → session loads either a DE (which includes a WM) or standalone WM → applications connect to the display server.

Press enter or click to view image in full size
Linux GUI stack architecture diagram

The architecture differs between protocols. On X11, applications talk to Xorg (the display server), while a separate compositing window manager handles window placement and effects. On Wayland, the compositor acts as both display server and window manager—it's a unified component that does everything.

On X11, the display server and window manager are separate. On Wayland, the compositor does both jobs — a simpler architecture that fixes decades-old security holes.

Essential Bonus Concepts

  • Compositor combines application surfaces into the final screen image. On X11, it’s typically part of the WM (like Mutter or KWin). On Wayland, the compositor is the display server itself.
  • Session refers to the specific GUI environment the DM launches — “GNOME on Wayland” or “Plasma (X11)”. You choose this at login, usually via a dropdown menu on the login screen.
  • X11 vs Wayland represents fundamentally different architectures. X11 is the legacy protocol with decades of compatibility but known security issues. Wayland is the modern replacement where the compositor owns more of the stack, improving security and performance at the cost of breaking some legacy applications.
Press enter or click to view image in full size
X11 Xorg logo Wayland logo side by side

Mapping Your System

To understand your setup, identify your distro and DE: Ubuntu GNOME runs GDM → GNOME Shell on Wayland → compositor is Mutter. Fedora KDE uses SDDM → KDE Plasma on Wayland → compositor is KWin. Arch with i3 might use LightDM → standalone i3 window manager on Xorg.

Check your current session with echo $XDG_SESSION_TYPE—it'll return either x11 or wayland. Run ps aux | grep -E 'gdm|sddm|lightdm' to identify your display manager.

--

--

Faris Khasawneh

Written by Faris Khasawneh

IT Expert | Technology & Infrastructure | Privacy & Systems at Scale. Exploring the intersection of power, people & economy. Objective, evidence-based.