Is there a way to refresh capabilities("X11") without restarting R such that it reflects the enabling/disabling of X11?
BACKGROUND: If I launch R with X11 server disabled (e.g. ssh -X / ssh -Y to remote Linux but forgot to enable Xming on local Windows), then I get: > capabilities("X11") X11 FALSE > x11() Error in .External2(C_X11, d$display, d$width, d$height, d$pointsize, : unable to start device X11cairo In addition: Warning message: In x11() : unable to open connection to X11 display '' So far so good. However, if I then enable the X11 server (e.g. start Xming on Windows), I still get: > capabilities("X11") X11 FALSE but > x11() successfully opens an X11 plot window. In other words, the value of capabilities("X11") is not reflecting the availability of X11; from ?capabilities: X11: Are the 'X11' graphics device and the X11-based data editor available? This loads the X11 module if not already loaded, and checks that the default display can be contacted unless a 'X11' device has already been used. Not sure what that last "...unless a 'X11' device has already been used" actually means here; is it a disclaimer for the above behavior? If I restart R, the I get: > capabilities("X11") X11 TRUE I came up with the following approach that launches another R session querying the availability of X11: capabilitiesX11 <- function() { bin <- file.path(R.home("bin"), "Rscript") cmd <- "cat(capabilities('X11'))" value <- system2(bin, args=c("-e", dQuote(cmd)), stdout=TRUE) as.logical(value) } > capabilitiesX11() [1] TRUE but it's certainly feels like a hack. Is there a way to force a refresh of capabilities("X11") without restarting R? BTW, the description of ?capabilities says: "Report on the optional features which have been compiled into this build of R." The "compiled into this build" part seems too specific; the above shows that capabilities() also reflects run-time availabilities. Other "properties" does this as well. Thanks, Henrik ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel