tag 572719 + unreproducible thanks On Fri, 05 Mar 2010 22:03:31 +0000, Chmouel Boudjnah wrote:
> When launching any application that use the libx11-protocol-x11 the program > does not start trying to find the X server. Example : > > doc/libx11-protocol-perl/examples$ perl wintree.pl > > Can't connect to display `unix:0': No such file or directory at > /usr/share/perl5/X11/Protocol.pm line 2264 Works fine here: gre...@belanna:~$ perl /usr/share/doc/libx11-protocol-perl/examples/wintree.pl -fe-+-(3)1 |-(6)4 |-(docker:8)2 |-(docker:8)3 |-(<unknown>:16)1`<unknown>'---2 |-(xterm:d)38 |-(<unknown>:16)293b`Critical Notification'---293c |-(firefox-bin:2)1`firefox-bin'---2 |-(firefox-bin:2)52-+-53 [...] What happens if you run for example `DISPLAY=unix:0 xeyes' (or any other small X application)? Looking at the code, X11::Protocol does require 'X11/Protocol/Connection/UNIXSocket.pm'; $conn = X11::Protocol::Connection::UNIXSocket ->open($host, $dispnum); and X11::Protocol::Connection::UNIXSocket does my($host, $dispnum) = @_; my($sock) = IO::Socket::UNIX->new('Type' => SOCK_STREAM(), 'Peer' => "/tmp/.X11-unix/X$dispnum"); croak "Can't connect to display `unix:$dispnum': $!" unless $sock; so that's the error you get. $dispnum comes from X11::Protocol: if ($main::ENV{'DISPLAY'}) { $display = $main::ENV{'DISPLAY'}; } else { carp "Can't find DISPLAY -- guessing `$Default_Display:0'"; $display = "$Default_Display:0"; } Since you don't get this "Can't find DISPLAY" warning, I assume that $DISPLAY is set in your environment. Which maybe leads us to /tmp/.X11-unix/X$dispnum in X11::Protocol::Connection::UNIXSocket Could you please send to output of $ echo $DISPLAY $ ls -l /tmp/.X11-unix/ Cheers, gregor -- .''`. http://info.comodo.priv.at/ -- GPG Key IDs: 0x8649AA06, 0x00F3CFE4 : :' : Debian GNU/Linux user, admin, & developer - http://www.debian.org/ `. `' Member of VIBE!AT & SPI, fellow of Free Software Foundation Europe `- NP: Hair: Age of Aquarius
signature.asc
Description: Digital signature