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の世界は、まだ道半ばです。これからさらに統合されていくとおもわれますので、皆様もぜひ注目ください。