X Window System
Information about X Window System
“X11” redirects here. For the Mac OS X application, see X11.app.
KDE 3.5
Xfce 4.4
In computing, the X Window System (commonly X11 or X) is a display protocol which provides windowing on bitmap displays. It provides the standard toolkit and protocol to build graphical user interfaces (GUIs) on Unix-like operating systems and OpenVMS, and has been ported to all other contemporary general purpose operating systems.
X provides the basic framework, or primitives, for building GUI environments: drawing and moving windows on the screen and interacting with a mouse and/or keyboard. X does not mandate the user interface — individual client programs handle this. As such, the visual styling of X-based environments varies greatly; different programs may present radically different interfaces. X is not part of the operating system on any of the systems it runs on. Instead it is a user application built as an additional layer on top of whatever the host operating system is. This is a direct consequence of X being designed to be network transparent and operating system independent.
Unlike previous display protocols, X was specifically designed to be used over network connections rather than on an integral or attached display device. X features network transparency: the machine where an application program (the client application) runs can differ from the user's local machine (the display server).
X originated at MIT in 1984. The current protocol version, X11, appeared in September 1987. The X.Org Foundation leads the X project, with the current reference implementation, version 11 release 7.3 (September 6 2007), available as free software under the MIT License and similar permissive licenses.[1]
The X client-server model and network transparency
- For more details on this topic, see X Window System protocols and architecture.
X uses a client-server model: an X server communicates with various client programs. The server accepts requests for graphical output (windows) and sends back user input (from keyboard, mouse, or touchscreen). The server may function as:
- an application displaying to a window of another display system
- a system program controlling the video output of a PC
- a dedicated piece of hardware.

In this example, the X server takes input from a keyboard and mouse and displays to a screen. A web browser and a terminal emulator run on the user's workstation, and a system updater runs on a remote server but is controlled from the user's machine. Note that the remote application runs just as it would locally.
The communication protocol between server and client operates network-transparently: the client and server may run on the same machine or on different ones, possibly with different architectures and operating systems, but they run the same in either case. A client and server can even communicate securely over the Internet by tunneling the connection over an encrypted network session.
X client itself may contain an X server having display of multiple clients. This is known as "X nesting". Open-source clients such as, Xnest and Xephyr support such X nesting.
To start a remote client program displaying to a local server, the user will typically open a terminal window and telnet or ssh to the remote client application or shell and request local display/input service (e.g. export DISPLAY=[user's machine]:0 on a remote machine running bash). The client application or shell then connects to the local server, servicing a display and input session to the local user. Alternatively, the local machine may run a small helper program to connect to a remote machine and start the desired client application there.
Practical examples of remote clients include:
- administering a remote machine graphically
- running a computationally intensive simulation on a remote Unix machine and displaying the results on a local Windows desktop machine
- running graphical software on several machines at once, controlled by a single display, keyboard and mouse.
Design principles of X
In 1984, Bob Scheifler and Jim Gettys set out the early principles of X:- Do not add new functionality unless an implementor cannot complete a real application without it.
- It is as important to decide what a system is not as to decide what it is. Do not serve all the world's needs; rather, make the system extensible so that additional needs can be met in an upwardly compatible fashion.
- The only thing worse than generalizing from one example is generalizing from no examples at all.
- If a problem is not completely understood, it is probably best to provide no solution at all.
- If you can get 90 percent of the desired effect for 10 percent of the work, use the simpler solution. (See also Worse is better.)
- Isolate complexity as much as possible.
- Provide mechanism rather than policy. In particular, place user interface policy in the clients' hands.
X has largely kept to these principles since. The reference implementation is developed with a view to extension and improvement of the implementation, whilst remaining almost entirely compatible with the original 1987 protocol
User interfaces
X deliberately contains no specification as to application user interface, such as buttons, menus, window title bars and so on. Instead, user software – such as window managers, GUI widget toolkits and desktop environments, or application-specific GUIs, such as point of sale – provide/define all such details. As such, it isn't possible to point to a "typical" X interface as at most times several interfaces have been popular among users.A window manager controls the placement and appearance of application windows. This may have an interface akin to that of Microsoft Windows or of the Macintosh (examples include Metacity in GNOME, KWin in KDE or Xfwm in Xfce) or have radically different controls (such as a tiling window manager). The window manager may be bare-bones (e.g. twm, the basic window manager supplied with X) or offer functionality verging on that of a full desktop environment (e.g. Enlightenment).
Many users use X with a full desktop environment, which includes a window manager, various applications and a consistent interface. GNOME, KDE and Xfce are the most popular desktop environments. The Unix standard environment is the Common Desktop Environment (CDE). The freedesktop.org initiative addresses interoperability between desktops and the components needed for a competitive X desktop.
As X is responsible for keyboard and mouse interaction with graphical desktops, certain keyboard shortcuts have become associated with X. Control-Alt-Backspace typically terminates the currently running X session, while Control-Alt in conjunction with a function key switches to the associated virtual console. Note, however, that this is an implementation detail left to an individual X server and is by no means universal; for example, X server implementations for Windows and Macintosh typically do not provide these shortcuts.
Implementations
The X.Org reference implementation serves as the canonical implementation of X. Due to the liberal licensing, a number of variations, both free and proprietary, have appeared. Commercial UNIX vendors have tended to take the reference implementation and adapt it for their hardware, usually customising it heavily and adding proprietary extensions.Cygwin/X running rootless on Microsoft Windows XP. The screen shows X applications (xeyes, xclock, xterm) sharing the screen with native Windows applications (Date and Time, Calculator). |
Up to 2004, XFree86 provided the most common X variant on free Unix-like systems. XFree86 started as a port of X for 386-compatible PCs and, by the end of the 1990s, had become the greatest source of technical innovation in X and the de facto standard of X development.[2] Since 2004, however, the X.Org reference implementation, a fork of XFree86, has become predominant.
While computer aficionados most often associate X with Unix, X servers also exist natively within other graphical environments. Hewlett-Packard's OpenVMS operating system includes a version of X with CDE, known as DECwindows, as its standard desktop environment. Apple's Mac OS X v10.3 (Panther) and up includes X11.app, based on XFree86 4.3 and X11R6.6, with better Mac OS X integration. Third-party servers under Mac OS 7, 8 and 9 included MacX.
Microsoft Windows does not come with support for X, but many third-party implementations exist, both free software such as Cygwin/X, Xming, WeirdMind and WeirdX; and proprietary products such as MKS X/Server, Reflection X, Xmanager, X-Deep/32, WiredX, Exceed and X-Win32. They normally serve to control remote X clients.
When another windowing system (such as those of Microsoft Windows or Mac OS) hosts X, the X system generally runs "rootless", meaning the host windowing environment looks after the root window (the background and associated menus) and manages the geometry of the hosted X windows — although some servers (Xmanager, and Exceed, for example) can also create the root window for the remote clients to display to as a separate window in the host system.
X terminals
A Network Computing Devices NCD-88k X terminal.
An X terminal is a thin client that runs an X server. This architecture became popular for building inexpensive terminal parks for many users to simultaneously use the same large server. This use very much aligns with the original intention of the MIT project.
X terminals explore the network (the local broadcast domain) using the X Display Manager Control Protocol to generate a list of available hosts that they can run clients from. The initial host needs to run an X display manager.
Dedicated (hardware) X terminals have become less common; a PC or modern thin client with an X server typically provides the same functionality at the same, or lower, cost.
Limitations and criticisms of X
The UNIX-HATERS Handbook (1994) devoted an entire chapter[3], to the problems of X. Why X Is Not Our Ideal Window System (1990) by Gajewska, Manasse and McCormack detailed problems in the protocol with recommendations for improvement.User interface features
X deliberately contains no specification as to user interface or most inter-application communication. This has resulted in several vastly different interfaces, and in applications that have not always worked well together. The ICCCM, a specification for client interoperability, has a reputation as difficult to implement correctly. Further standards efforts such as Motif and CDE did not remedy matters. This has frustrated users and programmers for a long time.[4] Graphics programmers now generally address consistency of application look and feel and communication by coding to a specific desktop environment or to a specific widget toolkit, which also avoids having to deal directly with the ICCCM.The X protocol provides no facilities for handling audio, leaving it to the operating system or audio systems like OSS or ALSA or to provide support for audio hardware and sound playback. Most programmers simply use local, OS-specific sound APIs. The first generation of client-server sound systems included rplay and Network Audio System. More recent efforts have produced EsounD (GNOME), aRts (KDE), and PulseAudio to name a few. In 2001, the X.org foundation announced the development of the Media Application Server (MAS) to remedy this problem. However, none of these are generally used as a solution to the problem.
Network
An X client cannot generally be detached from one server and reattached to another, as with Virtual Network Computing (VNC), though certain specific applications and toolkits are able to provide this facility.[5] Workarounds (VNC :0 viewers) also exist to make the current X-server screen available via VNC.
Network traffic between an X server and remote X clients is not encrypted by default. An attacker with a packet sniffer can intercept it, making it possible to view anything displayed to or sent from the user's screen. The most common way to encrypt X traffic is to tunnel it over SSH.
Client-server separation
X's design requires the clients and server to operate separately, and device independence and the separation of client and server incur overhead compared to an operating system where the graphics are integrated into the OS, such as early versions of Microsoft Windows or Mac OS. X advocates recommended 4 to 8 MB of RAM for reasonable performance; until the mid-1990s, this seemed bloated compared to Windows or Mac OS.Current versions of Windows and Mac OS X Quartz have internal subsystem separation similar to the client/server divide in X and comparable performance and higher resource usage to X with KDE or GNOME. Most of the overhead comes from network round-trip delay time between client and server (latency rather than from the protocol itself): the best solutions to performance issues involve paying attention to application design.[6] A common misconception is that X's network features result in excessive complexity if only used locally, and that X's network capabilities cause an undesirable performance hit; modern X implementations use local sockets and shared memory, requiring very little overhead.
Competitors to X
For graphics, Unix-like systems use X almost universally. However, some people have attempted writing alternatives to and replacements for X. Historical alternatives include Sun's NeWS, which failed in the market, and NeXT's Display PostScript, which was discarded in favor of Apple's entirely new Quartz in Mac OS X.Mike Paquette, one of the authors of Quartz, explained why Apple did not move from Display PostScript to X, and chose instead to develop its own window server, by saying that once Apple added support for all the features it wanted to include in to X11, it would not bear much resemblance to X11 nor be compatible with other servers anyway.[7]
Other attempts to address criticisms of X by replacing it completely include Berlin/Fresco and the Y Window System. These alternatives have seen negligible take-up, however, and commentators widely doubt the viability of any replacement that does not preserve backward compatibility with X.
Other competitors attempt to avoid the overhead of X by working directly with the hardware. Such projects include DirectFB and the very small FBUI. The Direct Rendering Infrastructure (DRI), which aims to provide a reliable kernel-level interface to the framebuffer, may make these efforts redundant. However, in Linux embedded systems requiring real-time capabilities (e.g. using RTAI), the use of hardware acceleration via DRI is discouraged; X may be unsuitable for such applications.
Other ways to achieve network transparency for graphical services include:
- the SVG Terminal, a protocol to update Scalable Vector Graphics (SVG) content in a browser in near-real-time
- Virtual Network Computing (VNC), a very low-level system which sends compressed bitmaps across the network; the Unix implementation includes an X server
- Citrix Presentation Server, an X-like product for Microsoft Windows
- Tarantella, which provides a Java client for use in web browsers
- RAWT, IBM's Java-only Remote AWT, which implements a Java "server" and simple hooks for any remote Java client
History
Predecessors
Several bitmap display systems preceded X. From Xerox came the Alto (1973) and the Star (1981). From Apple came the Lisa (1983) and the Macintosh (1984). The Unix world had the Andrew Project (1982) and Rob Pike's Blit terminal (1984).X derives its name as a successor to a pre-1983 window system called W (the letter X directly following W in the Latin alphabet). W Window System ran under the V operating system. W used a network protocol supporting terminal and graphics windows, the server maintaining display lists.
A late-80s style Unix desktop running the X Window System graphical user interface. Shown are a number of client applications common to the MIT X Consortium's distribution, including twm, an X Terminal, Xbiff, xload, and a graphical manual page browser.
Origin and early development
The original idea of X emerged at MIT in 1984 as a collaboration between Jim Gettys (of Project Athena) and Bob Scheifler (of the MIT Laboratory for Computer Science). Scheifler needed a usable display environment for debugging the Argus system. Project Athena (a joint project between Digital Equipment Corporation (DEC), MIT and IBM to provide easy access to computing resources for all students) needed a platform-independent graphics system to link together its heterogeneous multiple-vendor systems; the window system then under development in Carnegie Mellon University's Andrew Project did not make licences available, and no alternatives existed.The project solved this by creating a protocol that could both run local applications and call on remote resources. In mid-1983 an initial port of W to Unix ran at one-fifth of its speed under V; in May 1984, Scheifler replaced the synchronous protocol of W with an asynchronous protocol and the display lists with immediate mode graphics to make X version 1. X became the first windowing system environment to offer true hardware-independence and vendor-independence.
Scheifler, Gettys and Ron Newman set to work and X progressed rapidly. They released Version 6 in January 1985. DEC, then preparing to release its first Ultrix workstation, judged X the only windowing system likely to become available in time. DEC engineers ported X6 to DEC's QVSS display on MicroVAX.
In the second quarter of 1985 X acquired color support to function in the DEC VAXstation-II/GPX, forming what became version 9. Although MIT had licensed X6 to some outside groups for a fee, it decided at this time to license X9 and future versions under what became known as the MIT License. X9 appeared in September 1985.
A group at Brown University ported version 9 to the IBM RT/PC, but problems with reading unaligned data on the RT forced an incompatible protocol change, leading to version 10 in late 1985. By 1986, outside organizations had started asking for X. The release of X10R2 took place in January 1986; that of X10R3 in February 1986. X10R3 became the first version to achieve wide deployment, with both DEC and Hewlett-Packard releasing products based on it. Other groups ported X10 to Apollo and to Sun workstations and even to the IBM PC/AT. Demonstrations of the first commercial application for X (a mechanical computer-aided engineering system from Cognition Inc. that ran on VAXes and displayed on PCs running an X server) took place at the Autofact trade show at that time. The last version of X10, X10R4, appeared in December 1986.
Attempts were made to enable X servers as real-time collaboration devices, much as Virtual Network Computing (VNC) would later allow a desktop to be shared. One such early effort was Philip J. Gust's SharedX tool.
Although X10 offered interesting and powerful functionality, it had become obvious that the X protocol could use a more hardware-neutral redesign before it became too widely deployed; but MIT alone would not have the resources available for such a complete redesign. As it happened, DEC's Western Software Laboratory found itself between projects. Smokey Wallace of DEC WSL and Jim Gettys proposed that DEC WSL build X11 and make it freely available under the same terms as X9 and X10. This process started in May 1986, with the protocol finalised in August. Alpha-testing of the software started in February 1987, beta-testing in May; the release of X11 finally occurred on September 15, 1987.
The X11 protocol design, led by Scheifler, got extensively discussed on open mailing lists on the nascent Internet that were bridged to USENET newsgroups. X therefore represents one of the first very large-scale free software projects.
The MIT X Consortium and the X Consortium, Inc.
In 1987, with the success of X11 becoming apparent, MIT wished to relinquish the stewardship of X, but at a June 1987 meeting with nine vendors, the vendors told MIT that they believed in the need for a neutral party to keep X from fragmenting in the marketplace. In January 1988, the MIT X Consortium formed as a non-profit vendor group, with Scheifler as director, to direct the future development of X in a neutral atmosphere inclusive of commercial and educational interests. Jim Fulton joined in January 1988 and Keith Packard in March 1988 as senior developers, with Jim focusing on Xlib, fonts, window managers, and utilities; and Keith re-implementing the server. Donna Converse and Chris D. Peterson joined later that year, focusing on toolkits and widget sets, working closely with Ralph Swick of MIT Project Athena. The MIT X Consortium produced several significant revisions to X11, the first (Release 2 - X11R2) in February 1988.DECwindows CDE on OpenVMS 7.3-1 |
In 1993, the X Consortium, Inc. (a non-profit corporation) formed as the successor to the MIT X Consortium. It released X11R6 on May 16, 1994. In 1995 it took over stewardship of the Motif toolkit and of the Common Desktop Environment for Unix systems. The X Consortium dissolved at the end of 1996, producing a final revision, X11R6.3, and a legacy of increasing commercial influence in the development.[8][9]
The Open Group
In mid-1997 the X Consortium passed stewardship of X to The Open Group, a vendor group formed in early 1996 by the merger of the Open Software Foundation and X/Open.The Open Group released X11R6.4 in early 1998. Controversially, X11R6.4 departed from the traditional liberal licensing terms, as the Open Group sought to assure funding for X's development.[10] The new terms would have prevented its adoption by many projects (such as XFree86) and even by some commercial vendors. After XFree86 seemed poised to fork, the Open Group relicensed X11R6.4 under the traditional license in September 1998.[11] The Open Group's last release came as X11R6.4 patch 3.
X.Org and XFree86
XFree86 originated in 1992 from the X386 server for IBM PC compatibles included with X11R5 in 1991, written by Thomas Roell and Mark W. Snitily and donated to the MIT X Consortium by Snitily Graphics Consulting Services (SGCS). XFree86 evolved over time from just one port of X to the leading and most popular implementation and the de facto steward of X's development.[12]In May 1999, the Open Group formed X.Org. X.Org supervised the release of versions X11R6.5.1 onward. X development at this time had become moribund[13]; most technical innovation since the X Consortium had dissolved had taken place in the XFree86 project.[14] In 1999, the XFree86 team joined X.Org as an honorary (non-paying) member[15], encouraged by various hardware companies[16] interested in using XFree86 with Linux and in its status as the most popular version of X.
By 2003, while the popularity of Linux (and hence the installed base of X) surged, X.Org remained inactive[17], and active development took place largely within XFree86. However, considerable dissent developed within XFree86. The XFree86 project suffered from a perception of a far too cathedral-like development model; developers could not get CVS commit access[18][19] and vendors had to maintain extensive patch sets.[20] In March 2003 the XFree86 organization expelled Keith Packard, who had joined XFree86 after the end of the original MIT X Consortium, with considerable ill-feeling.[21][22][23]
X.Org and XFree86 began discussing a reorganisation suited to properly nurturing the development of X.[24][25][26] Jim Gettys had been pushing strongly for an open development model since at least 2000.[27] Gettys, Packard and several others began discussing in detail the requirements for the effective governance of X with open development.
Finally, in an echo of the X11R6.4 licensing dispute, XFree86 released version 4.4 in February 2004 under a more restricted license which many projects relying on X found unacceptable.[28] The added clause to the license was based upon the original BSD license's advertising clause, which was viewed by the Free Software Foundation and Debian as incompatible with the GNU General Public License.[29] Other groups saw further restrictions as being against the spirit of the original X (OpenBSD threatening a fork, for example). The license issue, combined with the difficulties in getting changes in, left many feeling the time was ripe for a fork.[30]
The X.Org Foundation
In early 2004 various people from X.Org and freedesktop.org formed the X.Org Foundation, and the Open Group gave it control of the x.org domain name. This marked a radical change in the governance of X. Whereas the stewards of X since 1988 (including the previous X.Org) had been vendor organizations, the Foundation was led by software developers and used community development based on the bazaar model, which relies on outside involvement. Membership was opened to individuals, with corporate membership being in the form of sponsorship. Several major corporations such as Hewlett-Packard and Sun Microsystems currently support the X.Org Foundation.The Foundation takes an oversight role over X development: technical decisions are made on their merits by achieving rough consensus among community members. Technical decisions are not made by the board of directors; in this sense, it is strongly modelled on the technically non-interventionist GNOME Foundation. The Foundation does not employ any developers.
The Foundation released X11R6.7, the X.Org Server, in April 2004, based on XFree86 4.4RC2 with X11R6.6 changes merged. Gettys and Packard had taken the last version of XFree86 under the old license and, by making a point of an open development model and retaining GPL compatibility, brought many of the old XFree86 developers on board.[31]
X11R6.8 came out in September 2004. It added significant new features, including preliminary support for translucent windows and other sophisticated visual effects, screen magnifiers and thumbnailers, and facilities to integrate with 3D immersive display systems such as Sun's Project Looking Glass and the Croquet project. External applications called compositing window managers provide policy for the visual appearance.
On December 21, 2005[32] , X.Org released X11R6.9, the monolithic source tree for legacy users, and X11R7.0, the same source code separated into independent modules, each maintainable in separate projects.[33] The Foundation released X11R7.1 on May 22, 2006, about four months after 7.0, with considerable feature improvements.[34]
Future directions
With the X.Org Foundation and freedesktop.org, the main line of X development has started to progress rapidly once more. The developers intend to release present and future versions as usable finished products, not merely as bases for vendors to build a product upon.For sufficiently capable combinations of hardware and operating systems, X.Org plans to access the video hardware only via OpenGL and the Direct Rendering Infrastructure (DRI). The DRI first appeared in XFree86 version 4.0 and became standard in X11R6.7 and later.[35] Many operating systems have started to add kernel support for hardware manipulation. This work proceeds incrementally.
Nomenclature
People in the computer trade commonly shorten the phrase "X Window System" to "X11" or simply to "X". The term "X Windows" (in the manner of "Microsoft Windows") is not officially endorsed, though it has been in common use since early in the history of X and has been used deliberately for literary effect, for example in the UNIX-HATERS Handbook.[36]Release history
- See also: XFree86#Release history
| Version | Release date | Most important changes |
|---|---|---|
| X1 | June 1984 | First use of the name "X"; fundamental changes distinguishing the product from W. |
| X6 | January 1985 | First version licensed to a handful of outside companies. |
| X9 | September 1985 | Color. First release under MIT License. |
| X10 | late 1985 | IBM RT/PC, AT (running DOS), and others |
| X10R2 | January 1986 | |
| X10R3 | February 1986 | First release outside MIT. uwm made standard window manager. |
| X10R4 | December 1986 | Last version of X10. |
| X11 | September 15, 1987 | First release of the current protocol. |
| X11R2 | February 1988 | First X Consortium release.[37] |
| X11R3 | October 25, 1988 | XDM |
| X11R4 | December 22, 1989 | XDMCP, twm brought in as standard window manager, application improvements, Shape extension, new fonts. |
| X11R5 | September 5, 1991 | PEX, Xcms (color management), font server, X386, X video extension |
| X11R6 | May 16, 1994 | ICCCM v2.0; Inter-Client Exchange; X Session Management; X Synchronization extension; X Image extension; XTEST extension; X Input; X Big Requests; XC-MISC; XFree86 changes. |
| X11R6.1 | March 14, 1996 | X Double Buffer extension; X keyboard extension; X Record extension. |
| X11R6.2 X11R6.3 (Broadway) | December 23, 1996 | Web functionality, LBX. Last X Consortium release. X11R6.2 is the tag for a subset of X11R6.3 with the only new features over R6.1 being XPrint and the Xlib implementation of vertical writing and user-defined character support.[38] |
| X11R6.4 | March 31, 1998 | Xinerama.[39] |
| X11R6.5 | Internal X.org release; not made publicly available. | |
| X11R6.5.1 | August 20, 2000 | |
| X11R6.6 | April 4, 2001 | Bug fixes, XFree86 changes. |
| X11R6.7.0 | April 6, 2004 | First X.Org Foundation release, incorporating XFree86 4.4rc2. Full end-user distribution. Removal of XIE, PEX and libxml2.[40] |
| X11R6.8.0 | September 8, 2004 | Window translucency, XDamage, Distributed Multihead X, XFixes, Composite, XEvIE. |
| X11R6.8.1 | September 17, 2004 | Security fix in libxpm. |
| X11R6.8.2 | February 10, 2005 | Bug fixes, driver updates. |
| X11R6.9 X11R7.0 | December 21, 2005 | EXA, major source code refactoring.[41] From the same source-code base, the modular autotooled version became 7.0 and the monolithic imake version was frozen at 6.9. |
| X11R7.1 | May 22, 2006 | EXA enhancements, KDrive integrated, AIGLX, OS and platform support enhancements.[42] |
| X11R7.2 | February 15, 2007 | Removal of LBX and the built-in keyboard driver, X-ACE, XCB, autoconfig improvements, cleanups.[43] |
| X11R7.3 | September 6, 2007 | Input hotplug, output hotplug (RandR 1.2), DTrace probes, PCI domain support, SELinux security module, Solaris Trusted Extensions security module, UnixWare support, projects completed during Summer of Code 2006.[44] |
Proposed Releases
As of October 2007, it should be noted that both the content and release dates are speculative, since the development is not complete, and also because the last few X.Org releases have not met the target of six-month intervals between stable releases.| Version | Release date | Most important changes |
|---|---|---|
| X11R7.4 | March, 2008[45] | XGE, XACE, RandR 1.3 (GPU object), input transformation, pci-rework, XKB 2, _X_EXPORT, DRI memory manager, GLX 1.4, Glucose. [46] |
See also
- History of the graphical user interface for related developments
- Windowing system for the generic term
- X Window System protocols and architecture for the concepts
- X Window System core protocol for the defining feature
- X11 color names for some historical trivia
- Xgl
- General Graphics Interface (GGI)
- AIGLX
- VirtualGL
- rio, Plan 9's windowing system.
- List of Unix programs
- DESQview/X
- Cairo (graphics)
- Y Window System
- XFree86
References
1. ^ Introduction to X11R7.0 manual 2005
2. ^ Announcement: Modification to the base XFree86(TM) license. 02 Feb 2004
3. ^ "The X-Windows Disaster"
4. ^ Re: X is painful 15 Nov 1996
5. ^ SNAP Computing and the X Window System 2005
6. ^ An LBX Postmortem 2001-1-24
7. ^ Why Apple didn't use X for the window system August 19, 2007
8. ^ Financing Volunteer Free Software Projects 10 Jun 2005
9. ^ Lessons Learned about Open Source 2000
10. ^ X statement 02 Apr 1998
11. ^ X11R6.4 Sample Implementation Changes and Concerns
12. ^ Announcement: Modification to the base XFree86(TM) license. 02 Feb 2004
13. ^ Q&A: The X Factor February 04, 2002
14. ^ The Evolution of the X Server Architecture 1999
15. ^ A Call For Open Governance Of X Development 23 Mar 2003
16. ^ XFree86 joins X.Org as Honorary Member Dec 01, 1999
17. ^ Another teleconference partial edited transcript 13 Apr 2003
18. ^ Keith Packard issue 20 Mar 2003
19. ^ Cygwin/XFree86 - No longer associated with XFree86.org 27 Oct 2003
20. ^ On XFree86 development 9 Jan 2003
21. ^ Invitation for public discussion about the future of X 20 Mar 2003
22. ^ A Call For Open Governance Of X Development 21 Mar 2003
23. ^ Notes from a teleconference held 2003-3-27 03 Apr 2003
24. ^ A Call For Open Governance Of X Development 24 Mar 2003
25. ^ A Call For Open Governance Of X Development 23 Mar 2003
26. ^ Discussing issues 14 Apr 2003
27. ^ Lessons Learned about Open Source 2000
28. ^ XFree86 4.4: List of Rejecting Distributors Grows Feb 18, 2004
29. ^ Appendix A: The Cautionary Tale of XFree86 June 5, 2002
30. ^ X Marks the Spot: Looking back at X11 Developments of Past Year Feb 25, 2004
31. ^ Appendix A: The Cautionary Tale of XFree86 June 5, 2002
32. ^ December 21 2005
33. ^ 2005-03-31
34. ^ 2006-04-21
35. ^ Getting X Off The Hardware July, 2004
36. ^ X - a portable, network-transparent window system February 2005
37. ^ The X Window System: History and Architecture 1 September 1999
38. ^ XFree86 and X11R6.3 December 1999
39. ^ The Open Group Announces Internet-Ready X Window System X11R6.4 March 31, 1998
40. ^ X.Org Foundation releases X Window System X11R6.7 April 7, 2004
41. ^ 2005-10-21
42. ^ Release Notes for X11R7.1 22 May 2006
43. ^ February 15th, 2007
44. ^ , accessed 2007-08-25
45. ^ Debian X.org notes - X.org 7.4 plans - What we expect for Lenny (Brice Goglin, 11 September 2007)
46. ^
2. ^ Announcement: Modification to the base XFree86(TM) license. 02 Feb 2004
3. ^ "The X-Windows Disaster"
4. ^ Re: X is painful 15 Nov 1996
5. ^ SNAP Computing and the X Window System 2005
6. ^ An LBX Postmortem 2001-1-24
7. ^ Why Apple didn't use X for the window system August 19, 2007
8. ^ Financing Volunteer Free Software Projects 10 Jun 2005
9. ^ Lessons Learned about Open Source 2000
10. ^ X statement 02 Apr 1998
11. ^ X11R6.4 Sample Implementation Changes and Concerns
12. ^ Announcement: Modification to the base XFree86(TM) license. 02 Feb 2004
13. ^ Q&A: The X Factor February 04, 2002
14. ^ The Evolution of the X Server Architecture 1999
15. ^ A Call For Open Governance Of X Development 23 Mar 2003
16. ^ XFree86 joins X.Org as Honorary Member Dec 01, 1999
17. ^ Another teleconference partial edited transcript 13 Apr 2003
18. ^ Keith Packard issue 20 Mar 2003
19. ^ Cygwin/XFree86 - No longer associated with XFree86.org 27 Oct 2003
20. ^ On XFree86 development 9 Jan 2003
21. ^ Invitation for public discussion about the future of X 20 Mar 2003
22. ^ A Call For Open Governance Of X Development 21 Mar 2003
23. ^ Notes from a teleconference held 2003-3-27 03 Apr 2003
24. ^ A Call For Open Governance Of X Development 24 Mar 2003
25. ^ A Call For Open Governance Of X Development 23 Mar 2003
26. ^ Discussing issues 14 Apr 2003
27. ^ Lessons Learned about Open Source 2000
28. ^ XFree86 4.4: List of Rejecting Distributors Grows Feb 18, 2004
29. ^ Appendix A: The Cautionary Tale of XFree86 June 5, 2002
30. ^ X Marks the Spot: Looking back at X11 Developments of Past Year Feb 25, 2004
31. ^ Appendix A: The Cautionary Tale of XFree86 June 5, 2002
32. ^ December 21 2005
33. ^ 2005-03-31
34. ^ 2006-04-21
35. ^ Getting X Off The Hardware July, 2004
36. ^ X - a portable, network-transparent window system February 2005
37. ^ The X Window System: History and Architecture 1 September 1999
38. ^ XFree86 and X11R6.3 December 1999
39. ^ The Open Group Announces Internet-Ready X Window System X11R6.4 March 31, 1998
40. ^ X.Org Foundation releases X Window System X11R6.7 April 7, 2004
41. ^ 2005-10-21
42. ^ Release Notes for X11R7.1 22 May 2006
43. ^ February 15th, 2007
44. ^ , accessed 2007-08-25
45. ^ Debian X.org notes - X.org 7.4 plans - What we expect for Lenny (Brice Goglin, 11 September 2007)
46. ^
- Hania Gajewska, Mark S. Manasse and Joel McCormack, Why X Is Not Our Ideal Window System (PDF), Software — Practice & Experience vol 20, issue S2 (October 1990)
- Linda Mui and Eric Pearce, X Window System Volume 8: X Window System Administrator's Guide for X11 Release 4 and Release 5, 3rd edition (O'Reilly and Associates, July 1993; softcover ISBN 0-937175-83-8)
- The X-Windows Disaster (UNIX-HATERS Handbook)
- Robert W. Scheifler and James Gettys: X Window System: Core and extension protocols: X version 11, releases 6 and 6.1, Digital Press 1996, ISBN 1-55558-148-X
- The Evolution of the X Server Architecture (Keith Packard, 1999)
- The means to an X for Linux: an interview with David Dawes from XFree86.org (Matthew Arnison, CAT TV, June 1999)
- Lessons Learned about Open Source (Jim Gettys, USENIX 2000 talk on the history of X)
- On the Thesis that X is Big/Bloated/Obsolete and Should Be Replaced (Christopher B. Browne)
- Open Source Desktop Technology Road Map (Jim Gettys, 09 December 2003)
- X Marks the Spot: Looking back at X11 Developments of Past Year (Oscar Boykin, OSNews, 25 February 2004)
- Getting X Off The Hardware (Keith Packard, July 2004 Ottawa Linux Symposium talk)
- Why Apple didn't use X for the window system (Mike Paquette, Apple Computer)
- The Cautionary Tale of XFree86 (from Make Your Open Source Software GPL-Compatible. Or Else. by David A. Wheeler, 16 February 2005)
- X Man Page (Retrieved on 2 February 2007)
- SNAP Computing and the X Window System (Jim Gettys, 2005)
External links
|
Notable implementations
- XOrg Foundation Open Source Public Implementation of X11 — the official reference implementation
- XFree86 — for many years the most popular version, particularly on the open-source Unix-like platforms
- X11 for Mac OS X — X11.app, closely integrated with Mac OS X Quartz (graphics layer)
- — X for Win32
- MKS X/Server — X for Win32/64
X11.app is Apple Computer's implementation of the X Window System for Mac OS X. Apple's implementation of X11 is based on XFree86 and adds support for hardware accelerated 2D graphics, hardware OpenGL acceleration and integration with Aqua, the Mac OS X graphical user interface
..... Click the link for more information.
..... Click the link for more information.
computing is synonymous with counting and calculating. Originally, people that performed these functions were known as computers. Today it refers to a science and technology that deals with the computation and the manipulation of symbols.
..... Click the link for more information.
..... Click the link for more information.
A windowing system (or window system) is a graphical user interface (GUI) which implements windows as one of its primary metaphors. It is normally one part of a larger desktop environment.
..... Click the link for more information.
..... Click the link for more information.
raster graphics image, digital image, or bitmap, is a data structure representing a generally rectangular grid of pixels, or points of color, viewable via a computer monitor, paper, or other display medium.
..... Click the link for more information.
..... Click the link for more information.
graphical user interface (GUI) is a type of user interface which allows people to interact with a computer and computer-controlled devices which employ graphical icons, visual indicators or special graphical elements called "widgets", along with text, labels or text
..... Click the link for more information.
..... Click the link for more information.
Unix-like operating system is one that behaves in a manner similar to a Unix system, while not necessarily conforming to or being certified to any version of the Single UNIX Specification.
..... Click the link for more information.
..... Click the link for more information.
OpenVMS[1] (Open Virtual Memory System or just VMS) is the name of a high-end computer server operating system that runs on the VAX[2] and Alpha[3]
..... Click the link for more information.
..... Click the link for more information.
porting is the process of adapting software so that an executable program can be created for a computing environment that is different from the one for which it was originally designed (e.g. different CPU, operating system, or third party library).
..... Click the link for more information.
..... Click the link for more information.
window is a visual area, usually rectangular in shape, containing some kind of user interface, displaying the output of and allowing input for one of a number of simultaneously running computer processes.
..... Click the link for more information.
..... Click the link for more information.
The user interface (or Human Machine Interface) is the aggregate of means by which people (the users) interact with a particular machine, device, computer program or other complex tool (the system).
..... Click the link for more information.
..... Click the link for more information.
as a college campus, industrial complex, or a military base. A CAN, may be considered a type of MAN (metropolitan area network), but is generally limited to an area that is smaller than a typical MAN.
..... Click the link for more information.
..... Click the link for more information.
Network Transparency in its most general sense refers to the ability of a protocol to transmit data over the network in a manner which is transparent to those using the applications that are using the protocol.
..... Click the link for more information.
..... Click the link for more information.
Massachusetts Institute of Technology (MIT) is a private, coeducational research university located in Cambridge, Massachusetts. MIT has five schools and one college, containing 32 academic departments,[3]
..... Click the link for more information.
..... Click the link for more information.
The X.Org Foundation is the organization holding the stewardship for the development of the X Window System. It was founded on 22 January 2004.
The modern X.
..... Click the link for more information.
The modern X.
..... Click the link for more information.
In computing, a reference implementation (or, infrequently, sample implementation) is a software example of a standard for use in helping others implement their own versions of the standard. A standard is much easier to understand with a working example in hand.
..... Click the link for more information.
..... Click the link for more information.
Free software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions only to ensure that further recipients can also do these things.
..... Click the link for more information.
..... Click the link for more information.
MIT License/X11 license
Author: Massachusetts Institute of Technology
Version: N/A
Copyright on the license: Public Domain
Publication date: 1988
OSI approved: Yes
Debian approved: Yes
Free Software: Yes
..... Click the link for more information.
Author: Massachusetts Institute of Technology
Version: N/A
Copyright on the license: Public Domain
Publication date: 1988
OSI approved: Yes
Debian approved: Yes
Free Software: Yes
..... Click the link for more information.
In computing, the X Window System (commonly X11 or X) is a network-transparent windowing system for bitmap displays. This article details the protocols and technical structure of X11.
..... Click the link for more information.
..... Click the link for more information.
Client-server is a computing architecture which separates a client from a server, and is almost always implemented over a computer network. Each client or server connected to a network can also be referred to as a node.
..... Click the link for more information.
..... Click the link for more information.
personal computer (PC) is a computer whose original sales price, size, and capabilities make it useful for individuals.
It is unknown who coined the phrase with the intent of a small affordable computing device but John W.
..... Click the link for more information.
It is unknown who coined the phrase with the intent of a small affordable computing device but John W.
..... Click the link for more information.
computing protocols, see Protocol (computing). For protocols on two-way voice communications, see Voice procedure. For other meanings of the word protocol, see Protocol.
..... Click the link for more information.
..... Click the link for more information.
as a college campus, industrial complex, or a military base. A CAN, may be considered a type of MAN (metropolitan area network), but is generally limited to an area that is smaller than a typical MAN.
..... Click the link for more information.
..... Click the link for more information.
computer architecture is the conceptual design and fundamental operational structure of a computer system. It is a blueprint and functional description of requirements (especially speeds and interconnections) and design implementations for the various parts of a computer —
..... Click the link for more information.
..... Click the link for more information.
An operating system (OS) is the software that manages the sharing of the resources of a computer. An operating system processes system data and user input, and responds by allocating and managing tasks and internal system resources as a service to users and programs of the
..... Click the link for more information.
..... Click the link for more information.
Computer security is a branch of information security applied to both theoretical and actual computer systems. Computer security is a branch of computer science that addresses enforcement of 'secure' behavior on the operation of computers.
..... Click the link for more information.
..... Click the link for more information.
Internet is a worldwide, publicly accessible series of interconnected computer networks that transmit data by packet switching using the standard Internet Protocol (IP). It is a "network of networks" that consists of millions of smaller domestic, academic, business, and government
..... Click the link for more information.
..... Click the link for more information.
A tunneling protocol is a network protocol which encapsulates a payload protocol, acting as a payload protocol. Reasons to tunnel include carrying a payload over an incompatible delivery network, or to provide a secure path through an untrusted network.
..... Click the link for more information.
..... Click the link for more information.
encryption is the process of transforming information (referred to as plaintext) to make it unreadable to anyone except those possessing special knowledge, usually referred to as a key.
..... Click the link for more information.
..... Click the link for more information.
Xnest is an X Window System server that shows its output in a window. In other words, Xnest opens a window that works like another screen in which the user can open windows, etc.
..... Click the link for more information.
..... Click the link for more information.
Xephyr is a kdrive based X server which targets a window on a host X Server as its framebuffer. Unlike Xnest it supports modern X extensions (even if host server doesn't) such as Composite, Damage, randr etc.
..... Click the link for more information.
..... Click the link for more information.
This article is copied from an article on Wikipedia.org - the free encyclopedia created and edited by online user community. The text was not checked or edited by anyone on our staff. Although the vast majority of the wikipedia encyclopedia articles provide accurate and timely information please do not assume the accuracy of any particular article. This article is distributed under the terms of GNU Free Documentation License.