X11:sudoを呼び出すときにクライアントが認証されていません。

X11:sudoを呼び出すときにクライアントが認証されていません。

重複の可能性:
他のユーザーのデスクトップからrootとしてグラフィカルプログラムを起動できますか?

私は次のようなことをしようとしています。

$ sudo -u myuser DISPLAY=:1 xterm

ただし、次のエラーが発生します。

Client is not authorized to connect to Server

一方、私はこれを行うことができます:

$ sudo -u -i myuser
$ DISPLAY=:1 xterm

XサーバーがX11ベースのアプリケーションを別のユーザーとして直接実行することを許可していないのはなぜですか、それを明示的に許可する方法はありますか?

ベストアンサー1

他のユーザーがあなたのXサーバーに接続することを許可するということは、その人があなたの画面を見ることができ、あなたが入力したもの(パスワードなど)を見ることができ、あなたのアプリケーションを終了できることを意味します(あなたのアプリケーションへの接続を終了すると、あなたはログアウトします。

他のユーザーがXサーバーにアクセスできるようにするには、そのユーザーにサーバーアクセスコードを提供できます(出力を参照するか、xauth list "$DISPLAY"他のユーザーがローカルの場合は次のように実行します)。xhost +si:localuser:myuser

おすすめ記事