用的小型机之前没有安装X11,R语言无法生成png之类的图片,就联系了管理员让他安装,安装了之后还是出现下面的问题:
r$> png("1.png")
Error in .External2(C_X11, paste0("png::", filename), g$width, g$height, :
无法打开PNG设备
此外: Warning message:
In png("1.png") : 无法打开链结到X11显示''
r$> capabilities()
jpeg png tiff tcltk X11 aqua http/ftp sockets libxml fifo cledit iconv NLS
FALSE FALSE FALSE TRUE FALSE FALSE TRUE TRUE TRUE TRUE FALSE TRUE TRUE
Rprof profmem cairo ICU long.double libcurl
TRUE FALSE FALSE FALSE TRUE TRUE
这里能在文件夹中能找到1.png,但是是损坏的,dev.off()也还是不能打开。
检查了X11是否安装成功,发现也是存在的:
$ dpkg -l | grep xserver-xorg-core
ii xserver-xorg-core-hwe-18.04 2:1.20.8-2ubuntu2.2~18.04.5 amd64 Xorg X server - core server
R 里面看了下还是不行,包括我重新安装R也还是没用。
系统为了软件管理方便,用的environment module,不知道是不是这个原因? 用cairo应该能行,但我要X11是因为远程连接用jupyter或者vscode 连接生成图片包都需要X11。或许Rstudio server能解决这个问题,但问题在于Rstudio server 在服务器上使用的是默认环境下的R 3.4,不能切换到其他版本R,R3.4对我来说有点旧了。
所以想问一下有没有什么解决方法,或者有没有替代的远程连接的解决方案?
sessionInfo如下:
r$> sessionInfo()
R version 4.1.0 (2021-05-18)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 18.04.5 LTS
Matrix products: default
BLAS: /opt/app/languages/R-4.1.0/lib/R/lib/libRblas.so
LAPACK: /opt/app/languages/R-4.1.0/lib/R/lib/libRlapack.so
locale:
[1] LC_CTYPE=zh_CN.UTF-8 LC_NUMERIC=C LC_TIME=zh_CN.UTF-8 LC_COLLATE=zh_CN.UTF-8 LC_MONETARY=zh_CN.UTF-8
[6] LC_MESSAGES=zh_CN.UTF-8 LC_PAPER=zh_CN.UTF-8 LC_NAME=C LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=zh_CN.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
loaded via a namespace (and not attached):
[1] compiler_4.1.0