Basic Design of XFree86

Linux's GUI environment is built up of several different layers. Many of the components that comprise each layer can be removed and replaced with equivalent components without disrupting the function of other layers of the system. Examples include

• The X server The X server contains what is, in most OSs, called the video driver. The X server can be written for one specific video chipset or family of chipsets (such as the XF86_S3V server for S3's ViRGE series chipsets), or it can contain drivers for many unrelated chipsets (such as the XF86_SVGA server). The X server is the most important component of X when it comes to determining video hardware support.

• X libraries X programs usually rely upon program libraries, which are routines that are potentially useful to any program of a certain type. XFree86 includes a set of libraries that are required by X programs.

• The window manager A window manager controls the appearance of windows on the screen. Different window managers create different-looking drag bars, resizing controls, and so on. Window managers also handle the desktop—the background on which all windows reside. They usually include some means of launching programs from a pop-up menu. As a user, you can choose any of literally dozens of window managers for Linux. You can find out about many of the choices from

• X utilities XFree86 comes with a large number of small programs that help make X a usable environment. For instance, the xterm program creates a window in which a text-based Linux shell runs, as shown in Figure 12.4.

Part III

Figure 12.4

An xterm window lets you type commands as if you were logged in to Linux using text mode.

Figure 12.4

An xterm window lets you type commands as if you were logged in to Linux using text mode.

• A Program's GUI toolkit Unlike the GUI environments of Windows, OS/2, and MacOS, X's GUI environment is quite sparse. Therefore, several GUI toolkits, or widget sets, have emerged. These packages provide tools for programmers to let them easily display and control features such as dialog boxes, menus, and scrollbars. Because the programmer of an application selects the GUI toolkit, this is one of the few features of the Linux GUI that you as an end user can't modify.

• The desktop environment Since the late 1990s, two projects have been underway to develop complete desktop environments for Linux. These environments provide an integrated series of applications, including a window manager, a file manager, help utilities, xterm-like programs, and so on. The goal is to provide a single user-friendly environment with a consistent look and feel. The two projects are the K Desktop Environment (KDE; and the GNU Network Object Model Environment (GNOME;

Most of these layers of software function independently of the X server and the underlying video hardware you use. You can use any GUI toolkit, window manager, or desktop environment on any video card, for instance, provided the X server supports the video card. Some of these tools make assumptions about the video hardware, however. Specifically, many X programs work best with large display sizes—at least 800x600, and occasionally 1024x768. Using a smaller screen can result in control windows that don't fit on the display. X's color allocation model works best when the system has many colors available—16-bit color depth or greater. You can use a less capable display, but you might need to use a virtual desktop that's larger than your physical screen, or suffer through poor color selections.

Chapter 12

Was this article helpful?

0 0
The Ultimate Computer Repair Guide

The Ultimate Computer Repair Guide

Read how to maintain and repair any desktop and laptop computer. This Ebook has articles with photos and videos that show detailed step by step pc repair and maintenance procedures. There are many links to online videos that explain how you can build, maintain, speed up, clean, and repair your computer yourself. Put the money that you were going to pay the PC Tech in your own pocket.

Get My Free Ebook

Post a comment