-->
Previous Table of Contents Next


Chapter 3
Installing and Configuring XFree86

This chapter covers:

  An overview of the X Window System
  X Window on the network
  An overview of X on Linux
  XFree86 and Linux
  X and window managers
  Supported chipsets
  How XFree86 works
  Installing XFree86
  Setting up the proper X server executable
  Some initial configuration details
  Configuring xterm
  Setting up an X login screen
  Alternatively, starting X at login time only
  Screen background: solid colors and images
  The X font server
  The fvwm window manager

The X Window System

Simply put, the X Window System, or just X, provides graphics on UNIX. (It’s 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 you’re 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. We’ve 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 Technology’s 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.

X on the Network

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, it’s 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 boss’s workstation and displaying the game on yours. You get to play the game; your boss’s system provides the CPU horsepower.

The X server controls the monitor, keyboard, and mouse and allows graphics applications—called X clients—to create windows and draw into them. On the face of it, this seems so basic that it shouldn’t 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 screen—again, a basic fact you’ve probably taken for granted. One of these X applications you run must be a window manager. (Technically, you don’t have to run a window manager, but it makes things difficult if you don’t.)


Previous Table of Contents Next