X11 (the X Window System, version 11) is the graphical display protocol that has served Unix-like systems since 1987. Developed at MIT as Project Athena, it separated the display server (which draws on the screen and handles input) from clients (the applications producing the content), allowing clients to run on a different machine than the display—a design feature called network transparency. This made X the standard way to run graphical applications on Unix workstations for decades.
A typical X11 stack includes:
- Xorg — the X server, managing the screen, keyboard, and mouse
- Window manager — decides how windows are arranged (i3, Openbox, Xfwm, kwin, mutter)
- Desktop environment — GNOME, KDE, XFCE, etc., built on top
- Clients — your applications, communicating with Xorg via the X protocol
X has accumulated three decades of complexity and design compromises. Its security model is weak (any X client can snoop on any other), its performance on modern GPUs is suboptimal, and extensions patched on over time have made it unwieldy. Wayland was designed to replace it, and most major distributions now default to Wayland for GNOME and KDE sessions.
Despite this, X11 is not going anywhere soon. Many applications still assume it, legacy accessibility tools depend on it, and experienced users have decades of muscle memory for X-specific tools like xrandr, xev, xdotool, and xprop. Most modern distributions support both protocols side by side.
Related terms: Wayland, xorg, display-manager
Discussed in:
- Chapter 20: The Linux Ecosystem — X11 and Wayland
Also defined in: Textbook of Linux