X Myths 131 has a special abbreviation for MIT-MAGIC-COOKIE-1? And what the hell kind of a name for a network protocol is that? Why is it so important that it’s the default protocol name? Obviously it is Allah’s will that I throw the Unix box out the win- dow. I submit to the will of Allah. Anybody who has ever used X knows that Chapman’s error was trying to use xauth in the first place. He should have known better. (Blame the vic- tim, not the program.) From: Olin Shivers shivers@bronto.soar.cs.cmu.edu Date: Wed, 30 Jan 91 23:49:46 EST To: ian@ai.mit.edu Cc: zvona@gang-of-four.stanford.edu, UNIX-HATERS Subject: MIT-MAGIC-COOKIE-1 Hereabouts at CMU, I don’t know anyone that uses xauth. I know several people who have stared at it long and hard. I know several people who are fairly wizardly X hackers. For example, the guy that posted the program showing how to capture keystrokes from an X server (so you can, for example, watch him type in his password) is a grad student here. None of these guys uses xauth. They just live dan- gerously, or sort of nervously toggle the xhost authentication when they need to crank up an X network connection. When I think of the time that I have invested trying to understand and use these systems, I conclude that they are really a sort of cognitive black hole. A cycle sink a malignant entity that lurks around, wait- ing to entrap the unwary. I can’t really get a mental picture of the sort of people who design these kinds of systems. What bizarre pathways do their minds wan- der? The closest I can get is an image of an order-seeking system that is swamped by injected noise—some mental patients exhibit that kind of behavior. They try so hard to be coherent, rational, but in the end the complexity of the noise overwhelms them. And out pops gib- berish, or frenzied thrashing, or xauth. It’s really sobering to think we live in a society that allows the people who design systems like xauth to vote, drive cars, own firearms, and reproduce.
132 The X-Windows Disaster Myth: X Is “Customizable” …And so is a molten blob of pig iron. But it’s getting better at least now you don’t have to use your bare hands. Hewlett-Packard’s Visual User Environment is so cutting-edge that it even has an icon you can click on to bring up the resource manager: it pops up a vi on your .Xdefaults file! Quite a labor-saving contraption, as long as you’re omniscient enough to understand X defaults and archaic enough to use vi. The following message describes the awesome flexibility and unbounded freedom of expression that X defaults fail to provide. Date: Fri, 22 Feb 91 08:17:14 -0800 From: beldar@mips.com (Gardner Cohen) I guess josh just sent you mail about .Xdefaults. I’m interested in the answer as well. How do X programs handle defaults? Do they all roll their own? If they’re Xt, they follow some semblance of standards, and you can walk the widget tree of a running application to find out what there is to modify. If they’re not Xt, they can do any damn thing they want. They can XGetDefault, which doesn’t look at any class names and doesn’t notice command line -xrm things. Figuring out where a particular resource value is for a running appli- cation is much fun, as resource can come from any of the following (there is a specified order for this, which has changed from R2 to R3 to R4): • .Xdefaults (only if they didn’t xrdb something) • Command line -xrm ’thing.resource: value’ • xrdb, which the user runs in .xsession or .xinitrc this program runs cpp on the supplied filename argument, so any old junk may have been #included from another planet. Oh, and it #defines COLOR and a few other things as appropriate, so you better know what kind of display it’s running on. • Filename, pointed to by XENVIRONMENT • .Xdefaults-hostname • Filename that’s the class name of the application (usually com- pletely nonintuitively generated: XParty for xparty, Mwm for mwm, XRn for xrn, etc.) in the directory /usr/lib/X11/app-defaults (or the