The New XFree86Bill Ball
Prima Tech, 2001
Reviewed June 18, 2001
The X Window System is a rather large environment, so large it took O'Reilly 10 books to cover it all and that was mostly from a developers perspective. Bill Ball attempts to cover it all in about 440 pages. The results are questionable.
Most of Ball's work is modestly well written and easy to follow. The deeper issue is focus: you don't know to whom the text is targeted. The first 100 pages is overview information - configuring your X environment from within various Linux distributions, choosing a window manager, and some information on the structure of the XFree86 binary distribution. In Part II the author covers clients from xeyes to WordPerfect to audio mixers to SimCity. Total coverage: 156 pages. Part III dives into configuration issues for the X server, window managers, keyboards and pointers. Part IV takes the reader into the world of Qt, GTK+, and Motif by explaining how to get the software and how to build it.
The problem here is that readers may feel they have been left with incomplete information in one section, only to find missing pieces later on in a section that follows a totally unrelated set of chapters. How many readers, for instance, that are interested in what applications perform audio mixing and animation playing will also want to know how to build GTK+ from source code? Maybe a few. Probably not as many now as there were, say, 3 years ago. The new world of Linux is distinctly divided into two groups: end users and developers. Books that try to cover both will either be too long or lack sufficient usable content. This book fits the latter. What is worse, the text claims to be about XFree86 yet contains several hundred pages describing office application, desktop environments and non-core widget sets. This isn't about XFree86 specifically. It is about the X environment in general as it is found - and can be used, if the proper additional tools are installed - on many Linux systems. XFree86 is just a subset (albeit a large one) of that environment.
Ignoring the lack of focus, Ball does offer a few useful bits of information about XFree86 itself. The list of supported video cards for versions 3.3.6 and 4.0.1 are useful for determining if a readers hardware is likely to work with the supplied drivers. And Ball walks readers through multiple X configuration tools from Xconfigurator to XFDrake from Mandrake. He also discusses briefly a wide variety of window managers and introduces readers to the three main desktop environments (KDE, GNOME and CDE).
Toward the middle of the book Ball enters a discussion on how to configure desktop logins in system files but leaves out discussions on how to select a desktop environment on a per user basis. He mentions .xinitrc and .Xclients but doesn't explain how to launch either GNOME or KDE (in order to override system startup configurations). One option he could have mentioned is to use the .Xclients file in a users $HOME directory to select (and customize) the users desktop. Users interested in using GNOME could add "gnome-session" as the last line of the .Xclients file. For KDE they could add "startkde". No modifications to system files is actually necessary for these minor changes. Once again, though, we have to ask if this is a book for system administrators or non-technical end users?
Despite lacking a clear focus, Ball's book does provide some interesting information, even for relatively experienced users. The section in Chapter 11 on Xvnc, a network based display session management tool, is rather interesting. Since testing certain features under both GNOME and KDE is an important part of my own duties, it's nice to be able to display remote sessions in their entirety on my local monitor. The problem is one of speed, unfortunately. Using Xvnc requires quite a bit of memory on the display box and can be very slow over ordinary 10Mb/second Ethernet. Still, without having reviewed this text I might not have tried using this useful product.
One of the more interesting chapters might be the chapter on office applications, where information on Applix, StarOffice and Corel products is provided. While the chapter is divided into free and non-free sections, the free section did miss discussing AbiWord.
After introducing many basic applications, commercial office suites and even a wide variety of games, Ball then returns to configuration issues. These range from keyboard and input devices using USB connections to configuring screen resolutions, using TrueType fonts and enabling screensavers. He closes with issues related to building X from source (does anyone who wants to know how to run WordPerfect really worry about building X from source?) and applications using various graphical toolkits.
Though Ball covers a wide range of applications, he doesn't give enough information about any one of them to do much useful work. The references sections at the end of each chapter will lead you to more meat, but you can't help but wish that more details were provided for at least one or two applications in each chapter. Ball does try to address both of the two major desktop environments throughout the text but there seems to be a bit more information on KDE-related tools and configuration than on GNOME.
The New XFree86 isn't a bad text, but it's not an overly informative one either. If you're looking for a reference guide to tools for a specific task and where you might find them on the Internet, this book is a handy addition to your library. If you want the meat of either how to use an application or desktop environment or perhaps how to program under X, this book will likely disappoint.
Eklektix, Inc. all rights
Linux ® is a registered trademark of Linus Torvalds