SSHセッションを介してGUIプログラムを起動できることを期待して、SSH対応のリモートマシンに次の設定を入れました。
# These settings shall go to `/etc/ssh/sshd_config`.
X11Forwarding yes
X11UseLocalhost no
AllowAgentForwarding yes
X11DisplayOffset 10
XmingとWSLを搭載したWindows10マシンを使用していますローカル。すべてのローカル+リモートマシンで、export DISPLAY=0:0
に~/.bashrc
を設定しました。これは、ローカルで実行されているXmingのデフォルト設定と一致します。
それでも、ホストによって異なる動作をします。
ssh -X user@Host
を使用して接続してからgvim
を起動すると、GUIがローカルマシンに移動し、すべて正常に動作します。ssh -X user@Host
はリモートマシンのコマンドラインにアクセスできますが、gvim
は代わりにGUIセッションを起動しますリモートマシン代わりに。"cannot open display"
と文句を言います。これは、リモートマシンローカル(そのマシンに接続しているリモートデスクトップ)でgvim
を起動しようとしたときと同じエラーメッセージです。Sudo service ssh start
。質問:X11経由でGUIプログラムを接続できるように、Windows10マシンの適切な設定をアドバイスしてください。どうも!
ssh -v -X user@remote_server
からの抜粋:
Warning: No xauth data; using fake authentication data for X11 forwarding.
debug1: Requesting X11 forwarding with authentication spoofing.
debug1: Sending environment.
debug1: Sending env LANG = C.UTF-8
Welcome to Linux Mint 18.1 Serena (GNU/Linux 4.4.0-53-generic x86_64)
:: >>Linux-remote<< ::~>>echo $DISPLAY
localhost:12.0
さらにテストした後、Linuxリモートで新しいSSHセッションを開くと、この数は増加します。
Warning: No xauth data; using fake authentication data for X11 forwarding.
debug1: Requesting X11 forwarding with authentication spoofing.
debug1: Sending environment.
debug1: Sending env LANG = C.UTF-8
Welcome to Ubuntu 18.04.1 LTS (GNU/Linux 4.4.0-17763-Microsoft x86_64)
:: >>WIn-WSL-Machine<< ::~>>echo $DISPLAY
0:0
リモートWSL-WindowsマシンとのSSHセッションで$DISPLAY
の「エコー」を繰り返すと、同じ0:0
が表示され続けました。
PS:ローカルポート0:0
で実行されているXmingサーバーを使用して、同じローカルマシンでX-forwaringをテストしています。このようなXmingサーバーは、その「ローカル」WindowsWSLシェル/システムおよびLinuxマシンからのGUIに喜んで対応しています。リモートLinuxマシンがポートlocalhost:12.0
を使用する必要があるというバグが発生しました。
同じ問題が発生し、WSLで「DISPLAY =:0.0」ではなく「DISPLAY = localhost:0.0」を設定することで解決しました。参照してください https://unix.stackexchange.com/questions/57138/why-does-my-x11-forwarding-attempt-fail-with-connect-tmp-x11-unix-x0-no-such