繁体   English   中英

X11 在 R 中不可用

[英]X11 is not available in R

问题

我正在执行一些代码并收到与 X11 相关的错误。 为了重现我的错误,我运行了 x11() 并得到了以下信息:

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

我肯定已经在 R 中绘制了加载 XQuartz 程序以显示的内容。

我试过的

  • 我做了?x11()并看到它来自{grDevices} package。我加载了那个库,再次尝试,但得到了同样的错误。 我读到 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

谷歌研究

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

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()

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

如果你是在Ubuntu,你可以安装虚拟帧缓存的X11服务器喜欢这里说

apt-get install xvfb xauth xfonts-base

现在,您已经安装了X虚拟帧缓存,您可以像启动一个新的实例在这里说

Xvfb :0 -ac -screen 0 1960x2000x24 &

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

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

我也遇到了同样的问题,并且与Rstudio分开安装了R。 您可以从此处下载它,并使用x11()验证x11是否正常工作

您需要从 cran(不是 Homebrew)下载 R。 这样做之后, X11将出现在capabilities()

在此处输入图片说明

如果您在 R 4.2.2 中编译 R 我意识到正常编译不会使用 x11 功能构建它。 您必须在./configure期间通过添加--with-x=yes来指定它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM