LoginSignup
1
4

Windows 11にWSL2をインストールする

Last updated at Posted at 2024-03-24

WSLはマイクロソフトのドキュメントでセットアップ部分のみを読んでインストールし、あとはなんとなくで利用していました。

最近、新しい端末にWSLをインストールしようとして Windows Subsystem for Linux に関するドキュメント を確認すると、概要やチュートリアルなど色々とコンテンツがあることに気が付きました。

本記事ではインストール部分の記事を確認しながら、Windows 11にWSLをインストールしてチュートリアルを読んでざっくりまとめてみます。

ドキュメント

Windows Subsystem for Linux に関するドキュメント

今回利用する環境

  • Windows 11 23H2
  • WSL バージョン: 2.1.5.0

前提条件の確認

WSLはWSL1とWSL2の二種類があり、今回はWSL2をインストールするため、WSL2の前提条件を確認すると下記となっていました。

  • Windows 10 バージョン 2004 以上 (ビルド 19041 以上)
  • Windows 11

WSLコマンドのインストール

WSL コマンドのインストール

上記ドキュメントを参照しながらインストールしていきます。

# 管理者で実行する
wsl --install

上記コマンドのように管理者でディストリビューションの指定なくインストールを行うと既定のディストリビューション(ubuntu)がインストールされます。

インストール中

image.png

インストール完了

image.png

メッセージにも表示されている通り、システムを一度再起動します。

別のディストリビューションを選択する場合

既定ではUbuntuがインストールされますが、他のディストリビューションを選択したい場合は-dオプションでディストリビューションを指定してインストールします。

指定できるディストリビューションの一覧は下記コマンドで取得できます。

# 指定できるディストリビューションを表示
wsl --list --online

image.png

Linux ユーザー情報を設定する

Linux ユーザー情報を設定する

WSLのインストール後、初回接続時にLinuxディストリビューションのユーザーアカウントとパスワードを作成します。

インストールが完了するとスタートメニューにUbuntuが追加されるのでそちらからインストールしたディストリビューションに接続します。

image.png

初回起動時はインストール処理が走って待ちます。

image.png

しばらく待つとディストリビューションに作成するユーザーとパスワードの入力を求められます。

image.png

ここで作成されるアカウントがディストリビューション規定のユーザーとして設定され、接続時に自動的にサインインされます。

ここで作成するユーザーは、Windows側のユーザーとは関係なく、インストールするディストリビューションごとに固有となり、またこのユーザーはLinux管理者としてsudoコマンドが実行できます。

ユーザー名とパスワードを入力後下記のようにディストリビューションに接続されます。

image.png

デフォルトユーザーを変更するには

設定したデフォルトユーザーを変更するには、ディストリビューションに別ユーザーを作成して下記コマンドから変更する事ができます。

ディストリビューションの既定のユーザーを変更する

<DistributionName> config --default-user <Username>

# ディストリビューション上で実行
# uesraddのデフォルト設定確認
useradd -D
# foobarユーザーを追加
sudo useradd -m foobar
exit

# Windows側で実行
Ubuntu config --default-user foobar

image.png

上記のようにfoobarというユーザーを作り、ディストリビューション接続時のデフォルトユーザーをfoobarに切り替えました。

なお、sudoできるように設定していないので上記だけだとfoobarユーザーはsudoできません。

sudoできるようにするには、最初に作成した管理者ユーザーでディストリビューションの設定を確認し、sudoできるように調整しましょう。

設定とベスト プラクティス

チュートリアルが設定とチュートリアルの設定のベストプラクティスにあるようなので下記を確認してざっくりまとめます。

設定とベスト プラクティス

はじめに 、Linux のユーザー名とパスワードを設定する

確認すると最初はインストールとLinuxユーザーの説明がありますが、こちらはインストールのドキュメントと重複する部分なので特にコメントなし。

パッケージの更新とアップグレード

パッケージの更新とアップグレード については、WindowsではLinuxディストリビューションの更新やアップデートは自動で行われないため、パッケージに定期的に更新する事を推奨されている。

ディストリビューションを追加する

今回は既定のディストリビューションとなっていたUbuntuをインストールしていましたが、それ以外にもあるといった話。

Microsoft Store経由でインストールしたり、独自に用意したものをimportコマンドで読みんだり、Enterprise向けにMDEだったり含めて設定したり。

Windows Terminalの設定

Windows Terminalのインストールと利用方法について。

また新しいディストリビューションをインストールするたびに、Windows Terminal内に新しいインスタンスが作成される。

image.png

今回のケースでは画像のようにWindows Terminal上に今回インストールされたUbuntuが追加されている事がわかります。

File Storage

WSLプロジェクトをエクスプローラーで開くには explorer.exe .を利用する。

image.png

image.png

上記のようにubuntu上の~(ホームディレクトリ)でコマンドを実行すると、エクスプローラーでカレントディレクトリが開きます。

お気に入りのコード エディターを設定する

wslを利用したリモート開発とデバッグではVisual Studio Code と Visual Studio を利用する方法が紹介されている。

Visutl Studio Codeを利用する場合、一部のLinuxディストリビューションではVS Code サーバーの起動に必要とされるライブラリが不足しているらしい、下記を実行。

sudo apt-get update

sudo apt-get install wget ca-certificates

WSL ディストリビューションからプロジェクトを開く場合は事前にWindows側でVS CodeをインストールしてからWSL ディストリビューションでcode .を実行

mkdir ~/helloworld

cd ~/helloworld

code .

image.png

code .を実行すると、VS Code Serverのインストールが始まり、VS Codeが起動します。

Git を使用してバージョン管理を設定する

GitはWindows側とディストリビューション側の両方にインストールできる。
ディストリビューション側へのgitのインストールと設定について。

Git Credential Manager のセットアップ

Windows側にGit for Windowsのインストールを行い、WSL ディストリビューションではWindows側のGCMを利用するように設定するのが推奨らしい。

# インストールされている GIT が >= v2.39.0 の場合
git config --global credential.helper "/mnt/c/Program\ Files/Git/mingw64/bin/git-credential-manager.exe"

# またはインストールされている GIT が >= v2.36.1 の場合
git config --global credential.helper "/mnt/c/Program\ Files/Git/mingw64/libexec/git-core/git-credential-manager.exe"

# またはバージョンが < v2.36.1 の場合は、次のコマンドを入力します:
git config --global credential.helper "/mnt/c/Program\ Files/Git/mingw64/bin/git-credential-manager-core.exe"

Windows側のGCMを利用しない場合は、Configuring WSL without Git for Windowsを参照。

Configuring WSL without Git for Windows

Docker を使用してリモート開発コンテナーを設定する

Windows側にDocker Desktop for Windowsをインストールしで、wsl2上でリモートコンテナを使用した開発を始める方法について説明されている。

データベースの設定

WSL上に各種DBをインストールして接続する方法について記述がありました。

  • MySQL
  • PostgreSQL
  • MongoDB
  • Redis
  • Microsoft SQL Server、または SQLite

パフォーマンスを向上させるために GPU アクセラレーションを設定する

WSL上でGPUを利用するための設定について記述がありました。
今回の環境では関係ないので、そういう設定があるのか程度で読み飛ばし。

基本的な WSL コマンド

  • Windows側からwsl上のコマンドを実行
  • Windows側からwsl上のコマンドを実行して、Windows側のコマンドでフィルタする混在ケース
  • wls上からWindowsツールを実行するケース
  • wsl上でWindowsツールを実行して、それをwsl側のコマンドでフィルタする混在ケース

Windows上でLinuxコマンドを利用したり、ディストリビューション側でWindowsアプリを利用したり、それが混在するケースだったりについて説明されている。

外部ドライブまたは USB をマウントする

wsl2を利用してディスクをマウントする方法について記述がありました。
今回の環境では関係ないので、そういう設定があるのか程度で読み飛ばし。

Linux GUI アプリを実行する

WSL2上にLinux GUIアプリケーションをインストールして、起動するとWindows側のアプリのように実行される事について紹介されています。

# geditのインストール
sudo apt install gedit -y

wsl2上でgeditをインストールすると、Windows側のスタートメニューでディストリビューションの下にあたかもWindowsアプリのように選択できるようになる。

image.png

スタートメニューから起動 もしくは wsl2上でインストールしたgeditを実行するとwindowsアプリかのようにエディタが開きます。

image.png

その他のリソース

  • Windows開発環境への設定リンク
  • wslのトラブルシューティングへのリンク
  • wslのリリースノートへのリンク

が紹介されていました。

総評

毎回、なんとなくでインストールして利用していたwslですが、公式のドキュメントが充実してきていたのに今さら気が付いて読んでみました。

インストール方法については特に変化は感じず。

チュートリアルのベストプラクティスを見ると、wsl上のファイルをwindowsなnotepad.exeで開いたり、Linux GUIアプリを利用したり、dockerだったり。

そんな風に利用できるんだってことを掴む意味でもチュートリアル(ベストプラクティス)読んでおいて損はない気がします。

1
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
4