Flylib.com

Books Software

 
 
 

Prerequisites


[Page 375 ( continued )]

Prerequisites

Since the X Window System takes advantage of many Linux networking facilities, you should have read or be familiar with the issues discussed in Chapter 9, "Networking and the Internet," prior to reading this chapter.



[Page 375 ( continued )]

Objectives

In this chapter, I will provide you with a general overview of the major Linux desktop environments, commonly used window managers, and the X Window System upon which they all depend. Entire books cover these subjects, and we can't hope to compete with that depth, but this chapter should give you a basic understanding, so that you can get started using the Linux desktop environment, and a good foundation of knowledge upon which to build.



[Page 375 ( continued )]

Presentation

First I will give you a brief history of window systems in general, followed by an examination of the X Window System, what it looks like, how it works, and the GNU utilities involved in using it. Then we'll look at the two major graphical desktop environments available in Linux distributions.


[Page 376]


[Page 376 ( continued )]

Utilities

This chapter includes a discussion of the following utilities, listed in alphabetical order:

xclock

xhost

xrdb

xterm



[Page 376 ( continued )]

10.1. Introduction

In the early days of UNIX, a character terminal was the only interface to the system. You logged in and did all your work in a single, character-based terminal session. If you were lucky, it was a terminal with "smart" cursor capabilities, where you could perform full-screen manipulations by moving the cursor around on the screen (which allowed screen-oriented text editing or debugging). Usually you simply had a line-oriented terminal where you typed in a line of text (a command) and got back one or more lines of text in response. And you were happy to have it instead of the punch cards you used before that!

10.1.1. Graphical User Interfaces

As computer systems became more sophisticated, bitmapped displays (which could turn each bit on the screen on or off tather than simply displaying a character in a certain space) allowed user interfaces to become more sophisticated. The Graphical User Interface (GUI, often pronounced "gooey") was born.

The first computer with a semi-well-known GUI was the Xerox STAR. Purely a text-processing system, this computer was the first to use the icon representing a document that looked like a page with one corner folded over. The Xerox STAR had icons for folders, documents, and printers on a desktop (the screen) rather than a command-line driven interface, as had been the norm to that time.

The ability to click on a picture of a document to edit it and to drag it onto the top of a printer icon to print it, rather than having to remember what commands performed these functions, was revolutionary. Some of the engineers from Xerox moved on to Apple Computer and worked on the Apple Lisa, which led to development of the Macintosh.

UNIX vendors went through a couple of iterations of providing graphical interfaces to their systems, but under conventional windowing systems, an application could only display information on the screen of the computer on which it was running. The next step in the evolution was still to come.

10.1.2. MIT

In 1984, the Massachusetts Institute of Technology released the X Window System. Recognizing the usefulness of windowing systems, but unimpressed by what UNIX vendors had provided, students at MIT, in a move comparable to the BSD movement at Berkeley, set out to write a windowing system of their own. Digital Equipment helped initially fund Project Athena, where X had its origins.


[Page 377]

The revolutionary idea behind the X Window System, which has yet to be rivaled in any modern computer system, is the distinction between the functions of client and server in the process of drawing an image on a computer screen. Unlike most windowing systems, X is defined by a network protocol, replacing the traditional procedure call interface. Rather than simply having an application draw its image directly to the screen, as previous window systems had done, the X Window System split the two functions apart. The X server takes care of drawing on and managing the contents of the computer's bitmapped display and communicating with all clients who wish to draw on the screen. An X client doesn't draw directly to a screen but communicates with an X server running on the computer where the screen it wishes to draw on is located. By allowing communication between two processes on the same machine or via a network connection between two processes on different machines, suddenly you gain the capability to draw graphics on a different screen. This opens the door to all sorts of new possibilities (as well as security problems).

The X Window System is often referred to simply as "X" or "X11," referring to its most recent major version. At the time of this writing, X11 is in its sixth release, hence the complete reference is X11R6. For the latest information about the X Window System, see the Open Group's X.Org Foundation web site at:

http://www.x.org