(I see Hushmail still has their bug: their own editor won't follow the Reply email thread properly. Let me try their IMAP interface via Apple-Mail.) On Apr 24, 2011, at 18:27, Jeremy Huddleston wrote:
On Apr 24, 2011, at 10:22, sci-fi@hush.ai wrote:
You should have /Library/LaunchAgents/org.macosforge.xquartz.startx.plist
What is the output of "launchctl list org.macosforge.xquartz.startx"
$ launchctl list org.macosforge.xquartz.startx { "Label" = "org.macosforge.xquartz.startx"; "LimitLoadToSessionType" = "Background"; "OnDemand" = true; "LastExitStatus" = 0; "TimeOut" = 30; "ProgramArguments" = ( "/opt/X11/bin/startx"; ); "EnableTransactions" = true; "TransactionCount" = -1; "Sockets" = { "org.macosforge.xquartz:0" = ( file-descriptor-object; ); }; };
<snip/>
(There is no critter named /tmp/.X11-unix (shown via ls -al) presently on my system. The /tmp dir itself does have root:wheel ownership with "drwxrwxrwt" flags.)
It should be created by /Library/LaunchDaemons/org.macosforge.xquartz.privileged_startx.plist
What is the output of "sudo launchctl list org.macosforge.xquartz.privileged_startx"
$ sudo launchctl list org.macosforge.xquartz.privileged_startx Password: { "Label" = "org.macosforge.xquartz.privileged_startx"; "LimitLoadToSessionType" = "System"; "OnDemand" = true; "LastExitStatus" = 0; "TimeOut" = 120; "ProgramArguments" = ( "/opt/X11/lib/X11/xinit/privileged_startx"; "-d"; "/opt/X11/lib/X11/xinit/privileged_startx.d"; ); "EnableTransactions" = true; "TransactionCount" = -1; "MachServices" = { "org.macosforge.xquartz.privileged_startx" = mach-port-object; }; };
[…]
During these lists, none of the X (sub)tasks are running now.
BTW I dug a bit and found: $ ls -al /tmp/launch-34Cqdu total 0 drwx------ 2 scifi wheel 102 Apr 24 10:25 . drwxrwxrwt 11 root wheel 544 Apr 24 11:56 .. srwx------ 1 scifi wheel 0 Apr 24 10:25 org.macosforge.xquartz:0
so _something_ was trying to work right.
And I bet if you do 'export DISPLAY="/tmp/launch-34Cqdu/org.macosforge.xquartz:0"', it'll work as well...
Did you create a separate LaunchAgent for org.x.startx (like in /Library/LaunchAgents or ~/Library/LaunchAgents)? launchd should prefer /Library over /System/Library when determining the environment.
What is the output of:
ls -l {~,/System,}/Library/Launch*/org.*startx*
But the timestamps might tell something -- the "wrong" one might've been created during when we rebooted, 19-minutes earlier:
No. /tmp is cleared at boot.
$ ls -al /tmp/launch-s9kPWX total 0 drwx------ 2 scifi wheel 102 Apr 24 10:06 . drwxrwxrwt 11 root wheel 544 Apr 24 11:56 .. srwx------ 1 scifi wheel 0 Apr 24 10:06 org.x:0
Another BTW -- I don't have anything like ~/.x* critters either, nor in /etc . ;)
$ pwd /Users/scifi $ ls -l {~,/System,}/Library/Launch*/org.*startx* ls: cannot access /Users/scifi/Library/Launch*/org.*startx*: No such file or directory -rw-r--r-- 1 root wheel 627 Apr 24 10:12 /Library/LaunchAgents/org.macosforge.xquartz.startx.plist -rw-r--r-- 1 root wheel 696 Apr 24 10:12 /Library/LaunchDaemons/org.macosforge.xquartz.privileged_startx.plist -rw-r--r-- 1 root wheel 592 Apr 24 10:31 /System/Library/LaunchAgents/org.x.startx.plist -rw-r--r-- 1 root wheel 631 Jul 6 2009 /System/Library/LaunchDaemons/org.x.privileged_startx.plist I had tried to "disable" the Apple-provided entries (reason for its modified timestamp) but I can't remember if I had this marked during the reboot (this iMac machine is quite busy sometimes, many schedules going on): $ cat /System/Library/LaunchAgents/org.x.startx.plist <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Disabled</key> <true/> <key>Label</key> <string>org.x.startx</string> <key>ProgramArguments</key> <array> <string>/usr/X11/bin/startx</string> </array> <key>Sockets</key> <dict> <key>org.x:0</key> <dict> <key>SecureSocketWithKey</key> <string>DISPLAY</string> </dict> </dict> <key>ServiceIPC</key> <true/> <key>EnableTransactions</key> <true/> </dict> </plist> But I didn't know about the other plist, it is still the original file and timestamp: $ cat /System/Library/LaunchDaemons/org.x.privileged_startx.plist <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>org.x.privileged_startx</string> <key>ProgramArguments</key> <array> <string>/usr/X11/lib/X11/xinit/privileged_startx</string> <string>-d</string> <string>/usr/X11/lib/X11/xinit/privileged_startx.d</string> </array> <key>MachServices</key> <dict> <key>org.x.privileged_startx</key> <true/> </dict> <key>TimeOut</key> <integer>120</integer> <key>EnableTransactions</key> <true/> </dict> </plist> $ _ I have some ideas to try, now. I'll also try the "forced" spelling for DISPLAY as you indicated, for the X-app-user's shell, if needed. But how do we "force" the launchd/launchctl change at _that_ level for DISPLAY? (Review my first email in this thread, please.) It seems a user cannot alter that particular env-var with a simple launchctl line, yes I have tried several different ways (unsetenv included). See, _that_ is the level seen by the Xquartz start-up system, IIUC, and is the crux of this problem -- in essence, my system has the "misspelled" DISPLAY string at this level, which affects the start-up of Xquartz & company, and I *cannot* change it prior to *re*-starting Xquartz.app. The only thing I can think of, is to be sure the X-related Apple plists are actually "disabled", while the Xquartz plists are the only ones "active". (irregardless of your "placement" scheme, see) Even if I must "move away" the Apple plists, I want to be sure the Xquartz ones are left. Then I'll reboot to be sure the correct ones are loaded, etc etc etc. ;) All this is a hunch of mine, now. ;) (I have EyeTV running, it is busy recording now, its schedule is open in a few hours.) Thank you again.