Rのエラー:X11への接続を開くことができません


9

私は自分のコンピューターに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 ''

そして私がそれを見る能力をチェックする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 

それらが接続されているかどうかはわかりませんが、X11がオンになっているはずです。

ssh接続を介して作業しているとき、私がこの場所を検索したすべての場所でこの問題が発生しているように見えました(まだ正確に:$を調べていません)。

この問題が何であるかを知っている誰かが私に問題を説明して解決策を提案するのにとても良い人であるかもしれないと思います。


1
Rを開始する前に、次の出力を投稿できますecho $DISPLAY
Karlson

このコマンドは、利回り':0'
ヨハン

1
RからはどうですかSys.getenv("DISPLAY")
カールソン

うーん、これはbash: syntax error near unexpected token "DISPLAY" だけを与えます'`
ヨハン

これを行う:Sys.getenv(DISPLAY)またはこれを行う:Sys.getenv('DISPLAY')またはSys.getenv(c("DISPLAY"))
Karlson

回答:


6

Cairoパッケージに関連するスレッドは他にもたくさんあります。

それらの1つは X11型の変更に言及ていますが、それらのほとんどは、Rがディスプレイが何であるかを知らず、実行することを提案していると述べています。

Sys.setenv("DISPLAY"=":0.0")

または、古いシステムでは、

Sys.putenv("DISPLAY"=":0.0")

5
残念ながら、この解決策も、他のスレッドで言及されている解決策も、これを修正していないようです。:/私のパッケージもputenvの代わりにSys.setenvを使用していると主張しています。新しいコマンドが異なるかどうかわかりませんか?
ヨハン

3
Sys.putenvの代わりに廃止予定Sys.setenv
カールソン

1
これは、次にこれを使用しようとしたときに機能しました:)。前回のセッションで奇妙
ヨハン

1

ローカルXサーバーがない場合は、次のように仮想フレームバッファーX11サーバーをインストールできます

apt-get install xvfb xauth xfonts-base

次に、次のように新しいインスタンスを開始できます

Xvfb :0 -ac -screen 0 1960x2000x24 &

次に、Rがwith-x構成オプション(デフォルトで有効)でコンパイルされている場合、X11機能が必要です。これをRで宣言するだけです。

Sys.setenv("DISPLAY"=":0")
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.