The X Window System and the Desktop

 < Free Open Study > 

One of the hotspots in the technical media these days is the so-called battle for the desktop, in which "David" (the Linux community) faces off against "Goliath" (desktop software companies such as Apple and Microsoft). Melodrama aside, providing a solid user interface is crucial to any operating system, and Linux systems are no exception. This section describes the desktop solutions provided by Red Hat Linux 7.3.

The GUI of choice for a Unix-like system is almost always based on the X Window system. Most commercial systems, however, typically "support" only one desktop environment that runs under X. In the past, the Common Desktop Environment (CDE) was put forward as the standard desktop for Unix-like systems, and many vendors adopted it. However, CDE was eventually supplanted by products, such as Microsoft Windows, in terms of user interface and component architecture. This, combined with the typically higher costs of Unix systems, caused Unix to lose market share to Windows in the desktop workstation market. Today, however, there are several desktop environments that far surpass CDE and rival any commercial desktop. Red Hat Linux 7.3 supports two of these environments: the K Desktop Environment (KDE) and the GNU project's GNOME. (Both of these desktops are discussed later in this section.)


Like most of the free Unix-like systems, Red Hat Linux uses XFree86 as its X Window implementation. The version shipped with version 7.3, 4.0.x, introduced several important enhancements. XFree86 4.0 introduced support for 3-D hardware accelerator cards and an API for various enhanced graphical effects, such as transparency and antialiased text. The 3-D hardware support makes XFree86 much more viable for 3-D visualization applications and games, making it more competitive against both commercial Unix vendors' offerings and other desktop environments. However, the number of graphics cards actually supported by the 3-D acceleration functionality is small at the time of this writing. The number of supported cards will undoubtedly grow over time.

In addition to the hardware support, the enhanced rendering capabilities of XFree86 4.0 (known as the render extensions) support advanced visual eye-candy effects, such as transparent and translucent windows, as well as support for antialiased fonts. This support addressed one of the most frequently cited and conspicuous shortfalls of XFree86.

Red Hat Linux ships with some useful tools for configuring XFree86 and all the included desktops (such as GNOME, KDE, fvwm, and others). Table 4-10 summarizes these tools.

Table 4-10: XFree86-Related Tools




Configures XFree86 for a particular system


Automates the process of switching between desktops


Used to track and display mouse and keyboard events; useful for debugging and testing


Shows information about the current X display


Used to tweak the X configuration for a monitor

Xconfigurator is a tool written by Red Hat to manage the XFree86 configuration. XFree86 is typically installed and configured to run the program /etc/X11/X as the correct X server for the video card. This file is actually a symbolic link to the correct X server, which is usually installed in /usr/X11R6/bin. If you upgrade the video card or simply need to alter your configuration, you first need to update this symbolic link to the new X server binary and then alter the XF86Config-4 file with the new settings. Xconfigurator automates these tasks. Xconfigurator supports both XFree86 4.0 and earlier 3.x versions, but it defaults to 3.x, so in order to use it to configure XFree86 4.0 you must use the -preferxf4 argument.

The other programs in Table 4-10 are intended to be used for less extensive configuration tasks. The switchdesk package is used by users to change their default desktop (for example, from GNOME to KDE). The other programs are actually included with XFree86: xev is used to monitor keyboard and mouse events and is useful for debugging keyboard mappings or mouse configurations; xdpyinfo displays information (such as resolution and color depth) about the current display; and xvidtune is used to tweak the height, width, centering, and other aspects of the current display, and it can print out a line to be added to the XF86Config file to make the change permanent.


XFree86 is just an implementation of the X Window system, however, and so requires a window manager and widget set to actually provide the desktop environment. Red Hat Linux 7.3 ships with KDE 3.0 and GNOME 1.4 as alternative desktop environments. Red Hat Software provides some financial support of the development work on the GNOME project, and so GNOME is the default Red Hat Linux desktop. However, Red Hat is actually "desktop agnostic", and so it provides various tools that allow users to easily switch between GNOME and KDE as their desktop. Red Hat believes in shipping "best of breed" software, irrespective of its origins, and so includes both KDE and GNOME.

Information about these environments could easily fill an entire book, but a few points are worth making. The latest versions of KDE and GNOME both support (or will soon support) antialiased fonts, giving them a smoother look than earlier versions. Both desktops also have evolving component-embedding models, allowing application developers to start using some of the enhanced techniques of component architectures seen on Windows. Additionally, both environments have very extensive support for "themes" or "skins" that allows users to customize the look and feel of their desktops. In this way and several others, both KDE and GNOME are actually ahead of their commercial competition. The argument that Linux systems are not viable as desktop systems is becoming increasingly unfounded.

The user desktop is an important part of the system, but in the end it is really just an interface. The true value of the system comes from the actual applications that are installed on it for the users to work with. The next section discusses some of the applications that come with Red Hat Linux, as well as a bit of Red Hat's approach to distributing these programs.

 < Free Open Study > 

Tuning and Customizing a Linux System
Tuning and Customizing a Linux System
ISBN: 1893115275
EAN: 2147483647
Year: 2002
Pages: 159 © 2008-2017.
If you may any questions please contact us: