2020年7月1日水曜日

Windows Subsystem for Linux (WSL)

VBAでTeraTermにアクセスするメモを書いていた時に、Windows Subsystem for Linux (以下 WSL) を使ったのでメモしておく。

WSLの有効化
前準備としてWSLの有効化が必要。

(1) コントロールパネルから プログラムと機能 を開く (Windowsキー + [R]キー ⇒ appwiz.cpl と入力して[OK])

(2) Windowsの機能の有効化または無効化を選択



(3) Windows Subsystem for Linux にチェックを入れる



(4) PC再起動


Ubuntuのインストール

(1) スタートメニューから Microsoft Store を起動し Ubuntu を検索する。

(2) Ubuntu を選択。LTS は Long Term Support の略でサポート期間が長いことを意味する。通常は最新の LTS 版をインストールしておけば問題ないと思われる。



(3) [入手] ボタンを選択。[入手] ボタンの少し下にダウンロード進行状況が表示される。終わったらインストール完了。




Ubuntuの起動

(1) スタートメニューから Ubuntu を起動する。初回は以下のメッセージが表示され数分待たされる。

Installing, this may take a few minutes... 

(2) ユーザ名とパスワード(2回) を求められるので入力する。

Please create a default UNIX user account. The username does not need to match your Windows username.
For more information visit: https://aka.ms/wslusers
Enter new UNIX username: 
New password:
Retype new password:

(3) メッセージ表示後にコマンド入力できるようになるので、リポジトリ一覧とパッケージを更新しておく。(時間かかるので注意)
$ sudo apt update
$ sudo apt upgrade


WindowsからWSLにアクセスする
エクスプローラーのアドレスバーに \\wsl$ と入力すると見えるようになる。




WSLからWindowsにアクセスする
/mnt/<ドライブ名> でアクセスできる。Cドライブに移動する場合は以下のようになる。
$ cd /mnt/c


WindowsからWSLにSSH接続する
TeraTermを使ってSSH接続を試みたが、そのままでは接続できず。。。OpenSSH を入れなおしたら接続できるようになった。謎。
$ sudo apt-get purge openssh-server
$ sudo apt-get install openssh-server
$ sudo service ssh restart
 * Restarting OpenBSD Secure Shell server sshd                           [ OK ]