CBBrowne Computing

The X Window System

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

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 a little bit backwards from most client/server systems. Usually, people expect the "local" programs to be called a "client," and for the "server" to be something off in the back room. Which 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 quite appropriate:

 

  • An X server is a program that manages a video system (and possibly other "interactive" I/O devices such as mice, keyboards, and some more unusual devices).

    The X server thus typically runs on a user's desktop, typically a relatively non-powerful host that would commonly be termed a "client system." It is, in this context, nonetheless acting as a server as it provides graphics services.

  • On the other hand, an X client is typically an application program which must connect to an X Server in order to display things.

    The client will often run on another host, often a powerful Unix box that would commonly be known as a "server."

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 is in the process of buying infrastructure to provide this to their customers using proprietary protocols; X has been providing this for over ten years now.

 

  • X11R6.3 Xlib documentation

  • The Motif Zone

    An online "magazine" about X and Motif..

  • The MGR Window System HOWTO

    MGR is an alternative windowing system that is rather lighter weight than X. It's not a "high performance" system, and seems to be rarely used these days. But it's worth looking at for ideas.

  • Recco - Vendor of a MGR lookalike

  • The Joy of X : An Overview of the X Window System; Niall Mansfield; Paperback

  • The X Window System: Programming and Applications with XT, OSF/Motif

  • The Shell Hacker's Guide to X and Motif: Custom Power Tools and Windows Manager Tricks

  • Xlib Programming Manual

 

The Politics of X-Windows

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 .

  • The Open Group - X

  • X.org

    New organization to replace the X committee as part of The Open Group. Membership for smaller organizations is $3000...

    Note that this is one of the very few permissible domain names with just one letter. IANA doesn't permit them anymore.

  • The XFree86 Project

  • xwin.org - xwin is just a website

    After being kicked out of the XFree86 project, Keith Packard and a number of GNOME developers have started this site to explore extensions to X, and were looking for a new governance system.

  • Xouvert Headquarters!

    This group was creating an XFree86 "fork" with a view to providing an experimental platform for innovative enhancements, in much the way the EGCS project forked from GCC . What results proved useful have gone back to xwin.org and x.org.

  • Tungsten Graphics, Inc.

    This company, founded by some people previously with Precision Insight, is working on additional device drivers for X11.

  • Debian X Strike Force

  • Cards supporting XGL

    XGL is a somewhat new thing; X running atop OpenGL.

linux users conflict resolution seminar