リモートの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