WSL2にUbuntuをインストール

Windows 11のノートPCを購入したので、WSL2を利用してUbuntuをインストールしました。

Ubuntuのインストール

WSL2版のUbuntuはMicrosoft Storeからもインストールできますが、Windows PowerShellを利用して手軽にインストール可能です。

Windowsマーク -> すべてのアプリ -> Windowsツール

Windows PowerShellをマウスの右クリックから「管理者として実行」し、開いたターミナルに「wsl – -install」と入力します。

Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

新機能と改善のために最新の PowerShell をインストールしてください!https://aka.ms/PSWindows

PS C:\WINDOWS\system32> wsl --install

再起動が要求されますので、PCを再起動します。

Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

新機能と改善のために最新の PowerShell をインストールしてください!https://aka.ms/PSWindows

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

PCの再起動後にターミナルが開き、ユーザー名を聞かれます。

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:

ユーザー名入力後に、パスワードを2回入力してインストールは完了です。

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: XXXXX
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 22.04.3 LTS (GNU/Linux 5.15.153.1-microsoft-standard-WSL2 x86_64)

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


This message is shown once a day. To disable it please create the
/home/XXXXX/.hushlogin file.

アップデートとアップグレードを行い、パッケージを最新にします。

$ sudo apt update
$ sudo apt upgrade

インストールされたUbuntuのバージョンは「cat /etc/os-release」で確認できます。

$ cat /etc/os-release
PRETTY_NAME="Ubuntu 22.04.4 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.4 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
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"
UBUNTU_CODENAME=jammy

Python3は既にインストールされていました。

$ python3 --version
Python 3.10.12

0x80248014や0x8024500c等のエラーが発生する場合のUbuntuのインストール

会社等のセキュリティ環境下では、通常の手順だとインストール中にエラーが発生するかも知れません。そんなときには、以下の方法を試して下さい。このとき、Windows PowerShellは(管理者ではなく)一般のユーザー権限で起動します。実行後、スタート画面を開くとインストールが確認できます。

$ Invoke-WebRequest -Uri https://aka.ms/wslubuntu2204 -OutFile Ubuntu.appx -UseBasicParsing
$ Add-AppxPackage .\Ubuntu.appx

Ubuntu 24.04 LTSのインストールは下記のURLを指定します。

$ Invoke-WebRequest -Uri https://wslstorestorage.blob.core.windows.net/wslblob/Ubuntu2404-240425.AppxBundle -OutFile Ubuntu.appx -UseBasicParsing
$ Add-AppxPackage .\Ubuntu.appx

プロキシの設定は、/etc/apt/apt.confを作成して以下の要領で記載します。

Acquire::http::Proxy "http://proxy.あなたの会社.co.jp:10080";
Acquire::https::Proxy "http://proxy.あなたの会社.co.jp:10080";

日本語化

4行目の項目は、manの日本語化が必要な場合に実行します。

$ sudo apt install unifont
$ sudo apt install language-pack-ja
$ sudo update-locale LANG=ja_JP.UTF8
$ sudo apt install manpages-ja manpages-ja-dev

Ubuntuの開発環境の設定

Ubuntuの開発環境はbuild-essentialパッケージによりインストールできます。CMakeも入れておくと便利です。

sudo apt install build-essential cmake

インストールされたGCCのバージョンは11.4.0でした。

$ gcc --version
gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

CMakeのバージョンは3.22.1でした。

$ cmake --version
cmake version 3.22.1

CMake suite maintained and supported by Kitware (kitware.com/cmake).

Javaの実行環境JREをインストールします。「java」と入力すると候補を表示してくれます。

$ java
Command 'java' not found, but can be installed with:
sudo apt install openjdk-11-jre-headless  # version 11.0.20.1+1-0ubuntu1~22.04, or
sudo apt install default-jre              # version 2:1.11-72build2
sudo apt install openjdk-17-jre-headless  # version 17.0.8.1+1~us1-0ubuntu1~22.04
sudo apt install openjdk-18-jre-headless  # version 18.0.2+9-2~22.04
sudo apt install openjdk-19-jre-headless  # version 19.0.2+7-0ubuntu3~22.04
sudo apt install openjdk-8-jre-headless   # version 8u382-ga-1~22.04.1

新しいLTSであるバージョン17を選んでインストールしました。Javaの開発環境JDKが必要な場合は、パッケージ「openjdk-17-jdk」をインストールします。

sudo apt install openjdk-17-jre-headless

ターミナルの設定

ターミナルのタブを開いたときに、新たに起動するターミナルの種類を設定します。まず、ターミナル上部でマウスを右クリックし、「設定」を選択します。

ターミナル上部をマウスで右クリック

設定画面の上部にある「既定のプをロファイル」で「Ubuntu」を選択し、下部にある「保存」ボタンをクリックします。

これで、タブの数だけUbuntuターミナルが利用できます。この機能はとても便利です。

「設定のプロファイル」で「Ubuntu」を選択

また、下から2番目にある「起動サイズ」をモニターに合わせて調節しておくと、快適に利用することができます。

WindowsとWSL2間のアクセス

Windowsのドライブは、WSL2の「/mnt」にマウントされています。Windows 11のファイルにもアクセスできます。

$ cd /mnt/c/Users
/mnt/c/Users$

WindowsからWSL2を見に行くには、エクスプローラーでネットワークのペンギンアイコンをクリックします。複数のバージョンやディストリビューションをインストールしている場合は、バージョンおよびディストリビューション毎にアクセスできます。

ネットワークのペンギンアイコン