Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
X Window system user’s guide for X11 R3 and R4: 3rd ed.
Quercia V., O’Reilly T., O’Reilly & Associates, Inc., Sebastopol, CA, 1990. Type: Book (9780937175149)
Date Reviewed: Mar 1 1991

In spite of a phenomenal growth in popularity over the past few years, the X Window System remains difficult to learn. One of the greatest obstacles confronting a new user is the need to learn an extensive and specialized vocabulary. He or she must recognize not only standard windowing terminology but also those instances where X’s terms diverge from generally accepted definitions (for example, client and server are used in a nonintuitive, if rigorous, way). Documentation is another problem. Although the X Window System as distributed by MIT and most third-party vendors includes a sizeable body of online reference materials, they are difficult to locate and still harder to use. The documents assume that the reader already knows the system and requires detailed information on options available for a particular feature or subsystem. A few demo programs illustrate specific aspects of X, but virtually no tutorial information is available. Most users are forced to learn X through oral tradition.

This book fills the gap by providing a comprehensive and lucid introduction to the intricacies of X. For the benefit of the first-time user, all assumptions are clear from the outset: “This book assumes that X has already been installed on your system, and that all standard MIT clients are available” (p. xxi). The reader is also cautioned that some command examples may need to be translated for operating systems other than UNIX. From that point on, the authors take special care to make their examples applicable to virtually any system and any version of X.

Perhaps the most unusual aspect of this book is that it immediately explains those seemingly trivial aspects of X that lead to confusion among new users, including why the cursor changes appearance as it moves across the screen (p. 8), the fact that slow machines may seem to lose user input (p. 8), and how auto-logout mechanisms can appear to crash the machine (p. 25). As the authors explain each X client (standard X application), they display their considerable expertise by pointing out bugs and anomalies.

The book is divided into four sections. The first, “Using X,” provides a tutorial introduction to windowing systems in general and to X’s window managers (twm in the text, and uwm and OSF/Motif’s mwm in the appendices), terminal emulators, and graphics utilities in particular. Of all the books currently available on X, this section provides the clearest and easiest access for self-study. Part 2 deals with “Customizing X” to suit individual needs and preferences. Again, the treatment is unusually comprehensive. The third section consists of the reference pages on X clients supplied with the MIT distribution. The eight appendices in Part 4 provide details on system configuration, keyboard control sequences, and the standard cursors, fonts, and bitmaps supplied with X.

This volume is the third edition of Quercia and O’Reilly’s work. It represents a significant expansion of the second edition, growing from 546 to 723 pages and encompassing the major changes that took effect with the most recent release of the X Window System, X11R4. The authors do an unusually good job of pointing out where R4 features differ from those of previous releases. As a result, even experienced users can learn something from this book. A quick reading of chapters 4 and 7 reveals features of the R4 clients that an old hand is likely to have missed, such as xterm’s fonts menu and the complete revision of xclipboard. The new treatment of font conventions in chapter 5 is particularly helpful. The work is also a valuable reference for X interface developers: unlike the official documentation, which describes only the current version, this volume draws clear distinctions among the features of R2, R3, and R4.

The typography is above average. Errors are infrequent and typically involve illustrations rather than instructions. For example, the figures on pages 72 and 96 are not accurate for the releases they supposedly represent, and the title page for chapter 5 gives page numbers from the second edition. These problems are more than offset by the book’s best stylistic feature, a fine index. Other publications on X suffer from ASCII-sorted indices, where terms like .xinitrc, Xreset, -xrm, and xrefresh appear on widely separated pages. The authors of this volume do us a great service by normalizing the terms so they are easy to locate.

A few modifications would improve the book even further. First, the reference pages of Part 3 are identical to those supplied with X. Although it is convenient to have them together in a single location, the information would have been much more useful if the authors had added notes referring the reader to pertinent sections in the text. Second, the X text editor (xedit) should be more prominent. This client is used by most beginners, but the most crucial information--the keyboard mapping--is obscured in an advanced chapter under the heading of “text editing widget.” Next, although this book contains the first explicit treatment of X’s security problems (pp. 53, 547–548), more space should be devoted to the topic. In particular, the information regarding remote use of X is disjoint and somewhat misleading (compare pp. 28–29, 165, and 547). Finally, although the authors describe problems caused by accidentally closing the “login window,” they neglect the opportunity to correct the problem by judicious use of .xinitrc (pp. 527 et seq.).

Although the book suffers from a few shortcomings, they are insignificant in comparison to the accuracy and comprehensiveness of the work as a whole. For the novice, this is the best introduction to X available. It will also be a convenient reference for experienced users and X applications developers.

Reviewer:  C. M. Pancake Review #: CR124297
Bookmark and Share
 
Distributed/ Network Graphics (I.3.2 ... )
 
 
X-Window (D.2.2 ... )
 
Would you recommend this review?
yes
no
Other reviews under "Distributed/Network Graphics": Date
Metacomputing
Smarr L., Catlett C. Communications of the ACM 35(6): 44-52, 1992. Type: Article
Aug 1 1993
Architectures of high-performance 3D graphics accelerators (videotape)
Akeley K., University Video Communications, Stanford, CA, 1992. Type: Book
Jun 1 1993
The CAVE: audio visual experience automatic virtual environment
Cruz-Neira C., Sandin D., DeFanti T., Kenyon R., Hart J. Communications of the ACM 35(6): 64-72, 1992. Type: Article
Aug 1 1993
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy