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

WSL2のインストール
インストール前に、まずは「Windows の機能の有効化または無効化」を確認します。
WSLをインストールしていませんので、「Linux 用 Windows サブシステム」が有効になっていません。

早速インストールしてみましょう。
PowerShellを管理者として実行します。

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

ちなみにこのコマンドで、以下の手順をすべて行っています。
インストールが完了したら、PCを再起動します。

再起動後、「Linux 用 Windows サブシステム」と「仮想マシン プラットフォーム」が有効になっていました。

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

これで使える状態になりました。
PowerShellで確認すると、WSL2が有効になっているのが確認できました。
PS C:\Users\xxx> wsl -l -v
NAME STATE VERSION
* Ubuntu Running 2
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 11では、WSLをインストールするとWSLgが有効になっているため、Windows上でLinux GUIアプリケーション (X11/Wayland)を実行することができます。
まるでWindowsネイティブアプリケーションのように使用することができます。

試しにLinuxのGUIアプリケーションをWindowsで実行してみましょう。
Geditというテキストエディタをインストールします。
念のため、WSLの更新を行います。
PowerShellから以下のコマンドを実行します。
wsl --update
WSLを停止します。
wsl --shutdown
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について解説している記事がありますのでご覧ください。
コメント