The Linux X Window System | Cheat Sheet

Explains the different parts that make up a typical Linux GUI.
Cheatsheet

With enough tweaking and patience, Linux can offer up some lovely GUI’s. But there’s a lot under the hood to get that matrix style console or 3D box desktop (I still think SuSE had it right all those years ago!). This cheat-sheet gives you the basics for managing your Linux GUI environment:

First, let’s get some terminology straight, since it’s important to know the various programs and their functions:

X Windowing System (X11)

A protocol that defines a GUI system, the protocol standard is currently at version 11. X.Org foundation leads the project, and released X.Org Server as the main implementation. X does not contain specification for user interface design, such as buttons, menus, title bars etc. X comes with a basic Window Manager called twm.

XFree86

An implementation of the X window system. Pretty much dead now after 2004 since they made a change which made it incompatible with the GPL, everyone went to X.Org.

X.Org Server

A fork of XFree86, started in 2004, maintained by X.org Foundation. Currently the main X Window System for Linux. Uses xorg.conf for config.

X Window Manager

Kept separate from the X Window System, controls menus, docks, etc to allow different vendors to control layout. Examples include:

  • KWin in KDE
  • Xfwm in Xfce
  • Metacity previously, now Mutter in GNOME
  • twm - basic Windows Manager bundled with X
  • Enlightenment - sexy manager

X Session Manager

Ability to save the state of the X Window system and restore to it after logout. Usually used to re-open a previous desktop session. X Window System includes a default Session Manager - xsm, other environments use their own, e.g. KDE uses ksmserver.

X Display Manager

An Application that runs on X Window System to provide sessions to an X server. This is the login manager. XDM is the default one shipped with X Window System, but it’s very limited and few use it these days. Examples:

  • GDM - GNOME
  • ksmserver or KDM for KDE
  • lightdm - Canonical made sexy manager
  • XFCE does not ship with a display manager, but can use gdm, slim, lxdm and lightdm etc