Chapter 7. The X Window System

While the heart of Red Hat Enterprise Linux is the kernel, for many users, the face of the operating system is the graphical environment provided by the X Window System, also called X.

Various windowing environments have existed in the UNIX™ world for decades, predating many of the current mainstream operating systems. Through the years X has become the dominant graphical environment for UNIX-like operating systems.

The graphical environment for Red Hat Enterprise Linux is supplied by XFree86™, an open source implementation of X. XFree86 is a large scale, rapidly developing project with hundreds of developers around the world. It features a wide degree of support for a variety of hardware devices and architectures and can run on a variety of different operating systems and platforms.

The X Window System uses a client-server architecture. The X server listens for connections from X client applications via a network or local loopback interface. The server communicates with the hardware, such as the video card, monitor, keyboard, and mouse. X client applications exist in the user-space, creating a graphical user interface (GUI) for the user and passing user requests to the X server.

7.1. XFree86

Red Hat Enterprise Linux 3 uses XFree86 version 4.x as the base X Window System, which includes many cutting edge XFree86 technology enhancements such as 3D hardware acceleration support, the XRender extension for anti-aliased fonts, a modular driver-based design, and support for modern video hardware and input devices.


Red Hat Enterprise Linux no longer provides XFree86 version 3 server packages. Before upgrading to the latest version of Red Hat Enterprise Linux, be sure the video card is compatible with XFree86 version 4 by checking the Red Hat Hardware Compatibility List located online at

The files related to XFree86 reside primarily in two locations:


Contains X server and some client applications, as well as X header files, libraries, modules, and documentation.


Contains configuration files for X client and server applications. This includes configuration files for the X server itself, the older xfs font server, the X display managers, and many other base components.

It is important to note that the configuration file for the newer Fontconfig-based font architecture is /etc/fonts/fonts.conf (which obsoletes the /etc/X11/XftConfig file). For more on configuring and adding fonts, refer to Section 7.4 Fonts.

Because the XFree86 server performs advanced tasks on a wide array of hardware, it requires detailed configuration. The installation program installs and configures XFree86 automatically, unless the XFree86 packages are not selected for installation. However, if the monitor or video card changes, XFree86 must to be reconfigured. The best way to do this is to use the X Configuration Tool (redhat-config-xfree86).

To start the X Configuration Tool while in an active X session, go to the Main Menu Button (on the Panel) => System Settings => Display. After using the X Configuration Tool during an X session, changes takes effect after logging out and logging back in. For more about using the X Configuration Tool, refer to the chapter titled X Window System Configuration in the Red Hat Enterprise Linux System Administration Guide.

In some situations, reconfiguring the XFree86 server may require manually editing its configuration file, /etc/X11/XF86Config. For information about the structure of this file, refer to Section 7.3 XFree86 Server Configuration Files.