XForwarded サーバーで Sudo と Gedit の使用が失敗します。

XForwarded サーバーで Sudo と Gedit の使用が失敗します。

centosサーバーとUbuntuホストの両方にgeditがインストールされています。サーバーへのルートログインはブロックされ、ユーザーだけがrsaキーを介してSSHを介してログインできます。

サーバーにログインするとき- Xパラメータとして提供されたら、geditを使用できます。たとえば、
gedit filename.txt &
ファイルは編集して保存できるように gedit で開きます。しかし、ファイルを編集するためにsudoを実行すると、次のエラーが発生します。

sudo gedit filename.txt &

[1] 11039
[user@server ~]$ X11 connection rejected because of wrong authentication.

** (gedit:11040): WARNING **: Could not open X display
X11 connection rejected because of wrong authentication.
X11 connection rejected because of wrong authentication.
X11 connection rejected because of wrong authentication.

(gedit:11040): Gtk-WARNING **: cannot open display: localhost:10.0

[1]+  Exit 1                  sudo gedit filename.txt

この状況でGeditをどのように使用できますか?

ベストアンサー1

代わりにこのコマンドを使用できますsudoedit

EDITOR=gedit sudoedit filename.txt

それがするのは、ファイルのコピーを取得し、あなたがしたようにエディタを実行し、ファイルが変更されたことを検出したら結果を再コピーすることです。

ほとんどの場合、同じ効果はありますが、sudo gedit filename.txt権限のない方法でエディタを実行するため、X転送は引き続き機能します。

おすすめ記事