问题
我跟随一些代码并获得与X11相关的错误。为了重新创建我的错误,我运行了x11()并获得了以下内容:
> x11()
Error in x11() : X11 is not available
我确实在R中绘制了加载XQuartz程序以显示的东西。
我尝试了什么
?x11()
,发现它来自{grDevices}
包。我加载了该库,再次尝试,但得到了同样的错误。我读到X11与XQuartz有关。 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研究
我使用我的错误消息搜索并搜索了我的结果的前两页,但没有找到任何有效的解决方案。基于我对解决方案的细读,我提供了上面的系统信息,因为它似乎在某种程度上是相关的。任何想法/解决方案/新线索将不胜感激。
答案 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是否正常工作