Skip to content
Search

X Window System

lastmod 2026-08-08created 2014-03-1854 edits

The X Window System (commonly known as X11 or X) is software and a network protocol for implementing GUI environments on Unix-like operating systems. Version X11 is mainly used today, and X.org implements it as an open-source version, which is used as the default GUI system in most Linux distributions, including Red Hat.

The X Window System supports a server-client network model and is designed so that the X server and X clients run separately from each other. Because of this, one of its key features is that X Window clients can use programs on the X server. X Window supports window managers that let you freely use icons, menus, and panels, as well as open desktop environments such as KDE, Gnome, and Xfce.

Categories

Common (categories)

Implementation

Programming

X.Org

Spec

X11 Window System Protocol

Common Tools

Composite

Plugins

x11 apps

  • iceauth: A tool for manipulating ICE protocol authentication records
  • rgb
  • sessreg: A simple program for managing utmp/wtmp entries
  • xclock: Shows the current time - handy for displaying the current time with something like OBS.
  • xcmsdb: a device color characteristic utility for the X Color Management System
  • xgamma: A tool to query and set the monitor's gamma correction
  • xhost: Controls which users can access the extended X-Windows on the current host machine. - A really, really, really dangerous program you should avoid using whenever possible .... or so they say.
  • xmodmap: A utility for modifying keymaps and pointer button mappings in X
  • xrandr: Command-line interface to the RandR extension; resolution/monitor settings
  • xrdb: A tool for managing the X server resource database
  • xrefresh: A tool that forces the X screen to be redrawn
  • xset: A tool for setting various X server parameters
  • xsetmode and xsetpointer: Tools for adjusting X input devices
  • xsetroot: A tool for adjusting the appearance of the root window
  • xstdcmap: A utility for selectively defining standard colormap properties
  • xvidtune: A tool for modifying X server modelines for the user's monitor. (information found in synaptic package manager)
  • xev: print contents of X events.
  • xdpyinfo
  • xprop - Shows the properties (e.g. WM_CLASS) of the selected window. - Unfortunately, default programs like gnome-* can't be selected...
  • xwininfo - Shows information (e.g. id, title) about the selected window. - Unfortunately, default programs like gnome-* can't be selected...
  • wmctrl - A command used to control windows in EWMH- and NetWM-compatible X window managers. Some common tasks are listing, resizing, and closing windows.
  • xdotool - command-line X11 automation tool
  • xvfb - A "virtual display" tool for headless app development (sudo apt install xvfb)

x11-utils

  • xfd - display all the characters in an X font

Applications

Ref

ETC

  • xloadimage: Sets the background image.
  • xpmroot: Sets the background image.
  • feh: Sets the background image.
  • xbindkeys: Binds commands to keyboard combinations.
  • xdotool
  • xte
  • xdotool - Shows a window's position, name, and so on.

Why the name X11?

The short version is that X11 was the first widely-disseminated version, and it turned out to be good enough to remain as-is for thirty years.

X is the X Window System, which at its core is a protocol; the number identifies the version of the protocol. X1 was released in 1984 inside MIT, and quickly evolved to X9 in 1985; an external port to RT/PC required a protocol change, so X10 followed shortly thereafter. At this point X “escaped” to other organisations, but its developers really wanted a more device-neutral re-design. DEC contributed to this, and released X11 in 1987. (This is a quick summary of Wikipedia’s history of X.)

The protocol itself is stable, because it’s device-neutral and extensible. As a result, there has been no absolute need for a new protocol version (X12); as Bob Scheifler put it when he presented version 11, “We don’t think it will ever change again, okay. There’s not gonna be a version 12.” The wide dissemination of X11 also means it’s harder to introduce a new protocol version, and instead, new features are introduced as extensions (sometimes jumping through hoops).

There are a number of limitations in X11, and there’s even an “X12” page (which isn’t about an actual X12 project, just a list of what it would have to do and relevant resources).

The successor of course is likely to be Wayland, which is developed by X developers.

As pointed out by Wilson, the letter X was picked as a follow-on to W, which was the windowing system of the V operating system.

X Desktop Group (XDG)

Environment variables

XDG_VTNR
Arch Linux now provides this by default. /etc/X11/xinit/xserverrc will start your X session on XDG_VTNR, if the environment variable is set. Therefore, if you’re using Arch, stop reading here and update to at least xorg-xinit 1.3.2-3.

Check XDG VT number

if [[ $XDG_VTNR -ne 3 && $XDG_VTNR -ne 4 ]]; then
    echo "VT number is must be 3 or 4 (current: $XDG_VTNR)"
    exit 1
fi

Desktop environments and window managers for X11

Desktop environments and window managers for X11

DEs

Full-featured

GNOME, KDE, MATE

Mid-range

Trinity, CDE, Xfce, IRIX Interactive Desktop

Lightweight

EDE (FLTK), Etoile (GNUstep), LXDE (GTK) / Razor-qt (Qt), Mezzo, ROX, UDE, Sugar

Shell

Unity, GNOME Shell, Cinnamon, KDE Plasma

WMs

Compositing

Compiz, Metacity, Mutter, KWin

Tiling

awesome, dwm, i3, PWM, Ion, wmii, ratpoison, xmonad

Stacking

amiwm, twm, cwm, mwm, FVWM, IceWM, Enlightenment, Blackbox, Fluxbox, Openbox, Window Maker, AfterStep, PekWM

Components

Window Manager, Window decorator, Dock, Title bar, Task bar, Notification Area, Pager

Related reading

Windowing system, Desktop environment, GUI widget, X Window System, X window manager, Virtual desktop, OpenGL, DirectX, GPU, Mouse, Keyboard, WIMP, GUI, Widget toolkit, Turbo Vision, Qt, GTK, AIGLX, XGL, Shell (computing), Painter's algorithm, Resolution independence

Troubleshooting

OSX XQuartz secure connection

See XQuartz.

See also

Favorite site

author Zer0 sitemap