Ubuntu8.10でxhost
サーバ構築時とかにリモートのサーバを制御する必要があるとき、xhostを使うと便利なのでメモ。
というかUbuntuはセキュリティ上少し設定しないとリモートからのXを許可しないっぽい。
環境
- Xサーバ
- リモートのXアプリケーションを表示する側
- Ubuntu8.10
- IP:192.168.1,10
- Xクライアント
- リモートでXアプリケーションを起動する側
- Red Hat
- IP:192.168.1.21
Xサーバ側の設定
X11のポートフォワーディングを許可しているか確認
X11Forwardingがyesになっているかどうか
$ less /etc/ssh/sshd_config ... X11Forwarding yes ...
Xサーバの6000番ポートを開ける
$ sudo vi /etc/X11/xinit/xserverrc ... exec /usr/bin/X11/X -nolisten tcp をコメントアウト ...
gdmの起動時に6000番ポートが無効にならないように
$ sudo vi /etc/gdm/gdm.conf DisallowTCP=true をコメントアウト DisallowTCP=false を追加
Xの再起動
Ctrl + Alt + F2とかで他の仮想コンソールに入って、gdm再起動
$ sudo /etc/init.d/gdm stop $ sudo /etc/init.d/gdm start
600番ポートが空いていることを確認
$ netstat -an | grep 6000 tcp 0 0 0.0.0.0:6000 0.0.0.0:* LISTEN tcp6 0 0 :::6000 :::* LISTEN
Xサーバ側にてXクライアントのIPを許可
$ xhost +192.168.1.21
XサーバでXクライアントのアプリを実行する
$ ssh -l hoge -X 192.168.1.21 ssh $ export DISPLAY="IP:192.168.1,10:0.0" ssh $ xeyes
これでxeyxsが表示されればOK.
ほんとはxhostは使うべきじゃなくてxauthを使ったほうがいいっぽいですが、今回は時間なかったので勘弁...