Looks like no one’s replied in a while. To start the conversation again, simply ask a new question.

X11 DISPLAY from remote Unix host does not launch.

X11 is coming up with some very strange behaviour.

Launching X applications to display back on my Mac was working till just the last week or so. Now, for the most part, after setting up xhost on the Mac and settting the DISPLAY environment variable on the remote host.

Launching xterm (for example). Results in can't open display"ip addr:0" and "error couldn't find per display information".

But this does not happen in all cases. I have found one server where my display will route back.

I created a new account on my Mac and tried to see if it would work in a fresh account. X display works now in my fresh account for all the nodes that I can't access in my "regular" account.

I have removed my .Xauthority file and my .Xresoures file to see if anything in there was corrupting my ability to route the DISPLAY. This has had no affect.

What other Mac OS X files would affect the characteristics of how X11 is working?

Warren

15.4 MacBook Pro, Mac OS X (10.4.7)

Posted on Sep 27, 2006 6:27 PM

Reply
19 replies

Sep 28, 2006 5:41 AM in response to MrBreezy

Hi Warren,
The fact that there's a difference between users suggests that the difference in configuration resides in your home directory and thus is almost certainly in your ~/Library/Preferences/com.apple.x11.plist property list. The most obvious culprit would be the nolisten_tcp key. Setting that to true causes the old method to fail but won't affect secure shell window forwarding. Maybe the secure shell forwarding failed for a different reason. Another thread, eh? Anyway, check that property list and value.

Oddly, I believe that nolisten_tcp is set to true by default, which means that the telnet method should fail for a new user. Have you changed that in your skeleton?
--
Gary
~~~~
<Flav> Win 98 Psychic edition: We'll tell you where
you're going tomorrow

Sep 28, 2006 10:36 AM in response to MrBreezy

Mark;

Thanks. Your tip got me 1/2 way there. The new account was generated with an empty com.apple.x11.plist. My x11.plist file had about 10 entries in it.

I removed the com.apple.x11.plist and relaunched x11. The plist was re-created (empty) and X11 displays (using telnet but not ssh) work.

Now X displays are working under telnet. But ssh -Y <user@host> return my orignal errors. Can't open display: <ip:10.0> and "Couldn't find per display information".

Sep 28, 2006 5:11 PM in response to MrBreezy

Hi Warren,
I didn't think that new users should get empty X11 preference files but since the the nolisten_tcp property is supposed to make the telnet method impossible, I feel confident that nolisten_tcp was the problem.

About the solution to the secure shell problem I'm less sure but my recommendation is to set the DISPLAY variable on the client before using "ssh -Y". I'm not sure why that matters but I think I recall that being a requirement.
--
Gary
~~~~
If loving linux is wrong, I dont wanna be right.
-- Topic for #LinuxGER

Oct 2, 2006 3:57 PM in response to Gary Kerbaugh

FYI, I was having similar issues, and I'm 99% certain it's related to the 10.4.8 update. I installed the update two days ago, and today's the first time I had trouble with my system displaying X11 apps from a remote host. I deleted the plist file you mentioned, relaunched X11, and everything worked properly.

Powerbook G4 15 1.25GHz Mac OS X (10.4.8)

Nov 21, 2006 8:39 AM in response to Gary Kerbaugh

DISPLAY on the client matters because ssh uses its local DISPLAY variable to set up the tunnel to the local X11 server.
If you use the X11 "Applications" menu to start a "Terminal" (i.e., xterm), it will already have its DISPLAY variable set properly, so "ssh -Y" should just work. Unless the user overrides the value of DISPLAY in their remote shell session, which would be typical of someone using "xhost +"...

Jan 4, 2007 3:50 AM in response to MrBreezy

hi. i'm having a similar problem. i thought i'd add to this thread rather than create a new one.

i'm using "ssh -X hostname" to connect to the remote host. if i connect from Terminal, $DISPLAY resolves to :0 locally and is not set on the remote host. if i connect from xterm via the x11 menu, $DISPLAY resolves to :0.0 locally and is not set on the remote host.

any ideas?

macbook Mac OS X (10.4.8)

Jan 4, 2007 1:23 PM in response to zoarre

Yes, it is more secure. However, not all apps work over ssh -X. The change from 10.3 to 10.4 was an updated openSSH library which included the more secure option. The reason -X worked in 10.3 was that the more secure option wasn't in the openSSH that was included in 10.3.

You can read more about Trusted X11 Forwarding in the openssh man pages:
http://www.openbsd.org/cgi-bin/man.cgi?query=ssh
http://www.openbsd.org/cgi-bin/man.cgi?query=ssh_config&sektion=5&arch=&apropos= 0&manpath=OpenBSD+Current

Of particular interest is how untrusted X11 clients are restricted, as that is why -X doesn't work for certain apps (because you're untrusted). When you use ssh -Y, you're a trusted X11 client, meaning you have more access and aren't restricted.

Jan 4, 2007 5:13 PM in response to zoarre

Hi Zoarre,

> why doesn't -X work in tiger? isn't it more secure?

Yes, the -Y option is very much less secure than the -X option. Unfortunately as you've noticed, this strict interpretation of "trusted" can be shall we say, inconvenient. You can read more about the X11 Security Extension Specification by downloading the PDF document from security.pdf.

The use of the -Y option will cause all X11 apps that you forward to be treated as "trusted". In the X11 Security Extension Specification, this means that the application can be trusted to be harmless and thus that security may be lax. For instance, xclock only conveys the local time and this information can be compromised without serious risk. However, if you designate a forwarded word processor app as "trusted", you are saying that your keystrokes need not be closely guarded. If the app is specified as "untrusted" it is isolated, preventing the sharing of those keystrokes. Of course it's difficult for most apps to function in such isolation.

Older versions of ssh were found to cause the client xauth vulnerability described in SSH client xauth Vulnerability. When they communicate the (usually MIT-MAGIC-COOKIE-1) cookie for your local XServer to the remote machine, it is placed in the remote machine's authorization cache for use by X11 apps to negotiate connections with your local XServer. Thus, if the remote machine's authorization cache is compromised, so is your XServer.

To minimize the risk, when ssh connects with the -X option it sends an untrusted cookie to the remote machine so that X11 applications that obtain authorization with this cookie are marked as untrusted and restricted in what they can do. While this is safer, the X11 Security Extension Specification is in its infancy and many apps crash as a result of the limitations. Thus, as you've discovered, the -Y option is often necessary. However, it is less secure and should only be used when necessary!
--
Gary
~~~~
I have seen the Great Pretender and he is not what he seems.

Jan 4, 2007 6:47 PM in response to Gary Kerbaugh

very helpful. i greatly appreciate you taking the time to clarify that for me.

it seems that the reason -X doesn't work isn't strictly because of tiger but because of more restrictive security semantics being introduced into openssh. meaning, remote gvim would still behave in a broken manner if i had upgraded my openssh implementation on a linux box. is my understanding correct?

macbook Mac OS X (10.4.8)

X11 DISPLAY from remote Unix host does not launch.

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple ID.