X11 错误消息在闪亮的服务器下但正常用户工作

X11 error message unter shiny server but normal user works

我在 运行 我的闪亮应用程序时遇到错误。它说

Warning in pngfun(filename = filename, width = width, height = height, res = res,  :
  unable to open connection to X11 display ''
Warning: Error in .External2: unable to start device PNG
  127: pngfun
  126: startPNG
  125: drawPlot
  111: <reactive:plotObj>
   95: drawReactive
   82: origRenderFunc
   81: output$GB
    1: runApp

我已经搜索了很多例子,但不知何故这有点新。 我设法以普通用户的身份获得了所有 运行ning 并检查了 capabilities()

> capabilities()
       jpeg         png        tiff       tcltk         X11        aqua 
       TRUE        TRUE        TRUE       FALSE        TRUE       FALSE 
   http/ftp     sockets      libxml        fifo      cledit       iconv 
       TRUE        TRUE        TRUE        TRUE        TRUE        TRUE 
        NLS     profmem       cairo         ICU long.double     libcurl 
       TRUE       FALSE        TRUE        TRUE        TRUE        TRUE 

但是,当我 su - shiny 功能更改为

> capabilities()
       jpeg         png        tiff       tcltk         X11        aqua 
       TRUE        TRUE        TRUE       FALSE       FALSE       FALSE 
   http/ftp     sockets      libxml        fifo      cledit       iconv 
       TRUE        TRUE        TRUE        TRUE        TRUE        TRUE 
        NLS     profmem       cairo         ICU long.double     libcurl 
       TRUE       FALSE        TRUE        TRUE        TRUE        TRUE 

所以 X11 看起来不支持我的闪亮用户,这可能是闪亮服务器中的问题? 我有一个 debian linux 系统,我猜一切都已安装,因为它以普通用户身份工作。但不确定如何检查以及可能遗漏的内容。

编辑

找到了一个 link 可能的解决方案,但我无法设置它:

https://support.rstudio.com/hc/en-us/articles/360019922654-Working-with-packages-that-require-X11-and-or-cairo-on-RStudio-Server-Pro

不确定如何以及为什么,但在我闪亮的应用程序中加载 Cairo 库后,问题现在消失了。