jak*_*115 6 linux png unix r x11-forwarding
我试图让 R 在 UNIX 中做一些非常基本的绘图等,但是我收到了一个与 X11 相关的奇怪错误,据我所知,我什至不需要 X11。
我有一个矩阵名称d
,想保存该矩阵的热图图像,而无需实际显示图像(因为我不想使用 X11)。这是我的代码:
png(file="my_image.png")
heatmap(d)
dev.off()
Run Code Online (Sandbox Code Playgroud)
问题是我收到以下错误:
Error in X11(paste("png::", filename, sep = ""), g$width, g$height, pointsize, :
unable to start device PNG
Run Code Online (Sandbox Code Playgroud)
另外: 警告信息:
In png(file = "interative_hen.png") :
unable to open connection to X11 display ''
Run Code Online (Sandbox Code Playgroud)
我不知道这种情况正在发生,因为我不知道 R 是如何需要 X11 的,即使它需要 X11,X11 也已安装并为我测试过的每个应用程序正常工作。
首先,检查R
您使用的版本是否具有 PNG 功能。您可以通过从提示符调用该capabilities()
函数来完成此操作R
。它应该打印出类似于以下内容的列表:
> capabilities()
jpeg png tiff tcltk X11 aqua http/ftp sockets
FALSE FALSE FALSE TRUE FALSE FALSE TRUE TRUE
libxml fifo cledit iconv NLS profmem cairo
TRUE TRUE TRUE TRUE TRUE FALSE FALSE
Run Code Online (Sandbox Code Playgroud)
如果您看到FALSE
下面的内容png
,那么您需要R
使用显式 PNG 支持手动重新编译。只要您安装了必要的构建依赖项,构建过程就会自动启用 PNG 功能。
最后,假设集群上没有运行本地 X 服务器,您的 SSH 客户端可能未正确配置 - 具体来说,请确保您已启用 X11 转发(如果您使用的是类似 UNIX 的工具,请使用-X
或标志)。或者,您可以尝试使用虚拟帧缓冲区。-Y
ssh
有关详细信息,请参阅此堆栈溢出问题:如何在没有 X11 的服务器上运行 R,并避免损坏的依赖项。
归档时间: |
|
查看次数: |
12796 次 |
最近记录: |