最初に
Widows Sub System For Linux(WSL)とX window systemを組合せる記事はあるのですが、
サーバーにSSH接続してX転送して使う事だけに注目した記事が無かったので書いてみる事にしました。
何ができるのか
下のスクリーンキャプチャの様に、
Windows上でサーバー側のUbuntuアプリケーションを動かすことが出来ます。
この記事でやること
- 導入の準備として、
- UbuntuにSSHサーバーをインストール
- WindowsにX window systemの導入
- 使用方法
- SSH接続してWindowsからUbuntuアプリを起動してみる
を記載します。
WSLのインストール方法は他に良い記事がたくさんあるのでそちらを参考にして下さい。
準備
UbuntuのSSHサーバー設定
Ubuntu側での操作です。
Ubutnu側で操作して下さい。
SSHサーバーをインストール
ターミナルで以下を入力
$ sudo apt install openssh-server
X転送の設定
X転送(Xポートフォワーディング)が有効になっていることを確認
$ cat /etc/ssh/sshd_config
で、
X11Forwarding yes
となっている事を確認して終了。
WindowsにX window systemの導入に進む。
noになっていたら修正する。
SSHのX転送をするように設定する
$ sudo nano /etc/ssh/sshd_config
sshdを再起動。
Ubuntu 14.04の場合
$ service sshd restart
Ubuntu 16.04の場合
$ 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の導入
下のコマンドでインストール
$ sudo apt install x11-apps
WSLにディスプレイの環境を設定
.bashrcに環境変数$DISPLAYの設定
$ echo 'export DISPLAY=localhost:0.0' >> ~/.bashrc
設定の再読込
$ source ~/.bashrc
動作しているかの確認
$ xeyes
使用方法
今回はSSHのクライアントとしてWSLを使用します。
TeraTermやPuTTyを使うっても良いですが、今回は説明しません。
"SSHクライアント+X転送" 等で検索すれば情報で出てくるので各自でやってみて下さい。
X window sytemを起動する
VcXsrvが起動されていない場合は起動する。
SSHでサーバーに接続する
WSLでSSHコマンドでサーバーに接続します。
この時にX転送使用するため -X オプションをつける事。
$ ssh -XC -l ユーザー名 UbuntuサーバーのIPアドレス
接続できたら使用したいアプリケーションを起動してみる。
例えば、geditを起動してみる。
$ gedit &
別ウィンドウでgeditが立ち上がるはずです。
参考記事
https://tamosblog.wordpress.com/2016/03/11/windows_10_dev/
https://qiita.com/nishemon/items/bb3aca972404f68bfcd6
https://qiita.com/fukuramikake/items/283b817c16725af79a28