From my understanding, it's hardly ever the case these days that people do X over straight TCP. It's woefully insecure so almost all smart admins shut it off. Typically it's configured such that only requests from the local machine will be accepted. This works over ssh because your ssh client and the ssh server tunnel the information so it looks like it's happening from the localhost. I would imagine that virtually all X usage these days is either on the work station itself, or over such a tunnel.
I really do think that emacs just tests the DISPLAY variable, and I'll explain why... When I'm working under Windows, I don't always have an X server up and running. I have to remember to turn on Exceed when I want to do work. When I use SecureCRT to ssh into something, the DISPLAY environment var gets set no matter what. When I fire up emacs, and I've remembered to turn on Exceed I get a nice little X emacs window. When I forget to turn on Exceed, however, emacs fails to start, and SecureCRT puts up a popup window saying that there was an error, the text of which I forget, but it's something like "display not found".
I think that this is a reasonable guess, but if you've got a better idea as to the reason for the behavior of that software triad I'd like to hear it, because I can't think of one off the top of my head.
| [reply] |
> From my understanding, it's hardly ever the case these days that people do X over straight TCP.
Not relevent. The access list still applies. I occasionally still have to xhost +localhost on occasion, usually when displaying an app from another host. No, I do not have tcp turned on. I seldom do this, so I keep forgetting to set up the /etc/X*.hosts file.
Anyway, my point is simply that it is something to take into consideration in determining if X is present.
~~
naChoZ
| [reply] |