WSL2
【Windows11】WSL2でLinuxの環境構築
ざっくりWSL2とUbuntuについて
事前情報として、WSL2とUbuntuについて簡単に説明すると・・
WSL2
WSLは、Windows Subsystem for Linuxの略です。
その名の通り、Windows上でLinuxを動かすための仕組みで、Windowsでの環境構築ではよく使われるようになってきた印象です。
WSL2は、そのバージョン2だと思って下さい。
詳しいことは省きますが、Linuxは、WindowsやmacOSのようなOSのひとつです。
一般的なOSとは操作方法やできることに違いがありますが、その特性から、アプリやシステム開発など明確に用途がある場合に選ばれることが多いOSです。
Ubuntu
Ubuntuは、Linuxのディストリビューションの1つです。
Linuxのディストリビューションとは、Linuxを簡単にインストールし、利用できる形にパッケージしてあるものです。
Windows11でLinuxはすごく簡単?
早速、WSL2とUbuntuのセットアップをしていきます。
今回は、Windows11ユーザー向けの記事ですので、OSがWindows10の場合は、バージョンによって手順が異なるのでお気を付け下さい。
PowerShellを管理者権限で起動
wsl --install -d Ubuntu
-d Ubuntu
の部分でディストリビューションを指定できます。
今回の場合は、最新のUbuntu(執筆時でUbuntu-20.04)が自動的に選択されます。
-d Ubuntu-20.04
と記述すると、エクスプローラー上では、「Ubuntu-20.04」と表示され、-d Ubuntu
と記述すると、「Ubuntu」と表示されます。
Windows11であれば、エクスプローラーを開いた左部にLinux環境のディレクトリが表示されます。
Ubuntuを起動
システムを再起動後、アプリに追加されているUbuntuを起動して、ユーザ名とパスワードを設定します。
ユーザー名は、Windowsと同じように、ホームディレクトリ名になるので、dev
などにしておくと良いかもしれません。
パッケージを更新
ユーザー名とパスワードを設定したら、そのまま以下のコマンドを実行します。
sudo apt-get update
sudo apt-get upgrade
セットアップした直後だと、パッケージが古いままなので、最新の状態にして作業を進めます。
Ubuntuを日本語化
初期状態だと英語なので、日本語の方がいい場合は、以下の設定もしておくと良いです。
sudo apt install language-pack-ja
echo 'export LANG=ja_JP.UTF-8' >> ~/.bashrc
Ubuntuを再起動すると、メッセージなどが日本語で表示される状態になります。
開発に便利なアプリと連携
WSL2での開発を快適にしてくれる定番のアプリや設定方法も紹介しておきます。
Visual Studio Code
メインのエディターとして利用している方も多いと思いますが、Microsoftが提供しているエディターということもあり、WSL2での開発にも対応しています。
OS間でのファイル操作に難があるのがWSL2ですが、比較的安定した状態でLinux上での開発に勤しむことができます。
WindowsにインストールしたVisual Studio Codeに、Remote - WSLという拡張機能を追加するだけで、Linux上のディレクトリにアクセスできます。
Windows Terminal
Windowsユーザーであれば、Microsoft Storeでインストールするのが良いかと思います。
Windows Terminalは、UbuntuやPowerShellなどをタブ形式で起動できる便利なアプリです。
初期設定では、Ubuntuの開始ディレクトリがWindows側のパスになっているので、Ubuntuのホームディレクトリで開始できるように設定しておくのがおすすめです。
1.設定画面を開く
2.Ubuntuの開始ディレクトリを設定
\\wsl.localhost\Ubuntu\home\Ubuntuのユーザー名
私の場合は、上記のように指定することでUbuntuのホームディレクトリから開始していますが、環境やバージョンによってパスは異なりますので、エクスプローラーやコマンドで確認して設定して下さい。
WSL2を再起動して完了です。
wsl --shutdown
PowerShellなどで、上記のコマンドを実行すれば、WSLをシャットダウンできます。
設定やパッケージの更新時はもちろん、何か不具合起きた際も一旦シャットダウンすると直ったりします。
WSL2の弱点と注意点
使い勝手も良くなり、異なるOSやデバイス間での開発などもスムーズにしてくれそうなWSL2ですが、弱点もあります。
その中でも、ネックになりやすい点を少し紹介しておきます。
求められるスペックが若干高め
1台のPCに2 つのOSを共存させて動かすため、単純に求められるスペックが高くなります。
特に、純粋にWindowsやLinuxだけを動かす場合と比べて、メモリの消費が大きく、メモリが8GBだと少し厳しいかなと感じます。
人によっては、「16GBでも足りん!」という方もいらっしゃいますが、個人的には最低16GBあれば大丈夫かなという印象です。
Windows11にアップグレードできる時点で、そこまで前世代のマシンではないはずなので、メモリ不足の場合は、環境に合わせて換装されることをおすすめします。
そもそも処理が遅い?
厳密には、純粋なLinux環境とは違うため、「何よりも早い」ということはないですが、フロントエンドの開発においては、処理の遅さが気になったことは無いです。
それなりに正しく環境構築できれば、その他の開発でも概ね同じことが言えるのではないかという印象です。
※ただし、OS間でのファイル操作は顕著に遅いです。
例えば、LinuxからWindows内のファイルを操作すると爆発的に遅いので、WSL2ではなくWSLを使うケースもあります。
開発用のディレクトリやパッケージの管理は、なるべくLinux内で完結させておくのが基本になります。