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
如果你设置它会有帮助option(bitmapType = 'cairo')
吗?我一直怀疑R如何使用.Call(C_cairoProps, 2L)
in 选择位图设备类型grDevices:::.onLoad()
(这可能是一个错误,但我不能肯定地说).
如果测试失败,该选项可以bitmapType
回退,因此会给您一个神秘的错误消息.请注意以下参数:Xlib
cairo
X11
type
png()
> 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
.