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
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.
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