X11アプリケーションをrootとして実行中にエラーが発生しました。

X11アプリケーションをrootとして実行中にエラーが発生しました。

アプリケーションをrootとして実行すると、奇妙なエラーが発生します。

**(gedit:630): WARNING **: could not open X display
No protocol specified
Unable to init server

(gedit:630): Gtk-WARNING **: Cannot open display: :0.0

私はアーチLinuxを使用しています。私はsu -rootとしてログインしました。 Xサーバーを実行すると、このエラーが発生します。また、コピーすると.Xauthorityエラー/root/なく動作します。

答え1

現在の問題の状態は不明です。

ディスプレイをエクスポートする必要があると思います。

export DISPLAY='IP:0.0'

回答を見るここ

サーバーのsshd_config(通常)を確認し、次の行を使用してオプションが有効になっていることを/etc/ssh/sshd_config確認してください。X11Forwarding

X11Forwarding yes

指定しない場合、X11Forwardingデフォルトは no です。

答え2

実行すると、su -ほぼすべての環境変数が削除されます。 GUIアプリケーションには、GUI環境に接続する方法を知るために2つの環境変数がDISPLAY必要ですXAUTHORITY。バラよりリモートXモニターでウィンドウを開く(「モニターを開けません」理由)?より詳細な説明が必要です。順序su -は維持されますが、DISPLAY維持されませんXAUTHORITY。したがって、GUIアプリケーションは接続する場所を知っていますが、必要なパスワード(「Cookie」)はありません。

rootとしてログインする必要はありません。ほとんどの環境変数を変更せずにプログラムを実行してください。su代わりにrunを使用してくださいsu -

複雑なことをしたい場合は、この記事を読んでください。他のユーザーのデスクトップからrootとしてグラフィカルプログラムを起動できますか?

関連情報