回答:
sudoを使用すると状況が少し複雑になり、いくつかの追加手順が必要になります。
/ etc / ssh / sshd_configを他の人が言及したようにセットアップした場合
X11Forwarding yes
次に、user2としてボックスにssh'nします
$ ssh -YC remote.example.com
user2としてリモートXアプリを実行できるはずです。多くのXベースのシステムでこれをテストする簡単な方法は、実行することです
$ xlogo
firefoxは同様に動作しますが、firefoxのようなものに比べて非常に軽量です。
Xがリモートssh接続を介してuser2として動作していることが確認できたら、user1のsudoで動作させることができます。問題は、user1にsudoを実行すると、リモートXフォワーディングを使用する権限が失われることです。これを回避するには、まずuser2としてログイン後に次の操作を行います
$ echo $DISPLAY
localhost:17.0
$ xauth list
<snip>
carlisle/unix:17 MIT-MAGIC-COOKIE-1 161bda5fc81200a4e74e578009177fb8
同じディスプレイ番号を含む行が表示されるはずです。この例では17です。xauthリストの出力で一致する番号を検索する必要があります。次に、user1にsudoを実行し、xauth addコマンドを実行して、上記に一致したauth行を追加します
$ sudo su - user1
$ xauth add carlisle/unix:17 MIT-MAGIC-COOKIE-1 161bda5fc81200a4e74e578009177fb8
これで、必要なアプリを実行できるようになります。
$ xlogo # or any X app such as firefox
〜user2 / .Xauthorityをロックできないというエラーが発生した場合、sudoを使用してuser1に切り替える前に、そのファイルのアクセス許可を調整する必要があります。厳密には安全ではありませんが、テストするために、そのファイルでファイル許可をchmod 666に設定できます。