リモートのXクライアントをローカルのXサーバに表示

SuSE10.1のXサーバはxhost +してもリモートのXクライアントが貼りつけられない。 何故だ? 仕方ないので、正しくsshを使う。

ローカルホストとリモートホストの関係はこんな。

ホストローカルリモート
Xサーバクライアント
sshクライアントサーバ

リモートホストの/etc/ssh/sshd_configで

X11Forwarding yes
AllowTcpForwarding yes

を設定しておき、ローカルホストで、

ssh -q -X -l user remote-host

でリモートホストにログインする。ここで普通に、

emacs &

と実行すると、emacsはローカルのXサーバ上に表示される。

この時、sshでログインした先の環境は、

hao@colinux% env
USER=hao
LOGNAME=hao
HOME=/home/hao
PATH=/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games:/home/hao/bin
MAIL=/var/mail/hao
SHELL=/usr/bin/zsh
TZ=JST-9
SSH_CLIENT=10.10.10.223 42963 22
SSH_CONNECTION=10.10.10.223 42963 10.10.10.222 22
SSH_TTY=/dev/pts/1
TERM=mlterm
DISPLAY=localhost:10.0

こんな感じになっている。DISPLAYの"localhost"はリモートホストのことなので、 Xクライアントはリモートホストの(存在しない)XサーバにUNIXドメインソケット 経由で接続している。

Last modified: 2011-03-21 by Unknown