Christopher B. Browne's Home Page
cbbrowne@acm.org

The X Window System

Christopher Browne

The X Window System is a graphics system used as the typical primary graphical infrastructure on Unix systems and notably Linux.


Table of Contents
1. Introduction to X
2. Frequently Asked Questions
3. X Servers
4. Desktop Components
5. Window Managers
6. Program/File Managers
7. GNOME - GNU Network Object Model Environment
8. K Desktop Environment - KDE
9. The KDE/GNOME Controversy
10. KDE and GNOME: Neither Is A Standard
11. X Desktop Configuration
12. X Applications (Clients)
13. X Font Tools
14. X Development Tools
15. GGI - General Graphical Interface
16. On the Thesis that X is Big/Bloated/Obsolete and Should Be Replaced
17. My Overall View Of X
18. Network Computing
19. My Xterm/Network Computing Experiences
20. X11R6.4 Sample Implementation Changes and Concerns
21. XWindows
22. User Interface Discussions
23. RDP - Remote Desktop Protocol
24. CURSES and other Text-based User Interfacing

1. Introduction to X

The X Window System is a graphics system primarily used on Unix systems (and, less commonly, on VMS, MVS, and MS-Windows systems) that provides an inherently client/server oriented base for displaying windowed graphics. It provides a public protocol by which client programs can query and update information on X servers.

The representation of "client" and "server" appears backwards from nomenclature used in most client/server systems.

Usually, people expect the "local" part to be called a "client," and for the "server" to be a service hiding in the back room. This nicely represents the way database applications usually work, with many "clients" connecting to a central database "server."

X reverses these roles, which, as the locations of the hosts are reversed, is actually correct:

The X client might itself also be a "server process" from some other point of view; there is no contradiction here. (Although calling it such may be unwise as it will naturally result in further confusion.)

X nomenclature treats anything that provides display services as an X server. Which is not particularly different from someone saying that a program that provides database services is a database server. Or that a "transaction processor" is a "transaction server."

The upshot (and the point) of all this is that this allows use of the X system that allows processes on various computers on a network to display stuff on display devices elsewhere on the network.

Microsoft has been buying companies and building infrastructure to provide this to their customers using proprietary protocols; X11 has been providing this in more open fashion since 1987.

1.1. The Politics

The history of X has involved a fair bit of politics. In the "ancient" past, X was developed at MIT as one of the components of Project Athena. It was then managed by the X Consortium. When various Unix things started shifting in various directions, management of the X standard was taken over by The Open Group.

The active ongoing development of X, particularly on free OS platforms, took place through the XFree86 Project, from about the mid '90s until 2003.

In 2003, there were some disputes amongst developers, as well as a controversial change of licensing. Many of the developers have reformed behind a reformed X.org . The publicly stated concerns have typically surrounded the questions: "Why did you change the license, and what exactly does it mean?" It is, however, more realistic to regard this as a controversy over the increasingly closed "governance" of The XFree86 Project Inc. In effect, the concern isn't so much over the details of the license, but rather over the fact that the organization surrounding the software has become way less transparent, and, by their reluctance to explain what they intended by the license changes, have introduced what are really organizational risks that others are choosing to reject.

In 2004, most major Linux distributions opted not to distribute XFree86 4.4, including Red Hat , Mandriva , Debian, and Gentoo , as well as OpenBSD . In 2005, the X.org release of X11 became X server "of choice", as most Linux and BSD switched over in their respective release cycles.

The situation with Debian was fairly typical; their "X Strike Force" group kept XFree86 4.3 functional through 2004 and much of 2005 whilst putting new efforts into X.org .

Google
Contact me at cbbrowne@acm.org