R中没有X11

时间:2016-04-24 04:36:14

标签: r x11

问题

我跟随一些代码并获得与X11相关的错误。为了重新创建我的错误,我运行了x11()并获得了以下内容:

> x11()
Error in x11() : X11 is not available

我确实在R中绘制了加载XQuartz程序以显示的东西。

我尝试了什么

  • 我做了?x11(),发现它来自{grDevices}包。我加载了该库,再次尝试,但得到了同样的错误。我读到X11与XQuartz有关。
  • 我重新安装了XQuartz 2.7.8。我有R 3.2.3并且正在运行OSX El Capitan版本10.11.4(15E65)。重新安装后我重新启动了两次。
  • install.packages("Cairo")

    > x11( width=3, height=3) Error in x11(width = 3, height = 3) : X11 is not available

    > Sys.getenv("DISPLAY") [1] "/private/tmp/com.apple.launchd.F1bsaVCA43/org.macosforge.xquartz:0"

    > capabilities() jpeg png tiff tcltk X11 aqua http/ftp TRUE TRUE TRUE TRUE FALSE TRUE TRUE sockets libxml fifo cledit iconv NLS profmem TRUE TRUE TRUE TRUE TRUE TRUE TRUE cairo ICU long.double libcurl TRUE TRUE TRUE TRUE

- Google研究

我使用我的错误消息搜索并搜索了我的结果的前两页,但没有找到任何有效的解决方案。基于我对解决方案的细读,我提供了上面的系统信息,因为它似乎在某种程度上是相关的。任何想法/解决方案/新线索将不胜感激。

3 个答案:

答案 0 :(得分:3)

XQuartz包是Mac X11,您的版本是当前版本。我想知道你是否需要在安装后重新启动,虽然我没有声称知道这一点。 (并且修复权限可能没什么坏处。)在我的Mac上(在El Cap上运行3.3.0)我需要设置宽度和高度(以英寸为单位,而不是像素或点数);

 x11( width=3, height=3)

你得到了什么:

Sys.getenv("DISPLAY")

可能有以下几点:

"/private/tmp/com.apple.launchd.KImNTikz8K/org.macosforge.xquartz:0"

同时运行:

capabilities()

答案 1 :(得分:1)

您必须拥有本地X服务器,因此请使用XQuartz,因为您使用的是MacOS。

如果您使用的是Ubuntu,则可以安装虚拟帧缓冲X11服务器,如said here

apt-get install xvfb xauth xfonts-base

现在您已安装X虚拟帧缓冲区,您可以启动said here之类的新实例:

Xvfb :0 -ac -screen 0 1960x2000x24 &

然后,如果您的R使用with-x配置选项进行编译(默认情况下已启用),则应具有X11功能,您只需在R中声明:

Sys.setenv("DISPLAY"=":0")

答案 2 :(得分:0)

我有同样的问题,并且从Rstudio单独安装R修复了它。您可以从here下载它,并使用x11()

验证x11是否正常工作