ssh -Xでリモートログインした端末からX11転送ができない。ww
foo@myhost:~$ palimpsest
ディスプレイをオープンできません:
コマンドを実行した端末内で確認したところ、正常動作時は設定されているはずのDISPLAY変数が設定されていない。
foo@myhost:~$ env|grep DISPLAY
foo@myhost:~$
ググったところ、どうやらsshでIPv6がこの問題に関連しているようで、ssh接続をIPv4に制限してやることが対策になるらしい。
ssh – DISPLAY is not set – Failed to allocate internet-domain X11 display socket
対策方法
sshd_configにIPv4のみで接続するよう設定を追加する。
sudo vi /etc/ssh/sshd_config
AddressFamily inet
sshdを再起動させる。
foo@myhost:~$ sudo service ssh restart
ssh start/running, process 5865
foo@myhost:~$
再度接続しなおすと、DISPLAY変数が正常に設定されており、X11転送も正常に動く。
foo@myhost:~$ env|grep DISPLAY
DISPLAY=localhost:10.0
foo@myhost:~$
sshをIPv4でのみ動作させる
余談だが、sshでIPv4のみで動作するようにさせるには、以下の設定で動く。
今回の不具合とは無関係なので、設定を変更しなくてもよい。
/etc/default/sshを修正してIPv4で動作するように強制させる。
sudo vi /etc/default/ssh
foo@myhost:/etc/default$ cat ssh
# Default settings for openssh-server. This file is sourced by /bin/sh from
# /etc/init.d/ssh.
# Options to pass to sshd
SSHD_OPTS=-4
foo@myhost:/etc/default$
Last Updated on 2024-08-13 by spicebeat