On Sat, Nov 15, 2008 at 4:54 PM, Stephen_McCamant via RT
<bug-X11-Protocol@rt.cpan.org> wrote:
Show quoted text> <URL:
http://rt.cpan.org/Ticket/Display.html?id=40841 >
>
> Thanks for the report; this is the right place to send it.
>
> It looks like Apple has extended the format of the DISPLAY variable in
> order to support automatically launching the server, and X11::Protocol
> doesn't understand the new format. For normal C X applications, this
> works automatically because they updated Xlib to match, but
> X11::Protocol is an independent implementation, so will need an
> independent fix.
>
> As someone else in one of those discussions suggested, you can work
> around the problem by manually setting the DISPLAY variable to an older
> format that X11::Protocol already understands.
>
> From looking at a patch that fixes this issue in OpenSSH, it looks like
> this "launch" display is like a standard Unix-domain socket connection,
> just in a non-standard location. What's going wrong at the moment is
> that X11::Protocol only recognizes "" and "unix" as Unix-domain sockets;
> instead, it's assuming it's a TCP/IP hostname, which obviously isn't
> going to work.
>
> I'm guessing that the fix, to right around the place where the error is
> being reported and Protocol::Connection::UNIX*, is to recognize this
> format as being a Unix socket, and then to translate it into the right
> location. Two useful pieces of information, if you can get them easily,
> would be if there's any official documentation on this new format (the
> old ones are described in the X(1) manpage, at least on my Linux
> system), and if you can confirm the actual location of the socket in
> question (it should show up like a file, but with type "s" in "ls -l").
> I don't have a Mac, so it will also be useful if you can test a fix.
>
> Thanks,
>
> -- Stephen
Here's the information you asked for.
1) "..documentation on this new format":
See the answer from Jeremy Huddleston (Apple X11 guy) quoted at the
bottom of this message.
2) Confirmation of the actual location of the socket in question:
$ echo $DISPLAY
/tmp/launch-V54bVk/:0
$ ls -l /tmp/launch-V54bVk
total 0
srwx------ 1 nathan wheel 0 Nov 16 00:40 :0
3) Of course I'd be happy to test it! Also, if you join the x11-users
mailing list at lists.apple.com, I'm sure many of the people on that
list would also be happy to test it.
~ Nathan
On Sun, Nov 16, 2008 at 11:54 AM, Jeremy Huddleston <jeremyhu@apple.com> wrote:
Show quoted text> Here are the patches for libxcb and libX11 as reference:
>
>
http://gitweb.freedesktop.org/?p=xorg/lib/libX11.git;a=commitdiff;h=e8d4cefa0837afa149a10e981528b368485a9e38
>
> I don't think the format is in the xorg-docs... I'll check that out... but
> it's straight forward... if DISPLAY starts with the string "/tmp/launch",
> then treat it as the path to the unix socket to use.
>
> On Nov 16, 2008, at 10:21, Nathan wrote:
>
>> On Sat, Nov 15, 2008 at 4:54 PM, Stephen_McCamant via RT
>> Could someone help me with where to point Stephen to "official
>> documentation on this new format" of the DISPLAY variable?
>> X11::Protocol needs to be updated to support the launchd format of
>> DISPLAY so that it works on OS X.