Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Linux+ Certification Bible.pdf
Скачиваний:
46
Добавлен:
15.03.2015
Размер:
3.78 Mб
Скачать

Chapter 6 Configuring X-Windows 177

The X Window System is a complex graphical system that can be used for GUI applications in the desktop or enterprise environment. The ability to configure

the X Window System for desktop or enterprise use is a valuable skill and requires the use of many tools. To use these tools, you must have knowledge of the X Window System and the concepts behind it. The X Window System utilizes several layers of software to provide these graphical services. These services provide the base X Window System, and ease configuration by breaking it down into more manageable pieces.

What is the X Window System?

The X Window System is used to provide a GUI interface for most Linux and UNIX systems. The X Window System was created in 1984 by the Massachusetts Institute of Technology’s Laboratory for Computer Science in cooperation with the Digital Equipment Corporation as part of Project Athena. The origins of the X Window System are based in the work of the Xerox Corporation’s Palo Alto Research Center (PARC) and in the W windowing package, which was created by Paul Asente. In 1987, MIT released the X Window System as X11; it is very similar to the versions of X11 in use today. MIT developed the X Window System, but it was turned over to the X Consortium for further development. More information on the history of X Windows is available at www.x.org.

www.x.org is the worldwide consortium empowered with the stewardship and collaborative development of the X Window System technology and standards. www.x.org provides official X Window System updates to the general public — free of charge. This organization also controls the evolution of the X11R6 specifications and provides for revisions and updates to the package. The main X Window System that is used with Linux is XFree86, which is produced by the XFree86 Project, located at www.xfree86.org. XFree86 is a freely re-distributable Open Source implementation of the X Window System that runs on Linux, UNIX, BSD versions, Mac OS X (also known as Darwin), Solaris (x86 series) operating systems, and OS/2. These organizations provide the X Window System for most Linux systems.

The X Window System

For the X Window System to maintain portability and be able to work across different hardware and software platforms, it was created using four components — the X Server, X Client, X Protocol, and X Window manager — that interact to provide the GUI interface.

178 Part III Configuration

The X Server

The X Server is the software that provides the direct hardware support for the entire X Window System. The most common version of X Servers used in Linux is XFree86. These XF86 servers are provided by two methods:

Pre-4.0 versions of XFree86 contain individual servers for over 15 types of hardware; the major units of this hardware are Mach64, S3, and SVGA video card chipsets.

Version 4 of XFree86 contains modules that provide service for a single XF86 server.

These improvements enable more standard support across all types of hardware. With this X Server support, Linux has the ability to support most hardware for the entire X Window System.

The X Client

An X Client is the software that requests services from the X Server. The X Server then returns information to the X Client to be displayed on the video output system. By using a client/server system, the X Window System gains an advantage in that the client has the ability to be local or remote.

When discussing an X Window System client environment, you need to be familiar with several terms, which are shown in Table 6-1.

 

Table 6-1

 

X Client Terms

 

 

Terminology

Reference For

 

 

Screen

The entire desktop displayed

 

 

Root Window

The background of the screen

 

 

Window Manager

The main interface between the X Window System and the user

 

 

Pointer

The cursor that is used to represent the position of the mouse or

 

other pointing device

 

 

Window

Any frame displayed by an application

 

 

Terminal Emulator

A window providing an emulated terminal

 

 

Chapter 6 Configuring X-Windows 179

X Client and Server communications

The X Protocol provides the communications between the client and the server. This protocol was developed to provide a network-capable, transparent graphical user interface for the UNIX operating system. This GUI was designed to be much different than the one used in Microsoft Windows.

The X Protocol distributes the processing of applications by specifying a clientserver relationship at the application level. Therefore, by using a layered approach, the X Window System has separated the application part from the hardware part, which accomplishes the following:

Allows the hardware system to be separated from the software

Allows a single workstation to run an X Client for many physically separate machines or for one remote machine that has excess computing power (to be used to supply the X Server for many X Clients)

Allows remote system management in a GUI environment or a true clientserver environment and distributed processing

Creating the client layer as device-independent and the server layer as devicedependent accomplishes this distributed processing. X Protocol further provides a common windowing system by specifying an asynchronous network protocol for communication between an X client and an X server. The following are some advantages that the X Window System gains from this approach:

Local and remote computing are actually the same to the user and developer

The X server can easily support a variety of languages and operating systems

X clients can easily support a variety of languages and operating systems

Applications don’t suffer a performance penalty when used locally or remotely

X Window Manager

The final part of the X Window System is the manager that the user interfaces with. Many Window Managers are available, including AfterStep, Enlightenment, fvwm, and Window Maker. The X Window Manager provides the user with a common GUI environment, which allows the use of common desktops across not only Linux systems, but also any system that can use the X Window System.

The most common desktop systems that are used today are GNOME and KDE. These should not be confused with the role of Window Managers, because they provide the full desktop environment, while the Windows managers affect the look and feel of the X Windows system.

180 Part III Configuration

GNOME

The GNOME project, available at www.gnome.org, is part of the GNU project and was created to provide an entirely free desktop environment for free systems, as shown in Figure 6-1. Moreover, GNOME provides a user-friendly suite of applications and an easy-to-use desktop.

Figure 6-1: The GNOME Desktop Environment

GNOME currently uses a Window Manager to provide the interface — the most common interfaces that are used are Enlightenment and Window Maker. GNOME provides several user friendly features, such as a file and display manager, that familiar environment for users used to the Microsoft Windows system, and an excellent desktop environment with many tools.

To increase the user friendly design of their desktop, the GNOME project created the GNOME Usability Project. The goal of the GNOME Usability Project is to facilitate the use of GNOME, making it as enjoyable and intuitive as possible. This goal has directed GNOME toward a standard user interface with established guidelines for GNOME developers to aid them in making applications.

GNOME is easy to use, but it is also cutting-edge technology. GNOME offers a very modern desktop, which was created by using the GTK+ Tool Kit, XML, and CORBA. CORBA, which stands for Common Object Request Broker Architecture, provides

Chapter 6 Configuring X-Windows 181

open, vendor-independent architecture that applications can use over networks. CORBA uses the standard protocol IIOP to provide this common network transport, which also allows any program using the protocol to interoperate with any other CORBA-based program — regardless of the computer, operating system, programming language, or network.

GTK+ is a multi-platform toolkit for creating graphical user interfaces. GTK+ is part of the GNU Project and uses the GNU GPL to ensure that all developers — even those developing proprietary software — can use it. GTK+ has a C-based, objectoriented architecture and uses the following libraries:

GLib — provides many useful data types, macros, type conversions, string utilities, and a lexical scanner

GDK — is a wrapper for low-level windowing functions

GTK — is an advanced widget set

These libraries allow GTK+ to provide maximum flexibility and an excellent, standardized interface for graphical user interfaces. Through the use of these tools, GNOME utilizes the latest in cutting edge programming technology, and with other included GNOME tools and applications, such as GNOME Office, provides the user with a stable, standard, and useful graphical user interface. The Gnome Office suite consists of many useful productivity tools for the common end user. The software available in Gnome Office is summarized in Table 6-2.

 

Table 6-2

 

GNOME Office Suite

 

 

Application

Task Provided

 

 

AbiWord

A multi-platform word processor

 

 

Gnumeric

A spreadsheet application

 

 

Achtung

A GNOME presentation program

 

 

GNOME-DB

A database connectivity

 

 

GIMP

An extremely powerful and versatile graphics and image-

 

editing program

 

 

Sketch and Sodipodi

Vector drawing packages

 

 

Eye Of GNOME

An image viewer

 

 

Balsa

A flexible and powerful e-mail client

 

 

Evolution

An integrated calendaring, e-mail application and personal

 

information manager

 

 

Dia

A structured diagrams program similar to Visio

Continued

182 Part III Configuration

 

Table 6-2 (continued)

 

 

Application

Task Provided

 

 

Guppi

A plotting and graphing program

 

 

MrProject and Toutdoux

Project management tools

 

 

GnuCash

A personal finance manager

 

 

Gfax

Used to send and receive faxes

 

 

Galeon

A fast and standards-compliant Web browser

 

 

These applications round out the ability of GNOME to provide a complete desktop for end users. Because GNOME is part of the GNU project, it is covered by the GNU GPL, which ensures that all users and developers have access to GNOME. This makes GNOME an excellent, powerful, flexible, and free desktop environment.

KDE

The K Desktop Environment (KDE), which is available at www.kde.org, is another major desktop environment for Linux, UNIX, and UNIX-like operating systems, as shown in Figure 6-2.

Figure 6-2: The K Desktop Environment

Chapter 6 Configuring X-Windows 183

Unlike GNOME, the KDE includes a very sophisticated window manager (KWin), but it can utilize other Window Managers if configured to do so. KDE is a powerful, Open Source, graphical desktop environment that provides ease of use, contemporary functionality, and outstanding graphical design. KDE also provides a high quality developmental framework that allows for quick and easy creation of applications. KDE uses the Qt C++ cross-platform toolkit, which is also released (since version 2.2) under the GNU GPL to provide the framework. Qt is a product of a Norwegian company — Troll Tech — and is available from the Troll Tech FTP server at ftp://ftp.troll.no/. The KDE desktop provides a familiar environment for users who have previously used Microsoft Windows. KDE is very portable and can run on Linux, Solaris, FreeBSD, IRIX, HP-UX, and other versions of UNIX.

The K Desktop Environment expands on this excellent foundation with a wide variety of applications. Table 6-3 shows a list of included KDE applications.

Table 6-3

K Desktop Environment Applications

Suite

Application

Task Provided

 

 

 

KOffice

KWord

A FrameMaker-like word processor application

 

 

 

KOffice

KSpread

A spreadsheet application

 

 

 

KOffice

KPresenter

A presentation application

 

 

 

KOffice

Kivio

A flowcharting program

 

 

 

KOffice

Krayon, also

A painting and image editing application

 

known as

 

 

Kimageshop

 

 

 

 

KOffice

KPlato

A project management application

 

 

 

KOffice

KChart

A chart-drawing application

 

 

 

KOffice

KFormula

A formula editor

 

 

 

KOffice

Kuger

A business report tool

 

 

 

Konqueror

Konqueror

A file manager

 

 

 

Konqueror

Konqueror

The canvas for all the latest KDE technology, from KIO

 

 

slaves to component embedding via the KParts object

 

 

interface

 

 

 

Konqueror

Konqueror

An Open Source Web browser with HTML4.0

 

 

compliance, supporting Java applets, JavaScript, CSS1

 

 

and (partially) CSS2, as well as Netscape plugins

 

 

 

Konqueror

Konqueror

A universal viewing application

 

 

 

184 Part III Configuration

Also available are audio, games, and many more applications for KDE. These applications enable KDE to provide an excellent, powerful, flexible, and free desktop environment.

Usually, you select a window manager or desktop environment during the installation of Linux, but the desktop or window manager that you desire may not be up-to- date or included with the Linux distribution. To resolve this, most desktops and window managers are available for download from the Web sites shown in Table 6-4.

Table 6-4

Window Manager and Desktop Environment

Software Resources

Window Manager and

Software resources

Desktop Environment

 

 

 

AfterStep

www.afterstep.org

 

 

Blackbox Window Manager

http://blackbox.alug.org

 

 

Enlightenment

www.enlightenment.org/pages/main.html

 

 

FVWM F Virtual Window Manager

www.fvwm.org

 

 

Fvwm95 Virtual Window Manager 95

ftp://mitac11.uia.ac.be/pub

 

 

GNOME desktop environment

www.gnome.org

 

 

IceWM Ice Window Manager

http://icewm.sourceforge.net and

 

www.icewm.org

K Desktop Environment

www.kde.org

 

 

MWM Motif Window Manager

www.opengroup.org/openmotif

 

 

OLVWM OpenLook Virtual

 

Window Manager

www.phys.columbia.edu/~flame/olvwm.html

 

 

Sawfish extensible window manager

http://sawmill.sourceforge.net

 

 

SCWM Scheme Constraints

http://scwm.sourceforge.net

Window Manager

 

 

 

Window Maker

www.windowmaker.org

 

 

XFce desktop environment

www.xfce.org

 

 

Others

www.xwinman.org

 

 

Соседние файлы в предмете Операционные системы