[Xquartz-dev] XQuartz 2.6.0 (xorg-server 1.9.2.901) and X authority

Peter Dyballa Peter_Dyballa at Web.DE
Sun Dec 26 08:26:15 PST 2010


Am 25.12.2010 um 21:19 schrieb Jeremy Huddleston:

>> I think I started to set DISPLAY because Terminal's shell has no  
>> knowledge of it. So I can't launch an X client off it. In the  
>> beginning I used
>>
>> 	if (! $?DISPLAY) then ...
>>
>> as usual. With Tiger some change came so that DISPLAY was then set  
>> initially via ~/.MacOSX/environment.plist
>
> I do not believe Apple has ever released software that has set  
> DISPLAY in ~/.MacOSX/environment.plist.  On Tiger, DISPLAY is simply  
> not set except in child processes of X11.app (hence why we solved  
> that by using launchd in Leopard).

This was the unsatisfactory default situation. So I developed this  
scheme, taking into account a multi-user environment.

>
>> This stopped working at some time. Of course when I want to launch  
>> an X client I don't want to switch to Finder, make it open a new  
>> window I would have to close later,
>
> You don't have to... why do you think you would?

Because clicking is the Apple way?

>
>> then find my way through the file system hierarchy to the directory  
>> with the X clients and then search among them some time for the one  
>> I want to launch.
>
> I have no idea how you got here in your thought process.

How would I else be able to double-click on the X client I wish to  
launch?

>
>> And I also don't want to search in the Finder window for my  
>> favourite X clients place
>
> I hardly ever use Finder.  How did Finder come up?

Because it seems to be the standard tool to find the file for double- 
clicking.

>
>> Why is the DISPLAY variable not communicated among all processes  
>> running at the moment and launched afterwards, after DISPLAY's  
>> first setting or its possible change?
>
> It is by default.  You are overwriting it in .login.

I think I had noticed that this initial setting did not happen... But  
I'll try again on next login, hopefully next year.


I made some tests. I made sure that no *sh RC file sets DISPLAY. I  
also removed DISPLAY from the environment of Terminal. With ps I could  
see that some processes had set DISPLAY=:0, but most had DISPLAY=/tmp/ 
launch-OtsB9G/org.x:0. This value is also set in a new Terminal window.

When I launch for example FontForge from the first Terminal window (no  
DISPLAY set) or when I launch X11 by double clicking on the X11 icon  
in Dock I can see with pstree that launchd is the process which  
initiates the X11 session, like here:

	-+= 00001 root /sbin/launchd
	 \-+- 74710 pete /bin/sh /opt/local/bin/startx
	   \-+- 74746 pete xinit /opt/local/lib/X11/xinit/xinitrc -- /opt/ 
local/bin/X :0 -dpi 96 -auth /Users/pete/.serverauth.74710
	     \-+= 74824 pete /opt/local/bin/quartz-wm
	       \-+- 74881 pete /usr/local/bin/emacs-23.2 -geometry  
96x56+25+125 -T 23.2 --debug-init
	         \-+= 74909 pete -bin/tcsh -i
	           \-+= 75137 pete pstree -w -p 74909
	             \--- 75138 root ps -axwwo user

Starting with quarz-wm (blackbox keeps crashing with xorg-server  
1.9.2.901, 1.9.3, and some more) DISPLAY has become :0. This is also  
reported by env in GNU Emacs *shell* buffer.

How can I launch X clients without launchd?

 From the first Terminal (no DISPLAY set) I cannot launch xrmap – no  
DISPLAY. When I launch it from inside GNU Emacs it works. When I  
launch it from the second Terminal (with DISPLAY=/tmp/launch-OtsB9G/ 
org.x:0) a second X server (XQuartz 2.5.3 (xorg-server 1.8.2))  
launches. It creates my usual X desktop (because I have ~/.xinitrc.d/ 
50-clients.sh). In its GNU Emacs's *shell* buffer DISPLAY is set to : 
1. Presumingly the behaviour I see now can be different after my next  
login...


The change in access to X11 I reported initially was not caused by  
launching a second X server. It happened just so.

--
Greetings

   Pete                                           0
                                            %-/\_//
                                             (*)(*)



More information about the Xquartz-dev mailing list