无法显示png

use*_*097 8 x11 r xserver shiny

我在VM(Red Hat Enterprise Linux Server 6.4版)上运行R-shiny(R版本3.0.1(2013-05-16)).一切正常,即服务器启动,应用程序运行等...只要我不尝试绘制图形

renderPlot
Run Code Online (Sandbox Code Playgroud)

然后我在主面板上看到一条消息[错误:无法启动设备png].我会发布我的整个代码,但我认为这个问题与渲染图有关,因为当我使用renderText并吐出一些数据时它工作得很好.

实际上当我只在RI中输入png()时会出现此错误[.External2中的错误(C_X11,粘贴("png ::",文件名,sep =""),g $ width,:无法启动设备PNG另外:警告信息:在png():无法打开到X11显示器的连接'']当然如果我通过ssh -X转发到我的mac,我可以输入png()没问题和绘图数据等...

- 还有一些事情需要注意,当我键入capabilties()时,我发现唯一不对的是jpeg,tiff,X11,aqua和profmem(所以png和cairo都是True)

- 我从源代码构建R之前安装了libpng,cairo和libX11,libX11-devel,libXt,libXt-devel

我猜我的问题是我需要运行X服务器.此外,DISPLAY变量为null.

所以,我想当它归结为它我的问题是......假设我的逻辑是正确的.

1)我是否需要运行/启动X服务器[当前它因某些原因启动后终止]或者我可以设置DISPLAY变量吗?

2)如果我可以设置我的DISPLAY变量我应该将它设置为什么(localhost:0.0没有工作)

显然,如果有什么我错过了这些问题可能是无关紧要的.

提前谢谢,抱歉漫无目的,想要彻底.

PJ

Yih*_*Xie 9

如果你设置它会有帮助option(bitmapType = 'cairo')吗?我一直怀疑R如何使用.Call(C_cairoProps, 2L)in 选择位图设备类型grDevices:::.onLoad()(这可能是一个错误,但我不能肯定地说).

如果测试失败,该选项可以bitmapType回退,因此会给您一个神秘的错误消息.请注意以下参数:XlibcairoX11typepng()

> args(png)
function (filename = "Rplot%03d.png", width = 480, height = 480, 
    units = "px", pointsize = 12, bg = "white", res = NA, ..., 
    type = c("cairo", "cairo-png", "Xlib", "quartz"), antialias) 
Run Code Online (Sandbox Code Playgroud)

此参数的默认值是getOption('bitmapType'),在您的情况下,它是Xlib由于测试grDevices:::.onLoad().如果你100%确定cairo有效,你可以改变这个选项,比如说~/.Rprofile.

  • Yihu,我的同事(Linux服务器管理员)用cairo重新编译了R-3.0.1,现在一切都适用于`options(bitmapType ='cairo')`!谢谢 ! (3认同)