参考 Anaconda 官方文档《Using R language with Anaconda》安装 R-4.0.2:

  1. conda create -n r-4.0.2 r-essentials r-base==4.0.2

1. unable to open connection to X11 display

  1. > plot(1:10)
  2. Error in .External2(C_X11, d$display, d$width, d$height, d$pointsize, :
  3. unable to start device X11cairo
  4. In addition: Warning message:
  5. In (function (display = "", width, height, pointsize, gamma, bg, :
  6. unable to open connection to X11 display ''
  7. > capabilities()
  8. jpeg png tiff tcltk X11 aqua
  9. TRUE TRUE TRUE TRUE FALSE FALSE
  10. http/ftp sockets libxml fifo cledit iconv
  11. TRUE TRUE TRUE TRUE TRUE TRUE
  12. NLS profmem cairo ICU long.double libcurl
  13. TRUE TRUE TRUE TRUE TRUE TRUE
  14. > Sys.getenv(c("DISPLAY"))
  15. [1] "localhost:22.0"
  16. >
  17. > options(bitmapType='cairo')
  18. > png(file="test.png", width = 480, height = 480)
  19. > plot(1:10)
  20. > dev.off()
  21. png
  22. 2

image.png

2. 命令行下 R 画图无法弹出图形界面结果

正常情况下,capabilities() 如果现实 X11 为 TRUE,执行 plot(1:10) 时会在 windows 下弹出一个绘图的结果图形界面。
xshell-4-x11.png

如果你的 capabilities() 如果现实 X11 为 FALSE,需要进行如下操作。

首先,使用 root 安装下面一些 X11 依赖:

  1. yum install xorg-x11-* libX11-* libXt-*

其次,在你的 XShell 中配置 X11 转发功能。如果你用的是 MobaXterm,则跳过这一步设置。
xshell-x11.png