On Nov 22, 2007, at 7:30 PM, Vincent Lefevre wrote:
I don't have Leopard yet, but there have been discussions in the x11-users Apple list. On Leopard, DISPLAY is set to some special value so that the X11 server can be started automatically. So, setting it to :0 may break things. From one of the latest mail from Ben Byer:
* Various X11 application .app bundles are now broken because they explicitly set $DISPLAY and/or try to launch X11 for you.
and the explanation from an earlier one:
------------------------------------------------------------------------ The way that this is accomplished is by some slight-of-hand with the $DISPLAY variable -- if you look, it should be something like "/tmp/ launch-vbXRyu/:0". If an X client connects to this, it will actually connect to launchd, which will start Xquartz if needed and pass the client's socket to the server.
All of that should be invisible to you; the X client library (libX11.dylib) was modified to support this, and all X11 applications link against this library. "DISPLAY=:0" would still work if X11.app is already running, but it will not trigger X11 to launch. ------------------------------------------------------------------------
BTW, I suppose that the X11 apps from MacPorts should also by linked to this modified library.
Mr. Almighty Bbyer himself maintains our Xorg based X11 ports now ;-) So maybe he can chime in and advise...? In any case, I've been playing with X11 on Leopard lately but haven't been able to experience this functionality, if I unset the DISPLAY variable I simply can't open X11 programs from Terminal.app (even Apple provided ones under /usr/X11/bin); no launchd magic happens and all I get are "can't find display" errors (even though I do have a / tmp/launch-QLJ9Yh/\:0 sockect). Guess I need to look into the matter more thoroughly, I do have a highly customized environment after all. Regardless, I'll add the corrections to our X11 advise on install.php as soon as I get a chance. Regards,... -jmpp