Edited at

WSLでUbuntuにSSH接続してX転送

More than 1 year has passed since last update.


最初に

Widows Sub System For Linux(WSL)とX window systemを組合せる記事はあるのですが、

サーバーにSSH接続してX転送して使う事だけに注目した記事が無かったので書いてみる事にしました。


何ができるのか

下のスクリーンキャプチャの様に、

Windows上でサーバー側のUbuntuアプリケーションを動かすことが出来ます。

image.png


この記事でやること


  • 導入の準備として、


    • UbuntuにSSHサーバーをインストール

    • WindowsにX window systemの導入



  • 使用方法


    • SSH接続してWindowsからUbuntuアプリを起動してみる



を記載します。

WSLのインストール方法は他に良い記事がたくさんあるのでそちらを参考にして下さい。


準備


UbuntuのSSHサーバー設定

Ubuntu側での操作です。

Ubutnu側で操作して下さい。


SSHサーバーをインストール

ターミナルで以下を入力


Terminal

$ sudo apt install openssh-server



X転送の設定

X転送(Xポートフォワーディング)が有効になっていることを確認


Terminal

$ cat /etc/ssh/sshd_config


で、

X11Forwarding yes

となっている事を確認して終了。

WindowsにX window systemの導入に進む。

noになっていたら修正する。


SSHのX転送をするように設定する


Terminal

$ sudo nano /etc/ssh/sshd_config


sshdを再起動。

Ubuntu 14.04の場合


Terminal

$ service sshd restart


Ubuntu 16.04の場合


Terminal

$ systemctl restart sshd



WindowsにX window systemを導入する

X window systemとして、VcXsrvを使います。

Windowsでの操作です。


VcXsrvのインストール

↓のサイトからインストーラーをダンロードしてインストール。

https://sourceforge.net/projects/vcxsrv/


Windows Subsystem for Linuxの設定

WSLにX11をインストールして使用できるようにします。


x11-appsの導入

下のコマンドでインストール


Terminal

$ sudo apt install x11-apps



WSLにディスプレイの環境を設定

.bashrcに環境変数$DISPLAYの設定


Terminal

$ echo 'export DISPLAY=localhost:0.0' >> ~/.bashrc


設定の再読込


Terminal

$ source ~/.bashrc


動作しているかの確認


Terminal

$ xeyes


↓な感じのウィンドウが現れたらOK

image.png


使用方法

今回はSSHのクライアントとしてWSLを使用します。

TeraTermやPuTTyを使うっても良いですが、今回は説明しません。

"SSHクライアント+X転送" 等で検索すれば情報で出てくるので各自でやってみて下さい。


X window sytemを起動する

VcXsrvが起動されていない場合は起動する。


SSHでサーバーに接続する

WSLでSSHコマンドでサーバーに接続します。

この時にX転送使用するため -X オプションをつける事。


Terminal

$ ssh -XC -l ユーザー名 UbuntuサーバーのIPアドレス


接続できたら使用したいアプリケーションを起動してみる。

例えば、geditを起動してみる。


Terminal

$ gedit &


別ウィンドウでgeditが立ち上がるはずです。


参考記事

https://tamosblog.wordpress.com/2016/03/11/windows_10_dev/

https://qiita.com/nishemon/items/bb3aca972404f68bfcd6

https://qiita.com/fukuramikake/items/283b817c16725af79a28