デスクトップ環境がインストールされ、実行中のDebian 10システムがあります。ターミナルを開き、コマンドラインからGUIアプリケーション(geditなど)を実行しようとすると、次のメッセージで開かれません。
# gedit
Unable to init server: Could not connect: Connection refused
(gedit:3575): Gtk-WARNING **: 12:26:48.311: cannot open display:
これはルートだけでなく、すべてのユーザーに発生します。
提案されているように、次のコマンドを実行してみましたが、役に立ちませんでした。
export DISPLAY=:0
export DISPLAY=:1
export DISPLAY=:2
export DISPLAY=:3
export DISPLAY=:4
export DISPLAY=:5
export DISPLAY=:6
xhost +
ここで何が起こっているのか知っている人はいますか?
編集する:
一般ユーザーとして実行すると、export DISPLAY=:0
一般ユーザーはコマンドラインからGUIプログラムを実行できますが、rootとして同じ操作を試みるたびに次のメッセージで失敗します。
No protocol specified
Unable to init server: Could not connect: Connection refused
No protocol specified
Unable to init server: Could not connect: Connection refused
No protocol specified
Unable to init server: Could not connect: Connection refused
(gedit:3609): Gtk-WARNING **: 12:33:16.307: cannot open display: :0
答え1
ディスプレイはユーザーのものです。したがって、他のユーザーが画像を描画できるようにする(プリンタとして扱う)権限を付与する必要があります。
これを行うにはいくつかの方法がありますが、おそらく最も簡単な方法はグラフィックターミナルを開き、次を実行することです。
$ xhost +
これにより、他のユーザーがサーバーに接続できるようになります。
その後、他のユーザーから実行できます。
$ export DISPLAY=:0
次のような別のディスプレイがあります。 1...
これらの2つの手順を回避するには、ssh
他のユーザーに-Xフラグ(前面に表示)を使用できます。
$ ssh -X -l other_user localhost
答え2
コマンド-E
の後にスイッチを追加しました。sudo
たとえば、
sudo -E gedit /etc/apt/sources.list