The X Window System, a window system for computers with bitmap displays, originated at MIT in the 1980s. X.Org now supervises the system, currently issuing version 11 release 6 (X11R6.6).

X provides the most basic underpinnings of a graphical user interface (GUI): functionality for drawing and moving windows on a screen and also for interacting with a mouse cursor. It provides none of the user interface features (such as buttons, menus, window title bars, and so on) that people might expect from a graphical interface. Other pieces of software, such as window managers, GUI (graphical user interface) toolkits, and the like, provide those features instead. Thus, the user-visible interface of X-based environments has changed over the years (and several different interface styles may co-exist on one computer).

All X-based programs benefit from X's basic features, the most important of which is network transparency: the machine where an application program runs (the application client) can be separate from the user's local machine (the display server), as described below.

Table of contents
1 Nomenclature
2 History
3 Architecture
4 Distribution model
5 Brands and Interoperability
6 See also
7 External link

Nomenclature

Aficionados commonly refer to the X Window System as "X11" or simply as "X", but frown on the widespread but incorrect label "X Windows", analogous to "Microsoft Windows". A T-shirt seen at an X11 conference bore the sentiment: "It's a windowing system named 'X', not a system named 'X Windows'".

X derives its name as a successor to an earlier (pre-1983) window system called W (in the modern Roman alphabet the letter X directly follows W).

History

The X Window System concept first emerged in 1984, at the Massachusetts Institute of Technology (MIT), as a joint project between their Laboratory for Computer Science and Digital Equipment Corporation. The initial impetus for the X Window System came from MIT's Project Athena, which sought to provide easy access to computing resources for all students. Because MIT could not buy all the workstations needed, and as no single vendor appeared willing to donate them, the Institute needed a platform-independent graphics system to link together its heterogeneous systems. The first version of the X Window System to achieve wide deployment was Version 10 (X10). Version 11 (X11) superseded it shortly thereafter, in 1987.

In 1988, a non-profit group called the (MIT) X Consortium formed to direct future development of X standards in an atmosphere inclusive of many commercial and educational interests. The X Consortium produced several significant revisions to X11, concluding with Release 6 in 1994 (X11R6).

The X Consortium dissolved at the end of 1996, producing a final, small revision to X11R6 called X11R6.3. Ownership of X then passed to The Open Group, an outgrowth of the Open Software Foundation (OSF), who produced the popular Motif widget toolkit for X. In early 1998, the Open Group released a further revision to X11R6, called X11R6.4 -- a departure from the traditional licensing terms, however, inhibited many vendors, including the XFree86 Project, Inc., from adopting this version of the X Window System. In late 1998, the Open Group relicensed X11R6.4 under terms identical with the traditional license.

In May 1999, stewardship of the X Window System passed from the Open Group to X.Org, a non-profit organization focused exclusively on maintenance and further development of the X Window System. X.Org supervised the release of X11R6.5.1.

Architecture

X is based on a client-server model. A display server program runs on a computer with a graphical display and communicates with various client programs, accepting requests for graphical output (windows) and sending back user input (keyboard, mouse). The communication protocol between server and client runs network-transparently: the client programs can run on the same machine as the server or equally well on other machines, possibly with different architectures and operating systems.

The client-server terminology often confuses new X users, because the terms appear differently from their usage in other common contexts. In a typical X scenario, a user sits at an X terminal or workstation where he interacts with the keyboard and display, while the executing program may run on a more powerful computer located somewhere else. Common terminology would refer to the workstation or terminal as a "client" and the other machine in the computer room as a "server". However, in X terminology it's reversed. The X perspective takes the view of the program, not the end-user or the hardware. The remote programs connect to the X server display running on the local machine, and thus become X clients. Conversely, because the local X display accepts incoming traffic, it acts as a server.

Several different widget toolkits, window managers and desktop environments have developed to provide consistency and improved services for X applications. Early GUI toolkits for X included:

  • Xaw (the Athena Widget Set)
  • OLIT (OPEN LOOK Intrinsics Toolkit)
  • XView
  • Motif
  • Tk
OLIT and XView function as the base toolkits for AT&T and Sun Microsystems' OPEN LOOK GUI. Motif provides the base toolkit for the Common Desktop Environment (CDE).

Subsequently GTK+ (the GIMP Toolkit) and Qt became the toolkits of choice for X hackers. Qt-based KDE (the K Desktop Environment, released from 1998 onwards) and GTK-based GNOME (the GNU Network Object Model Environment) have become the latest additions to the X desktop, providing much better application functionality and services than plain window managers or older desktop environments offered.

Color modes of the X Window System

The colors used in X Window Systems sometimes confuse users, as old or special-purpose applications may require a certain color mode. Nowadays most applications use a color mode called "TrueColor", but historically X a supported several different modes:

X Terminals

X commonly refers to a very rudimentary X server running on a piece of special-purpose or dedicated hardware as an X terminal or as a "thin X client". This architecture has become popular for building inexpensive client parks for many users who may simultaneously use the same mainframe for heavy-duty tasks. This use very much aligns with the original intention of the MIT project.

X terminals explore the available hosts using an ad hoc network protocol called XDMCP to connect to a specific server which presents a list of available hosts. This server in turn may gather a list of available hosts using broadcast on the local network.

X Display Managers

The X Display Manager keeps the X server process alive on the X server machine, connecting it to a physical screen and serving a login prompt on this screen. XDM serves as the default display manager for X, but other projects have developed their own display managers:

Distribution model

X.Org distributes the X Window System at no charge, with source code included and no restrictions on modification or redistribution. Due to the liberal licensing, a number of implementations (both free and proprietary) have appeared, based on the code from MIT. Originally developed for the UNIX graphical workstations of the 1980s as part of MIT's Project Athena, these enhanced versions mainly added compatibility with specific operating systems and hardware. X became a part of the "standard" UNIX offerings. Although other windowing systems for UNIX exist, X occurs most commonly by far.

Brands and Interoperability

While UNIX tends to standardize on X, X servers also exist for platforms with their own graphical environments, like Windows, Mac OS, and OS/2.

The X variant most widely used on free UNIX-style systems, XFree86, originally ran only on Intel x86-type PCs (hence the name), but now incorporates support for many more platforms. A proprietary variant named Accelerated-X is a development on top of the same X386 server included in the X Window System distribution.

X11 display servers most commonly found on Windows include:

Apple Computer's Mac OS X 10.3 (Panther) release includes Apple's version of X11.

See also

External link