Windows11へのWSL2とUbuntuの導入・基本操作(#2)

Windows11へのWSL2とUbuntuの導入・基本操作

この記事は、「WSL2 + Lando:WindowsでのWeb開発環境構築ガイド」シリーズの2ページ目です。今回は、Windows11でWSL2(Windows Subsystem for Linux 2)とUbuntuを導入する手順と、日常的によく使用するコマンドや基本操作について紹介したいと思います。

次の環境で実施しています:

  • Windows11

では、さっそく進めましょう!

WSL2をインストールする

Windows11から、WSL2のセットアップが簡略化されとても簡単になりました。

PowerShellを管理者モードで開き、wsl --installコマンドを実行します。

wsl --install

このコマンドにより、必要なコンポーネントと、規定のLinuxディストリビューションであるUbuntuが自動でインストールされます。

Ubuntu以外を使いたい場合は?

WSLの規定のLinuxディストリビューションがUbuntuなので、何も指定しなければ自動でUbuntuがインストールされます。これを変更したい場合は、wsl --installの変わりに、wsl --install -d <Distribution Name>コマンドを実行します。

ここで指定する<Distribution Name>は、次のコマンドで確認することができます。
wsl --list --online

Ubuntuの初期設定を行う

次に、Ubuntuの初期設定を行います。
WindowsのスタートメニューにUbuntuが追加されているので、Ubuntu(アプリ)を起動します。

初回起動時はインストール処理が走るので、しばらく待ちます。

Ubuntuのユーザーアカウントとパスワードを設定する

途中で、Ubuntuのユーザーアカウントとパスワードの作成を促されるので、任意のユーザー名とパスワードを指定します。

ここで指定するユーザー名は、Ubuntuの設定・操作を行うためのアカウントです。
パスワードを忘れるとUbuntuの操作ができなくなるので、忘れないよう控えてください。

※Windowsのログインユーザーとは関係がないので合わせる必要はありません。

「Welcome to Ubuntu XX.XX.X」とUbuntuのバージョンが表示され、指定したユーザー名で接続されたら設定完了です。

Ubuntuのパッケージリストを更新、アップデートする

今後、開発用ツールのインストールがスムーズに進むよう、Ubuntuのパッケージリストを更新し、システムの最新バージョンにアップデートしておきます。Ubuntuに接続し、次のコマンドを実行します。

sudo apt update && sudo apt upgrade

これで、基本的なLinux環境が整いました。導入自体はとても簡単です。

WindowsのエクスプローラーでUbuntuの中が見える!

インストールしたUbuntuはどこにあるのでしょうか?
ここにあります!

WSL2環境にして個人的に一番感動したことは、WidowsのエクスプローラーでLinux(Ubuntu)の中が確認できること。

エクスプローラーのアドレスバーに次を入力することで、Ubuntuのホームディレクトリにアクセスすることができます。

\\wsl.localhost\Ubuntu\home\<username>

Linux環境は基本的にコマンドラインで操作するため、視覚的にディレクトリやファイルを確認したり、ダブルクリックしてファイルを開いて編集したり… ができません。WindowsのようなGUIが欲しい場合は「デスクトップ環境」を追加でインストール・セットアップする必要があります。Linuxの設定だけで一苦労。

その点WSL2環境では、難しい設定もなくLinuxがセットアップされ、そのファイルをWindowsライクに操作することができます
開発にあたっては、この「Ubuntu」フォルダの中に各プロジェクト用のフォルダやファイルを設置して編集を行っていくイメージです。

WindowsからWSL2を操作するツールについて

ここまでの工程でも、「PowerShell」や「Ubuntu(アプリ)」など複数のコマンドラインツールが登場しました。Ubuntuや、この後インストールするLandoの設定において「今、自分はWindows側で操作しているのか、WSL側で操作しているのか」を理解しながら進めることはとても大事です。

WindowsからWSL2(Ubuntu)を操作する方法はいくつかあり混乱しますが、簡単に図示するとこのようなイメージです。

Windowsには、Windowsを操作するためのコマンドラインツールとして「コマンドプロンプト」や「(Windows) PowerShell」があります。

上記の工程でWSL2上にUbuntuをインストールすると、WindowsからUbuntuを操作するコマンドラインツールとして「Ubuntu(アプリ)」が追加されます。

「Ubuntu(アプリ)」はUbuntuを操作するツールなので、WSL2の操作はできません。WSL2はWindows上で動作するので、Windowsから直接、つまり「コマンドプロンプト」や「PowerShell」で操作します。

それぞれ個別の製品なので、「WSL2を再起動してからUbuntuでファイル操作をする」場合は、「PowerShellでWSL2を再起動して、Ubuntuアプリでファイルを操作する」といった具合に、2つのアプリを行ったり来たりする必要がありました。

そこで登場するのが「ターミナル (Windows Terminal)」アプリです。
この「ターミナル」は、1つのアプリ内で「コマンドプロンプト」や「PowerShell」、「Ubuntu(アプリ)」をタブで切り替えて操作することができるため、WSL2を効率的に管理することができます。
Windows10では手動でインストールする必要がありましたが、Windows11にはプリインストールされているので一層使いやすくなりました。

「ターミナル」アプリ:PoweShellやコマンドライン、Ubuntuアプリをタブで切り替えられる

操作対象とツールを表にまとめると次のイメージです。

操作対象(作業例)使用するツール
Windows(WSL2をインストールする)PowerShell
WSL2(起動※1・停止・再起動)PowerShell
Ubuntu(ファイル操作)Ubuntu(アプリ)
操作対象とツール

※1:WSL2の起動は、Ubuntu(アプリ)を起動することでも実行することができます。

WSL2とUbuntuの導入手順は以上です。
これより先はWSL2やUbuntuの基本操作に関するリファレンスになりますので、「早くLandoをインストールしたい」という方は、次のページ「WSL2上のUbuntuにLandoをインストールする」へ進んでください。

WSL2の起動・終了などの基本操作

WSL2はWindows上で動作するため、Windowsから直接操作することができます。ここでは、WSL2の起動、終了、再起動の方法を説明します。

WSL2に対する操作です。下記は「PowerShell」を使ったコマンド例です。

WSL2を起動する

次のコマンドで、規定のディストリビューションが起動します。

wsl

複数のLinuxディストリビューションがインストールされている場合、特定のディストリビューションを起動するには、-d オプションを使用します。

wsl -d Ubuntu

「ターミナル」アプリを開き、新しいタブで「Ubuntu」などのディストリビューションを選択する=「Ubuntu(アプリ)」を起動することでもWSL2を起動することができます。

WSL2を終了する

WSL2全体を完全に終了させるには、以下のコマンドを使用します。

wsl --shutdown

WSL2を再起動する

WSL2が不安定な場合や設定変更後に再起動が必要な場合は、次のコマンドで再起動します。

# WSL2を完全に終了する
wsl --shutdown

# WSL2を起動する
wsl

再起動後は、すべての変更が反映され、WSL2環境がリフレッシュされます。

開発環境の構築時は、Gitなどの開発用ツールをインストール・設定した後で、設定の変更を反映するために何度か実行するコマンドになります。Ubuntu(アプリ)で環境を構築しつつ、再起動はPowerShellで実行する、という点がポイントだなと思いました。

Ubuntu操作で使う基本的なLinuxコマンド

ここまでで基本的な環境は整いましたが、実際のプロジェクトで利用するためには、WSL2上に各種開発ツールをインストールしたり、ファイルを操作するといったLinuxでの作業が発生します。
先に基本的なコマンドを知っておくと後の作業への理解が進むと思うので、ここでは実際によく使用するLinuxのコマンドを紹介します。

Ubuntuに対する操作です。下記は「Ubuntu(アプリ)」を使ったコマンド例です。

ファイルシステムの操作系

ls(リスト)

現在のディレクトリの内容を表示します。

ls
ls -l  # 詳細情報を表示
ls -a  # 隠しファイルも表示

cd(チェンジ・ディレクトリ)

ディレクトリを移動します。

cd /home/username  # 指定したディレクトリに移動
cd ..  # 1つ上のディレクトリに移動
cd ~   # ホームディレクトリに移動

mkdir(メイク・ディレクトリ)

新しいディレクトリを作成します。

mkdir new_folder

rm(リムーブ)

ファイルやディレクトリを削除します。

rm file.txt  # ファイルを削除
rm -r folder  # ディレクトリを再帰的に削除

ファイルの編集系

nano

初心者に優しいテキストエディタです。

nano file.txt

編集後、[Ctrl+x]を押すと変更を保存して終了します。

vim

より高度な機能を持つテキストエディタです。

vim file.txt

[i]を押して編集モードに入り、編集後、[Esc]を押した後に「:wq」と入力して変更を保存・終了します。

パッケージ管理系

apt

Ubuntuの新しいパッケージ管理システムです。aptapt-getapt-cacheなどの機能を統合し、より使いやすくしたコマンドです。

# パッケージリストの更新
sudo apt update

# パッケージのインストール
sudo apt install package_name

# パッケージの削除
sudo apt remove package_name

# システム全体のアップデート
sudo apt upgrade

これらのコマンドは後のページでも登場しますので、折に触れ参照してください。

まとめと次のステップ

この記事では、Windows11でWSL2(Windows Subsystem for Linux 2)とUbuntuを導入する手順と、日常的によく使用するコマンドや基本操作について解説しました。
Linuxの中をWindowsのエクスプローラーで確認・操作できる点は、やはり大きなメリットだと感じます。WSL2の導入自体はとても簡単なので、Windowsユーザーの方はぜひ、トライしてみてください。

この記事は、WSL2とLandoを使ってWindows上に実用的なローカル開発環境を構築することを目的とした「WSL2 + Lando:WindowsでのWeb開発環境構築ガイド」シリーズの2ページ目です。

次の記事では、WSL2上のUbuntuにLandoをインストールする手順を詳しく見ていきます。
いよいよLandoの登場です!