Chapter 6. The X Window System

While the heart of Red Hat 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 simply X.

This chapter is an introduction to the behind-the-scenes world of XFree86, the open-source implementation of X provided with Red Hat Linux.

The Power of X

Linux began as a powerful, server-based operating system, excelling at efficiently processing complicated programs requiring high CPU utilization and handling requests from hundreds or thousands of clients through network connections. However, because of its open nature and stability, Linux has quickly developed into a popular GUI-based operating system for workstations, both in the home or in the workplace.

In the UNIX™ world, windowing environments have existed for decades, predating many of the current mainstream operating systems. The X Window System is now the dominant graphical user interface (GUI) for UNIX-like operating systems.

To create this GUI for the user, X uses a client-server architecture. An X server process is started and X client processes can connect to it via a network or local loopback interface. The server process handles the communication with the hardware, such as the video card, monitor, keyboard, and mouse. The X client exists in the user-space, issuing requests to the X server.

On Red Hat Linux systems, the XFree86 server fills the role of the X server. As a large scope open source software project, with hundreds of developers around the world, XFree86 features rapid development, a wide degree of support for various hardware devices and architectures, and the ability to run on different operating systems and platforms.

Most Red Hat Linux desktop users are unaware of the XFree86 server running on their system. They are much more concerned with the particular desktop environment in which they spend most of their time. The Red Hat Linux installation program does an excellent job of configuring your XFree86 server during the installation process, ensuring that X performs optimally when first started.

The X server performs many difficult tasks using a wide array of hardware, requiring detailed configuration. If some aspect of your system changes, such as the monitor or video card, XFree86 will need to be reconfigured. In addition, if you are troubleshooting a problem with XFree86 that cannot be solved using a configuration utility, such as the X Configuration Tool (redhat-config-xfree86), you may need to access its configuration file directly.

TipTip
 

X Configuration Tool is capable of configuring XFree86 while the X server is active. To activate the configuration program from the command-line, type redhat-config-xfree86. To start X Configuration Tool while in an active X session, go to the Main Menu Button (on the Panel) => System Tools => Display. After using X Configuration Tool during an X session, you will need to log out of the current X session, then log back in for the changes to take effect.