Mac から X11 forwarding を使用してLinux サーバの GUI アプリを表示する(Can't open display トラブルシュート編)

Mac から X11 forwarding を使用してLinux サーバの GUI アプリを表示する(Can't open display トラブルシュート編)

トラブルシュート編

概要

この設定の際になかなか悩まされたので、誰かの役に立てればと備忘録を残します。

何をしようとしていたかというと、
Mac(クライアント)からUbuntu(ホスト)にX11 forwardingを使用してSSH接続し、
ホスト側で実行したGUIアプリ(今回はxeyes)を、クライアント側の画面で表示させようとしていました。

現象

どうしても下記のエラーが出て接続できない。。。

$ xeyes 
Error: Can't open display: localhost:10.0

いろんなブログを参考にしながらいろんな設定をひたすら確認。。。
こちらのブログを見て順に設定を確認していた所、紹介されている出力とは明らかに違う項目を発見

$ xauth list
xauth:  /home/tkc/.Xauthority not writable, changes will be ignored

どうも .Xauthority というファイルがおかしい?という事に気付きました。
よくよく見ると、ログインメッセージに以下のようなエラーも出ていました。

/usr/bin/xauth:  /home/tkc/.Xauthority not writable, changes will be ignored
/usr/bin/xauth:  /home/tkc/.Xauthority not writable, changes ignored

原因と対処

このブログや、このフォーラムを見て対処できました。(ここまで約2週間。。。)

$ ssh -X xxx@yyy
$ ls -la ~/ | grep Xauth*
drwxr-xr-x  2 root root  4096  6月 22 00:13 .Xauthority/

rootで作成されてて、しかもディレクトリ??
自分で作成した覚えや、操作をした記憶はないですが、どうもこれが原因のようです。

ログイン時に自動で生成されるようなので、削除して再ログインします。
すると、下記のようなメッセージと共に、ファイルができていると思います。

# 削除 & ログアウト
$ sudo rm -r ~/.Xaut*
$ exit
# 再ログイン
$ ssh -X xxx@yyy

#ログインメッセージ
…
/usr/bin/xauth:  file /home/xxx/.Xauthority does not exist

# 確認
$ ls -la ~/ | grep Xauth*
-rw-------  1 xxx  xxx     52  7月  7 12:07 .Xauthority
$ xauth list
ubuntu/unix:10  MIT-MAGIC-COOKIE-1  51d737b446197f2381e724388b8dc2f6

この後にx11アプリを実行したところ、無事にクライアント側ディスプレイに表示できました。

コメント

このブログの人気の投稿

「Zabbixサーバーが動作していません」と、なった時の対処法

Ubuntu18.04のCPU、GPU 温度を、Zabbix4.0から監視する