WSL と Ubuntu 24.04 LTS を Windows 11 にインストールする

# WSL と Ubuntu 24.04 LTS を Windows 11 にインストールする

こんにちは、@studio_meowtoon です。今回は、Windows 11 に Ubuntu 24.04 LTS をインストールする手順を紹介します。  
![linux_on_windows_11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3206449/df5c3024-7451-2274-b929-ca5d6a6c468f.png)

## 目的

Windows 11 の Linux でクラウド開発します。

こちらから記事の一覧がご覧いただけます。

https://qiita.com/studio_meowtoon/items/6119ab05d8b13527efd8

## 実現すること

Windows 11 に Ubuntu 24.04 をインストールします。

## 技術トピックス

### WSL とは？  

<details>
<summary>こちらを展開してご覧いただけます。</summary>

### [WSL](https://learn.microsoft.com/ja-jp/windows/wsl/about)

:::note info
WSL (Windows Subsystem for Linux) とは、Windows 10 以降で利用可能な機能のひとつで、Windows OS 上で Linux 環境を実現するための仕組みです。WSL を使用することで、Windows 環境上で Linux コマンドを実行したり、Linux アプリケーションをインストールして実行したりすることができます。
:::

</details>

### Ubuntu とは？  

<details>
<summary>こちらを展開してご覧いただけます。</summary>

### [Ubuntu 24.04 LTS](https://www.ubuntulinux.jp/home)

:::note info
Ubuntu は、Linux ディストリビューションのひとつで、デスクトップおよびサーバー用途に使用されます。Ubuntu は、Debian ベースのディストリビューションであり、シンプルで使いやすく、安定性にも優れています。  

Ubuntu には、通常版の他に LTS (Long Term Support) 版があります。LTS 版は、5年間のセキュリティ更新と、サポートが保証された長期間の安定性を提供します。
:::

</details>

## 開発環境

+ Windows 11 Home 23H2 を使用しています。  

## WSL と Ubuntu の環境を構築

### WSL をインストール

Microsoft Store から **Windows Subsystem for Linux** を検索して [入手] します。 ※無料です。  
![WSL.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3206449/fba02d60-50f4-ebeb-5e0b-4c8b577f5a82.png)
バージョンを確認します。  
※ Windows 11 コマンドプロンプト  

```sh
> wsl --version
WSL バージョン: 2.2.4.0
カーネル バージョン: 5.15.153.1-2
WSLg バージョン: 1.0.61
MSRDC バージョン: 1.2.5326
Direct3D バージョン: 1.611.1-81528511
DXCore バージョン: 10.0.26091.1-240325-1447.ge-release
Windows バージョン: 10.0.22631.3880
```

### Ubuntu をインストール

Microsoft Store から **Ubuntu 24.04 LTS** を検索して [入手] します。 ※無料です。  
![ubunts_24.04_LTS.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3206449/6eecd7a9-f5d4-8016-fcda-06fbf5eecc3a.png)
### Ubuntu のセットアップ

※ Ubuntu 24.04 LTS のアイコンを、[右クリ] 管理者として実行して Ubuntu 24.04 LTS を起動します。

### Ubuntu ログイン

アカウントとパスワードを設定します。

```sh
Enter new UNIX username:YOUR_USER_NAME
Enter new UNIX password:YOUR_PASSWORD
```

バージョンを確認してみます。  

```sh
$ cat /etc/*-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=24.04
DISTRIB_CODENAME=noble
DISTRIB_DESCRIPTION="Ubuntu 24.04 LTS"
PRETTY_NAME="Ubuntu 24.04 LTS"
NAME="Ubuntu"
VERSION_ID="24.04"
VERSION="24.04 LTS (Noble Numbat)"
VERSION_CODENAME=noble
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=noble
LOGO=ubuntu-logo
```

これで、Ubuntu 24.04 LTS がインストール出来ました。次に日本語表示の設定を行います。

### 日本語を表示する手順

デフォルトのロケール情報を確認します。

```sh
$ echo $LANG
C.UTF-8
```

:::note info
C.UTF-8 は、C言語のロケール(地域や言語に依存する情報を設定する機能)設定の一つで、UTF-8 エンコーディングを使用することを指定します。 C.UTF-8 ロケールは、一部の Linux ディストリビューションで既定のロケールとして設定されている場合があります。
:::

使用可能なロケールの一覧を表示してみます。

```sh
$ locale -a
C
C.utf8
POSIX
```

デフォルトでは日本語のロケールがない状況です。  

日本語環境のランゲージパッケージをインストールします。

```sh
$ sudo apt update
$ sudo apt install language-pack-ja-base language-pack-ja
```

再度、使用可能なロケールの一覧を表示してみます。

```sh
$ locale -a
C
C.utf8
POSIX
ja_JP.utf8
```

**ja_JP.utf8** が追加されました。

:::note info
ja_JP.utf8 は、Linux や Unix 系のオペレーティングシステムで使用されるロケールの一つで、日本語環境で UTF-8 エンコーディングを使用することを指定します。
:::

デフォルトのロケールを ja_JP.UTF-8 に変更します。

```sh
$ sudo update-locale LANG=ja_JP.UTF8
```

WSL の場合、一度ターミナルを落としてからロケール情報を確認します。

```sh
$ exit
```

```sh
$ echo $LANG
ja_JP.UTF8
```

ja_JP.UTF8 と表示されました。しかしこの時点では、まだ日本語が表示できません。  

日本語フォントをインストールします。

```sh
$ sudo apt update
$ sudo apt install fonts-ipafont
```

これで Ubuntu を日本語ロケールに変更し、日本語フォントをインストールすることができました。

## Ubuntu を初期化する場合

Windows 11 のコマンドプロンプトから実行します。

```sh
> wsl -l -v
  NAME            STATE           VERSION
* Ubuntu-24.04    Running         2
> wsl --unregister Ubuntu-24.04
登録解除。
この操作を正しく終了しました。
```

:::note alert
※Ubuntu 内の全てのデータが削除されることに注意してください。
:::

## Ubuntu で ハローワールドを表示

せっかくなので、シェルスクリプトでハローワールドを表示してみます。

:::note info
**シェルスクリプト**とは、Linux や Unix 系のオペレーティングシステムで使用されるスクリプト言語の一つで、シェル (コマンドラインインタフェース) 上で実行するためのスクリプトのことです。  

シェルスクリプトは、テキストエディタで記述され、拡張子が **.sh** になります。 シェルスクリプトは、一連のコマンドを順番に実行することで、特定のタスクを自動化したり、簡単に実行したりすることができます。
:::

:::note warn
**Vim を使用してコピペする方法**を初めて学ぶ人のために、以下の記事で手順を紹介しています。ぜひ挑戦してみてください。
:::

https://qiita.com/studio_meowtoon/items/7771ad48676926e41463

hello.sh スクリプトを作成します。

```sh
$ cd ~
$ vim hello.sh
```

ファイルの内容

```sh:hello.sh
#!/bin/bash
echo "ハローワールド！"
```

:::note info
1行目の **#!/bin/bash** は、このスクリプトを実行するために使用するシェルを指定しています。この場合、Bash シェルを使用することを指定しています。
:::

ファイルを実行可能にします。

```sh
$ chmod +x hello.sh
```

:::note info
**chmod** は、ファイルのアクセス権限を変更するコマンドです。 **+x** は、ファイルに実行権限を与えるためのオプションです。このオプションを指定することで、hello.sh というシェルスクリプトに実行権限を付与します。
:::

スクリプトを実行します。

```sh
$ ./hello.sh
```

:::note info
**./** は、現在のディレクトリを表す相対パスです。この記号を使用することで、カレントディレクトリにあるファイルを実行することができます。
:::

ターミナルへの出力

```sh
ハローワールド！
```

## WSL の更新を確認

Windows 11 のコマンドプロンプトから WSL の更新を確認できます。

```sh
> wsl --update
```

## カスタマイズ

:::note info
**ターミナル**に**ユーザー名だけ**が緑色で表示され、**デバイス名**を**非表示**にする設定です。
:::

~/.bashrc ファイルを編集します。

```sh
$ vim ~/.bashrc
```

ファイルの最後に以下の行を追加します。

```sh
# display username in green.
export PS1='\[\033[01;32m\]\u\[\033[00m\]:\w$ '
```

設定を反映します。

```sh
$ source ~/.bashrc
```

## まとめ

+ Window 11 に WSL と Ubuntu 24.04 LTS をインストールして日本語表示環境を設定しました。
+ Ubuntu でシェルスクリプトを実行して "ハローワールド！" を表示することが出来ました。

:::note warn
**Ubuntu は** Linux の開発環境で、**開発者にとってのスタートライン**となります。ターミナルからコマンドで操作することは最初は難しく感じるかもしれませんが、少しずつ確認しながら進めていくことで、自信を持って操作できるようになります。
:::

どうでしたか？ WSL を利用すれば、手軽に Ubuntu 24.04 LTS を Windows 11 にインストールできます。興味があれば、ぜひお試しください。

## 推奨コンテンツ

https://qiita.com/studio_meowtoon/items/719e6765dd11f17a0b19

https://qiita.com/studio_meowtoon/items/e3aaef417f93afb79066