NetBSDのxsrcのfontconfigが新しくならないので、最近は、X11_TYPE=modular
でpkgsrcを使っている。つまり、pkgsrcからX.orgをインストールしている。
そうやって生活していく中で、自分のNetBSDマシンのX serverにリモートマシンのXアプリケーションのウィンドウを表示させようとした場合に、
これまでやったことのない設定が必要だったので書いておく。
そもそもOpenSSHというのはいやに奥が深くて、全く分かったような気にならない。
よくあるX11フォワーディングの際の設定というのは、リモートマシンがmodular X.orgの/etc/ssh/sshd_config
に以下のように記述することである。
X11Forwarding yes
XAuthLocation /usr/pkg/bin/xauth
今回問題になったのは、X server側、つまり手元のマシンの設定である。リモートマシンをmodular X.orgにしたことは何度もあったのだが、手元のマシンをmodular X.orgにしたのは 経験がなかった。
このような場合には、手元のマシンの/etc/ssh/ssh_config
ファイルに以下のような設定が必要になる。
XAuthLocation /usr/pkg/bin/xauth
こうしないと、ssh -Yvvv remotehostname
を実行した場合に、以下のような表示になってしまう。
debug1: No xauth program.
Warning: No xauth data; using fake authentication data for X11 forwarding.
debug1: Requesting X11 forwarding with authentication spoofing.
そして、
$ echo $DISPLAY
localhost:11.0
のように表示されているのに、
$ xhost
Invalid MIT-MAGIC-COOKIE-1 keyxhost: unable to open display "localhost:11.0"
のように表示されてしまう。