最近はあまり使うこともないのだけど、Oracleのインストールとかをする際にsshでリモートサーバにx11フォワーディング接続をしてGUIを転送させるようなことをしていた。 で、その際はTeraterm + Xmingの組み合わせで対応することが多かったのだが、それをWSLを使ってやってみることにする。
なお、WSLで利用するOSはUbuntu 18.04LTSとし、リモートマシンへの設定はここでは省略する。
1. 『VcXsrv Windows X Server』のインストールをする
Teratermと組み合わせて利用するX Window ServerとしてはXmingがよく使われていたのだが、WSLでは『VcXsrv Windows X Server』がよく使われているらしい。 リンク先からインストーラーをダウンロードして、WSLを実行するクライアントにインストールする。(インストール時の設定はデフォルトのままで問題ない)
インストール完了後、「XLaunch」という名称でスタートメニューやデスクトップに追加されているので、それを起動する。 起動後は設定画面が表示されるが、デフォルトのまま進める。
設定完了後は通知領域に常駐するので、なにか変更等行う場合はそちらから対応をする。 最後に、以下のコマンドをWSLから実行してX Window Serverが正常に動作することを確認する。
export DISPLAY=localhost:0.0 # WSLからXX Window Serverを利用するための環境変数
sudo apt install x11-apps
xeyes
これで、xeyesが動作する。
2. ssh接続を行う
X Window Serverの設定ができたら、あとはssh接続をしてX11フォワーディングをするだけだ。 以下のようにWSLからsshコマンドを実行する。
ssh -X user@host
これで、Xを使うコマンドを実行すればWSLを実行している環境でアプリケーションが実行される。