How to run R on a server without X11, and avoid broken dependencies
Use the virtual framebuffer X11 server -- we do the same to build packages requiring X11 for R builds in headless chroots. Taking e.g. pars of the Build-Depends from rggobi
:
xvfb xauth xfonts-base
After installing these you can use the xvfb-run
command. If you start R via e.g.
xvfb-run R --no-save
you should now be able to use routines and commands requiring X11 as e.g. some of the plotting devices, or the tcl/tk initialization which also insists on having X11.
The same trick is useful for web servers.
Dirk's suggestion indeed works well, if you have control over the server & can run xvfb.If not, read on...
in newer versions of R (>= 2.10 & maybe earlier), this is no longer an error, it's a warning:
> library(tcltk)Loading Tcl/Tk interface ... doneWarning message:In fun(libname, pkgname) : no DISPLAY variable so Tk is not available
You can now suppress this warning, and the subsequent package loading message via:
> suppressPackageStartupMessages(suppressWarnings(library(tcltk)))
Often you will see this message due to loading a package like qvalue
which depends on tcltk
; if you're after silent operation, you should silently load tcltk first, then the package of interest:
> suppressPackageStartupMessages(suppressWarnings(library(tcltk)))> library(qvalue)
Mark
resurrected due to: http://dev.list.galaxyproject.org/wrapping-qvalue-in-Galaxy-td4655164.html