R 中的错​​误:无法打开与 X11 的连接

Jóh*_*ann 13 command-line x11

我刚刚在我的计算机上设置了一个 Fedora 发行版,并且正在慢慢尝试学习如何从命令行工作。我正在测试R,一切顺利,但由于某种原因,当我再次尝试时,我突然似乎无法绘制绘图。我收到错误:

> x = 1:5
> y = x^2
> plot(x,y)
No protocol specified
Error in X11(d$display, d$width, d$height, d$pointsize, d$gamma, d$colortype,  : 
  unable to start device X11cairo
In addition: Warning message:
In function (display = "", width, height, pointsize, gamma, bg,  :
  unable to open connection to X11 display ''
Run Code Online (Sandbox Code Playgroud)

当我检查功能时,我看到的X11FALSE

> capabilities()
No protocol specified
    jpeg      png     tiff    tcltk      X11     aqua http/ftp  sockets 
    TRUE     TRUE     TRUE     TRUE    FALSE    FALSE     TRUE     TRUE 
  libxml     fifo   cledit    iconv      NLS  profmem    cairo 
    TRUE     TRUE     TRUE     TRUE     TRUE    FALSE     TRUE 
Run Code Online (Sandbox Code Playgroud)

虽然我不知道这些是否已连接,但似乎 X11 应该打开?

在通过 ssh 连接工作时,我到处搜索这个人似乎都遇到了这个问题(我还没有看看那到底是什么:$)。

我希望知道这个问题的人能很好地向我解释这个问题并提出解决方案。

Kar*_*son 8

其他地方有许多与开罗包相关的线程。

其中之一 提到了 X11 类型的变化,但大多数人表示 R 不知道显示器是什么,并建议这样做:

Sys.setenv("DISPLAY"=":0.0")
Run Code Online (Sandbox Code Playgroud)

或者,在旧系统上,

Sys.putenv("DISPLAY"=":0.0")
Run Code Online (Sandbox Code Playgroud)

  • 不幸的是,这个解决方案或另一个线程中提到的解决方案似乎都没有解决这个问题。:/ 我的包还坚持要我使用 Sys.setenv 而不是 putenv .. 不知道 hte new 命令是否不同? (5认同)
  • `Sys.putenv` 被弃用,取而代之的是 `Sys.setenv` (3认同)