-->
Previous | Table of Contents | Next |
This chapter covers:
Simply put, the X Window System, or just X, provides graphics on UNIX. (Its never called X Windows; to call it X Windows is a sign of ignorance.) Although X runs on many more operating systems than UNIX, such as Windows NT, Windows, MacOS, and DOS, X is by far the de facto graphics system on UNIX. As such, X tends to be confusing for anyone with experience in the personal computer world.
Because X tends to confuse, this chapter starts with an overview of both the X Window System and X on Linux. If youre experienced with X in general, jump ahead to the section covering X on Linux for a rundown of how X differs on Linux. After that, we tackle the toughest part of X: installing and configuring it for your hardware. Weve all been lulled by the ubiquitous PC hardware and assume that because Microsoft Windows runs with just about every graphics card, so should Linux. Linux does to an extent, but you pay a price in added complexity.
The X Window System began life as an academic exercise at the Massachusetts Institute of Technologys Project Athena. The goal was to link a motley crew of disparate workstations from various vendors. Instead of providing the link at the operating-system level, the decision was made to create a C-based graphical windowing layer that could exist with any operating system. And so the X Window System was born.
Now under the supervision of the not-for-profit X Consortium Inc., the X Window System is made available to the computing public at large, which has engendered its widespread adoption in the UNIX world. Virtually every UNIX vendor supports X on some level. The popular interfaces CDE/Motif and OpenWindows, as well as the Common Desktop Environment (CDE), are based directly on X.
True to its UNIX roots, the X Window System runs graphics with multiple processes. The main process, simply called X, is the X server itself. The server deals with local requests (thus its usage on a single-user Linux workstation) and TCP/IP-based network requests. Because of this networking capability, its possible to run an X application on one workstation and display the results of the application on another workstation. You could, for example, save your local computing resources for something important while running Doom on your bosss workstation and displaying the game on yours. You get to play the game; your bosss system provides the CPU horsepower.
The X server controls the monitor, keyboard, and mouse and allows graphics applicationscalled X clientsto create windows and draw into them. On the face of it, this seems so basic that it shouldnt require any explanation. But, as is true of most of UNIX, X takes a simple concept and makes it difficult. You benefit from the complexity of X, but it can make it tough to get going.
The X server process is the only process allowed to draw dots on the screen or track the mouse. X application programs then connect to the X server via an interprocess communication link, usually some form of TCP/IP network socket (see Chapter 8 for more on networking). Because X uses a network link, programs running on other machines connected by a network can display on your workstation.
Many programs can connect to the same X server at the same time, allowing you to run multiple applications on the same screenagain, a basic fact youve probably taken for granted. One of these X applications you run must be a window manager. (Technically, you dont have to run a window manager, but it makes things difficult if you dont.)
Previous | Table of Contents | Next |