はじめに
今回は、Widows上でLinuxが使えるWSL2をインストールします。
解説はWindows11で行いますが、Windows10でも同じです。
導入は簡単で、開発にも使えますので、ぜひ導入してみましょう。
他にも私のブログで、Windowsについて解説している記事がありますのでご覧ください。
WSLとは
WSLはWindows Subsystem for Linuxの略です。
Windows上でLinux環境を直接実行することができます。
WSL1とWSL2の違いについてはパフォーマンスが向上しているようです。
基本はWSL2で良いと思いますが、違いや詳しくは以下をご覧ください。

WSL2のインストール
インストールについて
WSLのMicrosoft Store版が正式に公開されました。
それにより、Microsoft Storeからもインストールが可能になりました。
もちろんコマンドでもインストールができます。
それぞれのインストール方法を解説します。
コマンドでインストールする場合
結論ですが、コマンドでのインストールがお勧めです。
WSLとディストリビューションをまとめてインストールすることができます。
早速インストールしてみましょう。
PowerShellを管理者として実行します。

以下のコマンドを実行します。これだけでインストールは完了します。
wsl --install

インストールが完了したら、PCを再起動します。

再起動後、自動でUbuntuが起動されました。ユーザ名とパスワードを設定します。

これで使える状態になります。
PowerShellで確認すると、WSL2が有効になっているのが確認できました。
PS C:\Users\xxx> wsl -l -v
NAME STATE VERSION
* Ubuntu Running 2
Microsoft Storeからインストールする場合
まずは、WSLをインストールします。
Microsoft Storeを起動し、「WSL」と検索します。
入手ボタンをクリックし、インストールします。

ディストリビューションも同様にインストールします。
「Ubuntu」と検索し、入手ボタンをクリックします。

Ubuntuアプリを起動します。
初回起動時には、ユーザとパスワードを入力しアカウントを作成します。

これで使える状態になります。
Windows10をお使いで、以下のようなエラーが発生する場合があります。

このアプリケーションには、Linux 用 Windows サブシステムオプション コンポーネントが必要です。
変更を有効にするには、システムの再起動が必要な場合があります。
「Windows の機能の有効化または無効化」を開き、「Linux 用 Windows サブシステム」を有効にします。

インボックス版のインストール
余談ですが、Microsoft Store版ではなく、従来のインボックス版のインストールもできます。
以下のコマンドで可能です。
wsl.exe --install --inbox
今後のWindowsには含まれないとのことで、特殊な理由がない限りはMicrosoft Store版をインストールしましょう。

Microsoft Store版へアップデート
既にインボックス版のWSLを使用している場合でも、Microsoft Store版へアップデートすることができます。
自分が使用しているWSLが、Microsoft Store版かどうかを確認するためには、以下のコマンドをPowerShellから実行します。
wsl.exe --version
以下のような表示の場合は、Microsoft Store版のWSLです。
PS C:\Users\XXX> wsl.exe --version
WSL バージョン: 1.1.6.0
カーネル バージョン: 5.15.90.1
WSLg バージョン: 1.0.50
MSRDC バージョン: 1.2.3770
Direct3D バージョン: 1.608.2-61064218
DXCore バージョン: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp
Windows バージョン: 10.0.22621.1413
また、Ubuntuを起動すると以下のような表示になります。

上記の通り、Microsoft Store版にアップデートするには、以下のコマンドを実行します。
wsl.exe --update
WSL2を使ってみる
Linux上からWindowsのファイルにアクセス
マウントされていますので、UbuntuからWindowsのファイルへアクセスができます。
(Cドライブの例)
xxx@xxx:~$ cd /mnt/c/
WindowsからLinux上のファイルにアクセス
エクスプローラから、\\wsl$\にアクセスします。
ディストリビューションごとのフォルダがありますので、ファイルにアクセスできました。

PowerShellからもアクセスできました。
PS C:\Users\xxx> cd \\wsl$\Ubuntu
PS Microsoft.PowerShell.Core\FileSystem::\\wsl.localhost\Ubuntu> ls
WindowsでLinuxコマンドを実行
WindowsのPowerShellから、直接Linuxコマンドを実行してみましょう。
wslコマンドを通して、Linuxのコマンドを実行できます。
例として「lsコマンド」で、ファイルの一覧を表示してみます。
wsl ls -la

Windows の dir コマンドと Linux の grep コマンドを組み合わせて実行することもできます。
PS C:\Users\xxx> dir | wsl grep git
-a---- 2021/12/01 0:16 76 .gitconfig
Ubuntuのアップデート・アップグレード
Ubuntuのアップデート・アップグレードは、Windowsのアップデートなどで自動的に行われません。
定期的にアップデートしましょう。
Ubuntu上で、以下のコマンドを実行します。
sudo apt update && sudo apt upgrade

結構時間がかかりましたが、アップデートが完了しました。
アップデート後、Ubuntuのバージョンを確認しました。
xxx@xxx:~$ cat /etc/os-release
NAME="Ubuntu"
VERSION="20.04.3 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.3 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal
Windows Terminalのインストール
WindowsのコマンドはPowerShell、UbuntuのコマンドはUbuntuアプリのように、別々で起動して操作するのは面倒です。
そこで、Windows Terminalを活用しましょう。
インストールされていない場合は、以下からインストールしましょう。
Windows ターミナルを起動します。
Windows11は、既定のターミナルアプリケーションとして設定できるようになりました。

設定を開きましょう。

既定のアプリケーションに設定しました。

タブ形式になっており、PowerShellやWSL2(Ubuntu)など、ターミナルアプリ上で複数開くことができます。

タブの中でさらに分割ができますので、とても便利です。

また、タブを開くする際、Ctrlキーを押しながらクリックすると、管理者として開くことができます。
管理者として実行する場合もありますので、結構便利です。

Linux GUI アプリを起動
Windows 10ビルド 19044以降、またはWindows 11では、WSLをインストールするとWSLgが有効になっているため、Windows上でLinux GUIアプリケーション (X11/Wayland)を実行することができます。
まるでWindowsネイティブアプリケーションのように使用することができます。

試しにLinuxのGUIアプリケーションをWindowsで実行してみましょう。
Geditというテキストエディタをインストールします。
念のため、WSLの更新を行います。
PowerShellから以下のコマンドを実行します。
wsl --update
WSLを停止します。
wsl --shutdown
アップデートします。
sudo apt update
WSL2(Ubuntu)のターミナルから起動し、以下のコマンドを実行します。
sudo apt install gedit -y
インストール完了後、以下のコマンドを実行します。
gedit&
テキストエディタが起動しました。

もちろんWindows上で起動しているため、CliborのなどのWindowsアプリケーションと連携することができます。

X11アプリをインストールしてみましょう。
WSL2(Ubuntu)のターミナルから起動し、以下のコマンドを実行します。
sudo apt install x11-apps -y
以下のコマンドを実行しましょう
xcalc&
xclock&
xeyes&
LinuxのGUIアプリケーションを実行することができました。

さいごに
思ったより簡単に導入できました。
WindowsでLinuxコマンドが使えますし、開発環境としても便利に使えます。
興味があれば試してみてください。
他にも私のブログで、Windowsについて解説している記事がありますのでご覧ください。
コメント