The GUI You Never Knew You Had: The X-Window System

While the community continues to debate KDE versus Unity versus GNOME (while proponents of other GUI environments drum their fingers), those new to Linux rarely encounter an important component that makes each of these desktops possible: the venerable X-Window System. Let’s take a look at this important piece of software in more detail.

History of X-Window System

The X-Window System was originally developed to succeed the W windowing system on UNIX which ran very slowly. X grew to be an important component of network computing environments, as one of its strenghts is support for displaying applications running across a network. Initially under the care of the MIT X Consortium (until its version 11, hence the abbreviation X11), a number of disagreements regarding licensing led to the creation of XFree86 Project, although this was ultimately folded back into the main X codebase.

What is the X-Window System

In an earlier time, even the GUI of Microsoft Windows was a “shell” that ran on top of the base (command-line) OS… how many people remember typing “win” at the “C:\” prompt? As of Windows 95, a user was sent straight to the familiar Start-menu-and-tool-bar interface, and most Linux distributions started to do the same before too long. But the fact remains that Linux desktops are also a shell that runs over the kernel and base operating system tools, the foundation of which is X-Windows

X-Windows (formally known as “The X-Window System,” but also as X11 or just X) is a collection of software that runs between the hardware of the system (technically the lower-level software of the system, such as the Linux kernel, which in turn sends and receives signals from the hardware) and other software known as X clients. When the user clicks a button in an application, that mouse click is sent to the kernel, which sends it to the X-Window Server, which interprets it and/or sends it along to the application (the X client) which will, for example, save the current file.


How does the X-Window System help a Linux user?

First and foremost, none of the elegant, snazzy, or otherwise useful desktops (or their tools and applications) would be possible without X-Windows. So from the “standing on the shoulders of giants” perspective, X-Windows deserves some respect. X-Windows also allows you to perform some neat tricks, such as tunneling an application over SSH.

There was a time when the Linux installation didn’t automatically configure X for you, or did so with less accuracy, so your install might simply dump you off at a command prompt. Then you had the unenviable task of searching the Internet (on another computer, since you’d have no GUI, or via a text browser such as links) for an XF86Config file that would work on your computer.

What this means to you is is that you should be very, very thankful the new server packages are much better attuned to modern hardware. They are so much better attuned that you’ve probably never even seen X-Windows directly (only a display manager such as LightDM, followed by your desktop of choice) aside from an X-shaped cursor that might show ever so briefly before your session begins.

Aaron Peters

Aaron is an interactive business analyst, information architect, and project manager who has been using Linux since the days of Caldera. A KDE and Android fanboy, he'll sit down and install anything at any time, just to see if he can make it work. He has a special interest in integration of Linux desktops with other systems, such as Android, small business applications and webapps, and even paper.


  1. Why is this categorized under Linux? works on the BSDs and other unicies. I believe there is even an implementation for Mac OSX

    1. X isn’t even constrained to unixoids. I once used an X server for Windows NT, running X clients on a GNU/Linux box and having their windows displayed on my NT desktop.

  2. No, the formal name is “the X Window System”. No hyphen. Read it as “the window system whose name is X”.

Comments are closed.