Windows 8.1でOpen SSH(OpenSSH_6.6.1p1、OpenSSL 1.0.1i 6 Aug 2014)を使用しています。 X11転送が機能していないようです。 DISPLAY環境変数が設定されていないようです。
たとえば、BitViseまたはPuTTYを使用して接続し、envを実行すると、次のようになります。
[marko@vm:~]$ env
XDG_SESSION_ID=6
TERM=xterm
Shell=/bin/bash
SSH_CLIENT=192.168.1.174 61102 22
SSH_TTY=/dev/pts/0
USER=marko
MAIL=/var/mail/marko
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
PWD=/home/marko
LANG=en_CA.UTF-8
NODE_PATH=/usr/lib/nodejs:/usr/lib/node_modules:/usr/share/javascript
SHLVL=1
HOME=/home/marko
LANGUAGE=en_CA:en
LOGNAME=marko
SSH_CONNECTION=192.168.1.174 61102 192.168.1.64 22
XDG_RUNTIME_DIR=/run/user/1000
DISPLAY=localhost:10.0
_=/usr/bin/env
代わりにOpenSSH(ssh -X marko @ vm)を使用する場合:
[marko@vm:~]$ env
XDG_SESSION_ID=8
TERM=cygwin
Shell=/bin/bash
SSH_CLIENT=192.168.1.174 61150 22
SSH_TTY=/dev/pts/1
USER=marko
MAIL=/var/mail/marko
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
PWD=/home/marko
LANG=en_CA.UTF-8
NODE_PATH=/usr/lib/nodejs:/usr/lib/node_modules:/usr/share/javascript
SHLVL=1
HOME=/home/marko
LANGUAGE=en_CA:en
LOGNAME=marko
SSH_CONNECTION=192.168.1.174 61150 192.168.1.64 22
XDG_RUNTIME_DIR=/run/user/1000
_=/usr/bin/env
クライアントでDISPLAY
環境変数を設定しましたか?どのシェルを使用しているかはわかりませんが、Bourne Shell派生(bashなど)を使用して、次のことを試してください。
export DISPLAY=127.0.0.1:0
ssh -X marko@vm
または、cmd.exeを使用している場合:
set DISPLAY=127.0.0.1:0
ssh -X marko@vm
ssh -X remotehost
を実行すると、リモートホストにDISPLAY=localhost:10
が表示されます。 ssh
はそのポートをリッスンし、元の値DISPLAY
を使用してトラフィックを呼び出し側システムに転送し、サーバーアドレスを決定します。
ローカルシステムでDISPLAY=:0
を取得している可能性があります。または、そうでない場合は、それがデフォルトになっています。これは、ローカルシステムに、UNIXドメインソケットを使用してディスプレイと通信するように指示します。残念ながら、WindowsのXming
はそのUNIXドメインソケットをセットアップしないため、ssh
X11転送は次のようなエラーで失敗します。
$ export DISPLAY=:0
$ ssh -X remotehost xlogo
connect /tmp/.X11-unix/X0: No such file or directory
Error: Can't open display: localhost:10.0
修正は、少なくともXming
まではかなり簡単です。 DISPLAY
変数を変更して、UNIXドメインソケットではなくリスニングソケットTCP=を参照します。
$ export DISPLAY=localhost:0
$ ssh -X remotehost xlogo
ローカルのTCPポート6000でリッスンするためにXming
構成を適合させる必要があるかもしれません。ここに私がXming
を開始する方法を示します。
Xming.exe :0 -clipboard -multiwindow
そして、ここにXming
がポートtcp/6000でリッスンしていることを確認する証拠があります:
$ netstat -na | grep ':6000 .*LISTEN'
TCP 0.0.0.0:6000 0.0.0.0:0 LISTENING
Windows10とXmingでsshを使用すると、次のように「良い」(?)結果が得られるようです。
set DISPLAY=localhost:0
オブジェクトC:\ dev\ttyを作成します。と
mkdir \dev
echo x > \dev\tty
ssh -Y
を使用します(ssh -X
ではありません)。