[Rd] x11(....) kills R without DISPLAY (PR#10379)

Peter Dalgaard p.dalgaard at biostat.ku.dk
Sat Oct 27 01:27:17 CEST 2007


brechbuehler at gmail.com wrote:
> Full_Name: Christian Brechbuehler
> Version: 2.4.1, 2.5.1, 
> OS: Ubuntu GNU/Linux
> Submission from: (NULL) (24.61.47.236)
>
>
> Context:
> 'X11' starts a graphics device driver on the display given by argument
> 'display'.
>
> Problem:
> If the environment variable DISPLAY is not set, the R process dies with exit
> status 1.
>
> Example (start R without DISPLAY from bash):
>   % DISPLAY= R
>   > x11("localhost:11.0")                        # this is my valid DISPLAY
>   Error: Couldn't find per display information
>   %
>
> History:
> This was reported before (e.g.,
> https://stat.ethz.ch/pipermail/ess-help/2006-April/003464.html), but search
> turns up no R Bug Report.
>
> Reportedly this problem was introduced between R 2.2.1 and R 2.3.0.  The
> following versions are affected:
>   R 2.4.1 (Patched), 2007-03-25, svn.rev 40917, x86_64-unknown-linux-gnu
>   R 2.5.1 (Patched), 2007-09-16, svn.rev 43071, x86_64-unknown-linux-gnu 
>   R 2.6.0 (Patched), 2007-10-16, svn.rev 43176, x86_64-unknown-linux-gnu 
>   R 2.6.0 (Patched), 2007-10-25, svn.rev 43271, x86_64-unknown-linux-gnu 
>   R 2.7.0 (Under development (unstable)), 2007-10-25, svn.rev 43273,
> x86_64-unknown-linux-gnu
>
>   
I see this on Fedora 7 too. I suspect that the earlier report was 
thought to be Mac specific.

> Further Observations:
>
> (A) If DISPLAY is set but not a valid X11 server, R dies equally.
>
> (B) If DISPLAY is set to an X11 server on which I don't have access, the x11
> call fails as follows:
> | Error in x11("localhost:11.0") : 
> |    X11 fatal IO error: please save work and shut down R
> |
> | Enter a frame number, or 0 to exit   
> | 
> | 1: x11("localhost:11.0")
> |
> | Selection:
> I.e., the R session survives.  But it is not possible to start an X11 graphics
> device driver.
>
> (C) If DISPLAY is set to an X11 server on which I have access, the x11 call
> succeeds, and it opens a window on the server named in the 'display' argument. 
> Nothing happens on DISPLAY, which is appropriate.
>
> My conjecture: R seems to first connect to the server given by the DISPLAY
> environment variable, performing no visible operations, before heeding the
> 'display' argument.
>
> (D) It is possible to swich between X11 servers (a.k.a. displays) on the fly by
> using graphics.off() followed by x11(my.new.display).
>
> When Googling, I found the error string "Couldn't find per display information"
> sometimes associated with the Xt library.
>
> I'd be happy to answer any questions that may help clarify the issue.
>
>   
(E) It appears that you have to use a valid display in the x11() call

 > x11(":1")
Error in X11(display, width, height, pointsize, if (is.null(gamma)) 1 
else gamma,  :
  unable to start device X11
In addition: Warning message:
In x11(":1") : unable to open connection to X11 display ':1'
 > x11(":0")
Error: Couldn't find per display information

> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>   


-- 
   O__  ---- Peter Dalgaard             Øster Farimagsgade 5, Entr.B
  c/ /'_ --- Dept. of Biostatistics     PO Box 2099, 1014 Cph. K
 (*) \(*) -- University of Copenhagen   Denmark          Ph:  (+45) 35327918
~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk)                  FAX: (+45) 35327907



More information about the R-devel mailing list