Windows11でUbuntu22.04を自由自在に使おう!

WSLgの世界へようこそ!

WSLg動作の前提条件

Windows 11ビルド22000以降を実行している必要があります。
本稿の実行環境は図の通り、Windows 11です。

WSLgとは

WSLg(Windows Subsystem for Linux GUI)は、Windows上でLinuxのプログラムが動く仕組みです。
一般的な仮想環境では、WindowsとLinuxは完全に隔離された環境と言えます。一方、WSLgでは、WindowsとLinuxを統合し、LinuxをWindowsと同じ使い勝手で利用することを目的に設計されています。たとえば、LinuxのGUIベースのソフトがWindows上でシームレスに動作します。

本稿では、WSLgでUbuntu 22.04 LTSが利用できるようにするところまでを紹介します。

WSLgをインストールしよう

Windowsターミナルを管理者権限で起動します。
①タスクバーのスタートボタン(田アイコン)をクリックします。
②検索フィールドに「term」と入力します。
③現れた検索結果の「Windows Terminal」を右クリックします。
④表示されたメニューの「管理者として実行」をクリックします。Windowsターミナル(ターミナル)が管理者権限で起動されます。

ターミナルでは下の図のように、コマンドの入力を促すプロンプトが表示されています。Windows PowerShellのプロンプトです。

WSLg環境の初期化をしよう

利用可能な Linux ディストリビューションの一覧を確認するには、以下に示すように「wsl –list –online」または「wsl -l -o」と入力します。
下のコマンド実行結果で、「Ubuntu」の行に”*”マークがついているのは、この後述べる「wsl –install」コマンドを実行した際の、デフォルトでインストールされるディストリビューションが「Ubuntu」であることを表しています。

PS C:\Users\win> wsl -l -o
インストールできる有効なディストリビューションの一覧を次に示します。
既定の分布は ' * ' で表されます。
 'wsl --install -d <Distro>'を使用してインストールします。

  NAME            FRIENDLY NAME
* Ubuntu          Ubuntu
  Debian          Debian GNU/Linux
  kali-linux      Kali Linux Rolling
  openSUSE-42     openSUSE Leap 42
  SLES-12         SUSE Linux Enterprise Server v12
  Ubuntu-16.04    Ubuntu 16.04 LTS
  Ubuntu-18.04    Ubuntu 18.04 LTS
  Ubuntu-20.04    Ubuntu 20.04 LTS

22年8月13日現在、上記の結果の中には、「Ubuntu 22.04 LTS」の選択肢がありません。一方で、Microsoft Storeを「ubuntu」で検索すると、「Ubuntu 22.04 LTS」が存在します。

しかしながら、一度もWSLを実行したことのない環境だと、この時点でStoreからインストール/実行を試みてもUbuntuを起動できません。WSLの動作環境を初期化する必要があるからです。そこでいったん、Ubuntuのバージョン20.04をインストールし、初期設定を行ったうえでUbuntu 22.04をStoreからインストールします。

その手順は以下の通りです。
まず、WSLgの実行環境を初期化するために、「wsl –install」を実行します。
この操作により、Linuxに最適化された軽量仮想マシン、WSL用カーネル、GUIを表示する機能などが読み込まれて初期設定されます。また、「Ubuntu 20.04 LTS」(22.04ではありません)がインストールされます。なお、20.04を後でアンインストールすることも可能です。

下図はコマンド実行時の出力結果です。

PS C:\Users\win> wsl --install
インストール中: 仮想マシン プラットフォーム
仮想マシン プラットフォーム はインストールされました。
インストール中: Linux 用 Windows サブシステム
Linux 用 Windows サブシステム はインストールされました。
ダウンロード中: WSL カーネル
インストール中: WSL カーネル
WSL カーネル はインストールされました。
ダウンロード中: GUI アプリ サポート
インストール中: GUI アプリ サポート
GUI アプリ サポート はインストールされました。
ダウンロード中: Ubuntu
要求された操作は正常に終了しました。変更を有効にするには、システムを再起動する必要があります。
PS C:\Users\win>

ここで上記メッセージの通り、Windowsを再起動します。
再起動中は、「更新が進行中です」等のメッセージが表示されるでしょう。

再起動の完了後、再びWindowsにログインすると、ターミナルが自動的に起動されます。
「Linux用 Windowsサブシステムが以前のインストールを再開して…」と表示された後、下の図の状態に遷移します。

ここでユーザ名とパスワードを設定するよう、促されます。
「Enter new UNIX username: 」と表示されたら任意のユーザ名を入力します。ここでのユーザ名とは、Linuxシステムのユーザ名であり、Windowsにサインインするときのアカウントとは別物なので、ご注意ください。Windowsのアカウント名と同じにする必要はありません。
続いて2回、パスワードの入力を求められます。Linux全般的にターミナルからのパスワード入力では、”*”など文字が何も表示されません。
以下に、ユーザ名とパスワードを入力して、プロンプトが表示されるまでを示します。

Installing, this may take a few minutes...
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: linux
New password:
Retype new password:
passwd: password updated successfully
Installation successful!
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.

Welcome to Ubuntu 20.04 LTS (GNU/Linux 5.10.16.3-microsoft-standard-WSL2 x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

  System information as of Fri Aug 12 19:11:11 JST 2022

  System load:  0.07               Processes:             8
  Usage of /:   0.4% of 250.98GB   Users logged in:       0
  Memory usage: 4%                 IPv4 address for eth0: 172.21.202.47
  Swap usage:   0%

0 updates can be installed immediately.
0 of these updates are security updates.


The list of available updates is more than a week old.
To check for new updates run: sudo apt update


This message is shown once once a day. To disable it please create the
/home/linux/.hushlogin file.
linux@w11-dell:~$

コマンド「cat /etc/lsb-release」を実行して、ディストリビューションを確認します。「DISTRIB_DESCRIPTION=”Ubuntu 20.04 LTS”」の行の記述によって、20.04 LTSであることが分かります。

linux@w11-dell:~$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION="Ubuntu 20.04 LTS"
linux@w11-dell:~$ws

次に、新しいターミナルを起動して、Windows PowerShellのプロンプトから「wsl -l -v」を実行してみます。WSLのバージョン2(WSL2)が実行されています。

PS C:\Users\win> wsl -l -v
  NAME      STATE           VERSION
* Ubuntu    Running         2
PS C:\Users\win>

ここまでで、Ubuntu 22.04を動作させるためのお膳立てが整いました。

Ubuntu 22.04 LTSをGUIでインストールしよう

タスクバーの「Store」アイコンをクリックします。
①検索欄から「ubuntu」と入力し、②検索結果から「Ubuntu 22.04 LTS」を選択します。

[入手]をクリックします。

ダウンロードとインストールが完了するとボタンが[開く]に変わるので、クリックします。

以下の画面がグラフィックで表示されます。ここからは、GUIによるUbuntuの初期設定を行います。

「Select your language」画面で[Japanese]を選択し、[Continue]をクリックします。

下の画面で、ユーザ名、パスワードを入力します。最後は[Continue]です。

以下の画面では特に変更の必要はありません。[Setup]をクリックします。

[Finish]をクリックして終了します。

初期設定が完了すると、下のターミナルが表示されます。

ターミナルから、「cat /etc/lsb-release」を実行してみます。
ファイルの中身を表示しています。下の表示で無事、「Ubuntu 22.04 LTS」がインストールされていることがわかります。

linux@w11-dell:~$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=22.04
DISTRIB_CODENAME=jammy
DISTRIB_DESCRIPTION="Ubuntu 22.04.1 LTS"
linux@w11-dell:~$

Ubuntuでは、次の二つのコマンドを実行することにより、インストールされているソフトウェアをまとめて最新にすることができます。

sudo apt update
sudo apt -y upgrade

上記の”sudo”コマンドは、管理者権限で実行するためのものです。
下の例のように、「[sudo] linux のパスワード:」と表示され、管理者のパスワード入力を求められます。パスワードは、先ほどインストールの時に入力したパスワードです。言い換えると、現在実行中のユーザ名のパスワードです。

linux@w11-dell:~$ sudo apt update
[sudo] linux のパスワード:

WindowsターミナルからUbuntuを起動するには

WSLでのLinuxディストリビューション(Ubuntu 22.04など)をインストールすると、ターミナルの上部①(下図)から表示されるメニューにディストリビューションが追加されます。下の例では、Ubuntu(20.04)と、Ubuntu 22.04.1 LTSが表示されています。

起動後のターミナルです。

Ubuntu 22.04をデフォルトに変更しよう

現時点では、以下のように「Ubuntu」すなわち、バージョン20.04がデフォルトになっています。

PS C:\Users\win> wsl -l -v
  NAME            STATE           VERSION
* Ubuntu          Running         2
  Ubuntu-22.04    Stopped         2

いつも使用するのが「Ubuntu-22.04」であれば、こちらをデフォルトにしたほうが便利な場合があります。
「wsl -s Ubuntu-22.04」を実行してデフォルトに変更します。コマンド実行後は、「Ubuntu-22.04」に”*”印が表示され、デフォルトに変更されました。

PS C:\Users\win> wsl -s Ubuntu-22.04
PS C:\Users\win> wsl -l -v
  NAME            STATE           VERSION
* Ubuntu-22.04    Stopped         2
  Ubuntu          Running         2

不要ならUbuntu 20.04を削除しよう

スタートメニューをクリックし、検索欄のすぐ下の[すべてのアプリ]をクリックします。アルファベット順のアプリから[Ubuntu on Windows]の項目を見つけ、右クリックメニューから[アンインストール]を選択します。
間違えて、22.04のほうを削除してしまわないようにしましょう。

GUIのゲームを起動してみよう

テトリス「Quadrapassel」をプレイしてみます。落ちてくるブロックを回転や移動させながら、横一列に敷き詰めて消していくゲームです。
ターミナルから以下のコマンドを実行して、インストールします。

linux@w11-dell:~$ sudo apt install quadrapassel

「Quadrapassel」を起動します。

linux@w11-dell:~$ quadrapassel

無事、起動できました。
キーボードの矢印キーを使って操作します。

操作キー
左に移動
右に移動
下に加速
落とすスペース
回転

ログを抑止するには

「Quadrapassel」実行中は、ターミナルに大量のログが表示されます。次のように起動すれば、ログの表示を抑止することができます。

linux@w11-dell:~$ quadrapassel >/dev/null 2>&1

最後に

WSLgの世界は、まだ道半ばです。これからさらに統合されていくとおもわれますので、皆様もぜひ注目ください。