プログラマーのメモ書き

伊勢在住のプログラマーが気になることを気ままにメモったブログです

WSL2 のインストール

先日新調した PC の設定作業をぼちぼちやってます。

PC を新しくしたので、細々と使っている VirtualBox の動作さえ問題なければ、 WSL もいままでの WSL 1 をやめて WSL 2 に切り替えたいと思います(こちらの記事で少し触れてる件です)。

ということで、 VirtualBox の動作確認と WSL2 のインストールした際のメモをまとめておきます。

VirtualBox の動作確認

古いPC上では、Hyper-V が有効な状態だと、 VirtualBox の VM が起動するにはするのですが、突然停止したり、若干不安定な挙動でした。バージョン等は下記を参照。

  • Windows 10 Pro, 20H2
  • VirtualBox 6.1.18
  • CPU Core-i7 3770 第3世代

新PCでも確認します。

コントロールパネルの『Windows の機能の有効化または無効化』で一時的に Hyper-V を有効にして、同じことを試したところ、問題なく VM が動作します。これなら、 WSL2 に切り替えても問題なさそうです。こちらの環境は下記になります。

  • Windows 10 Pro, 21H1
  • VirtualBox 6.1.26
  • CPU Core-i9 11900K 第11世代

OS および VirtualBox そのものはバージョンが微妙に異なりますが、大きく違うとも思えません。なので、根拠のない勝手な憶測ですが、古いPCで問題があったのは、ひょっとしたら、CPUが古いせいもあるかもしれません。

なお、 WSL2 インストール前には、 Hyper-V の設定は元に戻しておきました。

WSL2 のインストール

WSL2 のインストールはめっちゃ簡単になってますね。コマンドプロンプトで、

wsl --install

とするだけだそうです(公式のドキュメントはこちら)。

やってみます。 管理者権限でコマンドプロンプトを起動し、コマンドを実行すると

f:id:junichim:20210928103418p:plain

するといろいろとメッセージが表示されて、処理が完了します。再起動すると、

f:id:junichim:20210928103526p:plain

のように、ユーザー名とパスワード設定を求められるので、それらを入力すれば終わりです。

めっちゃ簡単。

WSL の初期設定

お決まりの設定作業を行っておきます。

sudo apt update
sudo apt upgrade

日本語環境の導入。下記記事を参考にしました。

mor@DESKTOP-DE7IL4F:~$ locale -a
C
C.UTF-8
POSIX
en_US.utf8
mor@DESKTOP-DE7IL4F:~$ sudo apt install language-pack-ja
(中略)
mor@DESKTOP-DE7IL4F:~$ 
mor@DESKTOP-DE7IL4F:~$ locale -a
C
C.UTF-8
POSIX
en_US.utf8
ja_JP.utf8
mor@DESKTOP-DE7IL4F:~$ sudo update-locale LANG=ja_JP.utf8

ロケールを変更したら wsl を再起動します。確認。

mor@DESKTOP-DE7IL4F:~$ echo $LANG
ja_JP.utf8
mor@DESKTOP-DE7IL4F:~$ date
2021929日 水曜日 09:33:34 JST
mor@DESKTOP-DE7IL4F:~$

日本語環境になりました。タイムゾーンは日本標準時になっているようなので、変更しません。

マニュアルも日本語版を入れておきます。

mor@DESKTOP-DE7IL4F:~$ sudo apt install manpages-ja manpages-ja-dev
(中略)
mor@DESKTOP-DE7IL4F:~$ 

参考

WSL2 をインストールすると、『Windows の機能の有効化または無効化』が下記のように変化しました。

(インストール前)

f:id:junichim:20210928104147p:plain f:id:junichim:20210928104238p:plain

(インストール後)

f:id:junichim:20210928104219p:plain f:id:junichim:20210928104325p:plain

『Linux 用 Windows サブシステム』だけが変化しましたね。『Hyper-V』や『Windows ハイパーバイザープラットフォーム』にも変化がでるかと思いましたが、設定GUI上は、変化ないようです。

こちらの FAQ などにあるように、内部的に Hyper-V を使ってるのは間違いないようなので、よしなにやってくれてるのでしょう、きっと。

Windows Terminal のインストール

以前は、 WSL 1 を使うために、 wsltty をインストールして使っていたのですが、 2020年5月に Windows Terminal がリリースされたそうなので、そちらを試してみることにしました。

インストールは簡単で、 Microsoft Store から Windows Terminal を検索してインストールすれば終わりです。

設定

快適に使うため、いくつか設定を行います。

メニューから『設定』を選択します。

f:id:junichim:20210928125014p:plain

起動時のデフォルトターミナル

基本的には Ubuntu を使うので、起動時のターミナル種類を変更します。

『既定のプロファイル』を『Ubuntu』に変更します。

f:id:junichim:20210928125116p:plain

開始ディレクトリの変更

デフォルトのままだと、Ubuntu 起動時のディレクトリが、 Windows のユーザープロファイルフォルダ(C:\Users\ユーザー名)なので、 Ubuntu のホームディレクトリになるように変更します。

設定画面左側のバーから『プロファイル』の『Ubuntu』を選択し、『開始ディレクトリ』をデフォルトの『%USERPROFILE%』から、『//wsl$/ディストリビューション名/home/ユーザー名』に変更します。手元の環境だと、『//wsl$/Ubuntu/home/mor』になります。

f:id:junichim:20210928130534p:plain

これで、 Windows Terminal を起動すれば、 Ubuntu が ホームディレクトリで立ち上がります。

フォントとか色とかは使いながら変更しようと思います。

なお、こちらの記事などでは、ディストリビューション名にバージョン番号が含まれています。インストール方法により、ディストリビューション名が異なるのかもしれません。

手元の環境のディストリビューション名は、

C:\Users\mor>wsl --list -v
  NAME      STATE           VERSION
* Ubuntu    Running         2

C:\Users\mor>

で、確認できます(-vなしでもできますよ)。