アプリケーションを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としてグラフィカルプログラムを起動できますか?