Become a fan of Slashdot on Facebook


Forgot your password?
Book Reviews Books Media

X Power Tools 219

stoolpigeon writes "The X Window System has been around for over twenty years and is the display system for an incredibly wide range of operating systems. With the number of Linux users growing, there are more people working with X than ever before. Most modern desktop environments provide user friendly interfaces that make modifying X rather simple. There is not a need to dig into config files and settings as in the past. For those environments without such tools or for the user who loves to dig deep into their environment, this book can be a simple way to understand how X works and how to tweak it in any number of ways. If you want things that 'just work' and have no interest in digging around below the surface this book is not for you. On the other hand, if you think the best thing to do with a shiny new tool is to take it apart, well "X Power Tools" by Chris Tyler may be just for you." Read on for the rest of JR's thoughts on this book.
X Power Tools
author Chris Tyler
pages 254
publisher O'Reilly Media, Inc.
rating 9/10
reviewer JR Peck
ISBN 0-596-10195-3
The author, Chris Tyler, is a professor at Seneca College in Toronto as well as a programmer and Linux user. His first book published by O'Reilly was "Fedora Linux: A Complete Guide to Red Hat's Community Distribution", published in 2006. He cites the growth in X users, combined with active development and the lack of existing books that address X as the motivation for writing "X Power Tools."

X is the windowing system on a wide range of Unix and Unix like systems. Chris is obviously most familiar with Linux and so the material is heavily Linux oriented. This is most apparent when the book deals with Session Managers, Desktop Environments and Window Managers. The material focuses on Gnome, KDE and Xfce and their associated components in regards to X. For the Linux user this could be a valuable resource.

When I've had issues in working with X locally and over the network, I've found that while what I need is available on the web, getting just what I need can be very labor intensive at times. Usually just what I want is spread across tutorials, on-line man pages and forum posts. Sorting out what applies to my situation can be especially difficult when I'm not even sure just how things work for my setup. Chris makes this kind of guessing unnecessary and provides the locations and function of key files. He also spells out how the most important files and tools can be best used.

For the sysadmin on another platform, these Linux specific sections are not going to be much help. Most of the book though, deals with X itself. I've already loaned my copy to one of our AIX admins more than once and I think he plans on picking up a copy of his own.

When Gnome and KDE provide an interface for modifying or customizing X functionality, the book gives at least the name of the program and sometimes screen shots and explanations of how the tool works. This is always after an illustration of how to get the job done with the tools that are a part of X itself. From fonts to keyboard layouts, multi-display to kiosks, everything required is laid out in straight forward terms.

For me, as a Fedora user, this means that having read this book I approach my work environment with a new level of confidence. Behaviors that used to puzzle me, now make complete sense. Quirks that bothered me, no longer need to be tolerated as I know have the tools to get things working just the way I want, rather than using defaults.

The book has just come out, so it was being written before the release of KDE 4. I've looked through the documentation and I don't think any of the changes to programs like KDM or KWin make the information in the book out of date. In fact, according to the KWin release notes, when discussing KWins new compositing support, "...manual configuration of X may be required for proper results..." So if you are a KDE user that likes to live on the edge, this book may come in handy.

O'Reilly says that their "Power Tool" books are comprised of a series of stand-alone articles that are cross-referenced to one another. To be honest, it didn't feel much different from reading any other tech book. Topics flowed naturally and the articles are analogous to sections that divide up chapters in other books. One nice navigation feature is that page numbers are on the bottom of the pages while chapter and article numbers are at the top corner in a decimal notations. For example at the top of page 58 there is a grey square containing the number 3.13 which means that it is the 13th article in chapter 3.

The book has a thorough index. It also comes with 45 days free access to an electronic version through O'Reilly Safari.

For me the only real weakness of the book is that I would like to have seen more information on working with X on Unix. When reference is made to specific implementation of X it is almost always in regards to Linux. I wouldn't want to lose that, but I think a mixed environment of Unix, Linux and Windows is more the rule than the exception today. It would be more work to include other operating systems, but it would have also made the book much more valuable.

All tech books face the danger of becoming quickly useless as progress marches forward. X is actively being developed, but at the same time, looking back on its history I think this book will be useful for sysadmin and user for some time to come.

You can purchase X Power Tools from Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.
This discussion has been archived. No new comments can be posted.

X Power Tools

Comments Filter:
  • As long as the program lives on (even as abandonware), so does the technology and the potential for manuals and other HOWTO material. People still buy QBasic By Example (and blogs still rave about it) even though it was unbundled from Windows in Vista (maybe even XP, I'm not sure) and most people (myself included) haven't written a proper program in it for coming up on a decade.
  • by BSAtHome ( 455370 ) on Wednesday February 13, 2008 @03:45PM (#22410194)
    Can you provide some code? You are free to make a new graphics interface. X has been around for a long time and it will stay for a long time yet. It has proven itself despite of its shortcomings. I don't think that a complete replacement is a good idea. The best thing for X that yet has to happen is it running as an unpriveledged user, but that is hard with the hardware so close to the software.
  • by Toreo asesino ( 951231 ) on Wednesday February 13, 2008 @03:55PM (#22410312) Journal
    is that it know the hardware it's running on better. You shouldn't need a file to say what resolution your monitor can do for instance; it should just know and keep track of preferences of what resolution you'd prefer maybe.

    This isn't a troll; monitors and graphics cards have been able for donkeys years to tell the OS what resolutions and refresh-rates they are capable of for years now and X hasn't caught on.

    And that's pretty much my only complaint.
  • by jedidiah ( 1196 ) on Wednesday February 13, 2008 @03:55PM (#22410318) Homepage
    What are you smoking?

    You don't install ANY OS on hardware without considering driver support.

    MacOS is no different. Various forms of Windows are no different.

    Linux and X are not alone in this.

    That said, I've never gotten all the whining. I've put no more
    effort into buying machines and vidcards that I would have done
    to avoid a lemon under Windows. Yet I've managed to avoid problems.

    Slackware 96 was not pretty but it wasn't painful in this regard at all.
  • by 93 Escort Wagon ( 326346 ) on Wednesday February 13, 2008 @04:00PM (#22410378)

    Can you provide some code? You are free to make a new graphics interface.
    Look, I know this is the standard FOSS fanboy answer to any criticisms about anything and everything, but it's gotten tiresome - it doesn't actually address the criticism at all. It's on the same level of relevance as if you'd responded "Oh, yeah? Well your momma's fat!"

  • Re:Bad review (Score:3, Insightful)

    by stoolpigeon ( 454276 ) * <bittercode@gmail> on Wednesday February 13, 2008 @04:02PM (#22410406) Homepage Journal
    What did I leave out that you would like to know? I'm always looking to do a better job and would appreciate any help in that regard.
  • by mhall119 ( 1035984 ) on Wednesday February 13, 2008 @04:04PM (#22410418) Homepage Journal

    Look, I know this is the standard FOSS fanboy answer to any criticisms about anything and everything, but it's gotten tiresome - it doesn't actually address the criticism at all.
    The implication is that if you know enough about X to be able to say it is bad, then surely you know enough to offer an improvement.
  • by Enleth ( 947766 ) <> on Wednesday February 13, 2008 @04:09PM (#22410490) Homepage
    From man xorg.conf, verbatim:

    Nobody wants to say how this works. Maybe nobody knows ...

    On the more serious note, Xorg might have some misfeatures and shortcomings - that don't really justify everyone whining there, but, well, it's kind of typical - but the sheer fact that something designed over 20 years ago to operate with hardware and software long forgotten still does its job well and manages to keep up with other windowing systems even when it comes to bells and whistles (Composite, etc.), while being ABI (ABI, mind you, not API) compatible with software that actually is 20 years old, means something. That's one solid piece of engineering, the kind one doesn't see often.
  • by jmorris42 ( 1458 ) * <> on Wednesday February 13, 2008 @04:16PM (#22410560)
    > Look, I know this is the standard FOSS fanboy answer to any criticisms about anything and everything,
    > but it's gotten tiresome - it doesn't actually address the criticism at all.

    Actually it is more response than the original poster deserved. Go reread it, he complaimed that it is old. No specific complaint, no suggested solution.

    And you fail to understand the FOSS idea. The line between users and developers doesn't exist. If you don't like it you are free to fix it. Iven if you aren't a uber coder who can write GL drivers in their sleep you can at least learn enough to make good guggestions, bug reports or hell, contribute some better documentation. If you can't code or at least understand the system enough to make constructive criticisms and suggestions for improvements then you really should just shut up and accept what you get because talking from ignorance just reduces the signal to noise and makes it harder for those who do have a clue to get on with improving the stuff you use.

    10 to one both you and the original poster don't even realize GNOME and KDE aren't even part of X. That sort of ignorance is what makes every thread about X devolve into silly rants about GUI usability and brings out the Mac fanbois. X itself is just fine now and with some of the current improvements working their way towards mainstream it will only get better.
  • by siride ( 974284 ) on Wednesday February 13, 2008 @04:18PM (#22410568)
    That's an invalid argument. I may know enough to say my car isn't working (e.g., it won't start), but I certainly don't know enough to fix it.
  • by Anonymous Coward on Wednesday February 13, 2008 @04:27PM (#22410700)
    Why don't you double how much you're paying for the X Window System ($0) and see if anybody is interested in writing a replacement for that kind of money?

    If you didn't pay for it and you don't like it you have two options:
    1) Write something better. Surely you can because you know what you don't like about the old one, right?
    2) Shut the fuck up, grow a set, and realize that the open source community is not your personal bitch.

    You are exactly the reason why I gave up writing open source software. You had criticisms about my software, software that I designed and wrote for what I needed it for. I told you that I wasn't going to change it and you went on a total tirade about how I was supposed to fix this for you and how this software was yours. Bullshit. If you don't like it, fix it. If you can't fix it, there are programmers that specialize in open source software that would be more than happy to make a little scratch on the side to code something up for you. If you're too cheap to do that, then SHUT THE FUCK UP.
  • by cortana ( 588495 ) < minus threevowels> on Wednesday February 13, 2008 @04:27PM (#22410704) Homepage
    Bad analogy. What the original poster said would be more like "I know the internal combustion engine is entrenched and all, aren't we fed up with this dinosaur? ..."
  • by MasterOfMagic ( 151058 ) on Wednesday February 13, 2008 @04:37PM (#22410874) Journal
    Then hire (and more importantly pay) a mechanic to fix it. A mechanic doesn't do what he does out of the goodness of his heart and because he likes other people. He wouldn't be able to pay his bills if he did that. You are not entitled to free car service just because you are you, just like you are not entitled to free and open source software changes on your whim.

    If you know him personally or if it's a side project or it interests him enough, he may do it for free. That's his choice as to how to spend his time. However, the vast majority of programmers in the open source community think that X works. They aren't interested in pursuing an alternative, at least not for free. I'll bet if you offer to pay their salary, their interest would be piqued. I'll bet if you had the skills to write one on your own, you could do it and attract some mindshare. Now, and this is key, sitting around on Slashdot and bitching about it won't solve the problem.

    Do it yourself because you are interested, hire someone else to do it, or accept that the vast majority of open source development is done because it's in the best interests of the person working on a particular project, and right now, the consensus amongst open source developers is that the X Window System works.
  • by chromatic ( 9471 ) on Wednesday February 13, 2008 @04:54PM (#22411150) Homepage

    the network transparency layer (among other things) creates so much overhead it was a pain to use X11 until relatively recently.

    Have you measured the cost of network transparency, and would you be willing to debate Jim Gettys and Keith Packard about that being one of the bottlenecks? (This is one of the persistent myths of X11.)

  • by FooBarWidget ( 556006 ) on Wednesday February 13, 2008 @04:57PM (#22411190)
    Nope. This has already been addressed in the most recent release. In fact the goal of this release is automatic hardware hotplugging support with no config files.

    Actually it already works now. I'm running Ubuntu 7.10. Not too long ago I plugged in a beamer into my VGA port, and it... just worked! No configurations, no restart, it Just Worked(tm).

    If you're going to whine, at least make an effort to stay up to date with the facts.
  • by osu-neko ( 2604 ) on Wednesday February 13, 2008 @05:30PM (#22411644)

    The general defense I keep seeing for X seems to be that people "aren't criticizing it properly". As if to say that just having problems with X isnt sufficient if you don't fully understand and can vocalize on those problems in a tech-savvy manner.

    Not being psychic, if the best vocalization of your problem is "I have a problem", but refuse to say any more detail at all than that, then yes, you can't be helped, sorry. You appear to be inserting words into the OP's mouth beyond that -- the OP didn't even say they had a problem! They merely said X is old, and had no actual criticism to offer at all. Being old isn't in and of itself a problem, but it's the only issue that poster appeared to have. You don't have to be tech-savvy to say you have a problem, and to try to explain as best you can what the problem is, but OP didn't even get as far as saying they had a problem, much less even offer a clue as to what the problem might be.

    If the problem is bugs, then the bugs need to be fixed. If the problem is inherent in the design, then the design needs to be redone. But if the problem is "it's over X years old and running software over X years old is uncool" then the software doesn't need fixing, the user's attiude needs fixing. Since OP appears to have no problems other than age (no complaint was made other than the age of the software), then frankly his comment should have been modded as the obvious troll that it is. Even if it's true that X actually needs fixing or replacing, that doesn't justify pointless trolling.

    I think this is a great post, in spite of the backlash against it. I support your cause, and fully agree. If I had mod points, I'd give them to you rather than posting here.

    It's a sad commentary on the rampant abuse of the mod system that you admit you'd give him mod points merely because you agree with him, rather than objectively mod him down, not because you agree or disagree, but because it was a bad, content-less post. Your own post was actually interesting and informative of what the actual issues are that people have with X (unlike the post you're replying to, which was in fact nothing but a troll). Mod points shouldn't be handed out because you support a cause, they should be handed out because the post is a good one, whether you agree with it not. (Or negative points given if it's a bad post, whether you agree with it or not.)

  • by Intron ( 870560 ) on Wednesday February 13, 2008 @05:32PM (#22411668)
    What you mean is that the Xfree86 and xorg implementations of the X server for the PC are single-threaded. I don't think there is anything in the standard that prevents X servers in general from being written differently. X clients, like browsers or window managers, are not single threaded.

    The problems of being single-threaded are simple and easy to find: something hanging causes all updates to stop. The bugs that you get in multi-threaded code are generally much worse: locking problems and concurrency issues can be very hard to track down.

    Access to the hardware has to be serialized anyway, so its not clear that multi-threading the server is going to result in any major improvement. It would speed up any rendering that is done in software and could be parallelized, but would not help X operations that are a single call to the graphics card.
  • by ADRA ( 37398 ) on Wednesday February 13, 2008 @05:52PM (#22411920)
    There will always be problematic hardware that needs more than just using auto-probed settings using than using /proc and EDID settings. My issue is a minor one, but a major head-ache. I've got a TV as my monitor, and like many many TV's on the market, the TV overscan/underscan issues. The only way to property configure that monitor is for someone to manually plug in settings to come up with a few 'magic' resolutions that will 'just work' out of the box of any new distribution.

    But I do agree, most of whats currently inside Xogr.conf can be auto-probed. Maybe we should loosen up the constraints on required sections of Xorg.conf and allow for more 'probe and attach everything I have' configurations, but I wouldn't consider removing the file entirely.
  • by Anonymous Coward on Wednesday February 13, 2008 @07:59PM (#22413514)
    I've been using X since 1998 and it has *never* been fast enough for my purposes, even when used entirely on the local host.

    Even on my recently installed Ubuntu 7.10. You can move windows around and watch them wobble, which is nice. But if you minimise and then restore something like firefox and thunderbird, it takes a second or so to completely redraw itself.

    In fact, if you open this discussion say, in fifteen tabs on firefox in an X environment, the whole system will grind to a halt. Do the same on any Windows or Mac OS from 2000 onwards and it'll be fine. When moving from my puny Mac mini onto my relatively powerful ubuntu machine, I suddenly have to be really careful not to do anything that might slow the system down.

    X may not be fast enough for high performance games or 3d stuff, that may very well be true, but considering the number of games available on X platforms, that is hardly important.

    Err... cause and effect?
  • by dangitman ( 862676 ) on Wednesday February 13, 2008 @08:15PM (#22413694)

    Even discussion about missing features should be encouraged because even if the original poster can't code, someone else who can may read the discussion thread.

    Absolutely. That's why I find the standard response of "well fix it yourself" to be so boorish and irritating. Criticisms should not be dismissed simply because they come from someone who's not a programmer. I think you put it very eloquently when you talk about helping people to contribute.

Forty two.