ガクセイハッカソン

(Windowsユーザー向け)WSL環境構築

2023-11-10 公開

2023-11-15 更新

WSL とは

(画像引用元: Deploy Enterprise-Edition on WSL2)

WSL(Windows Subsystem for Linux) は、Windows 上で Linux を動作させるための実行環境です。マイクロソフト社が開発者のためのツールとして提供しており、WSL1 のベータ版が 2016 年 8 月に、正式版が 2017 年 10 月に公開された後、2019 年 2 月に現在の WSL2 が公開されました。
WSL を利用することで、Windows OS の PC 上で Linux を動作させることができ、わざわざ PC を変えたり OS を切り替えたりする必要なく、Linux を扱うことができます。WSL は、PC にインストールされているソフトウェアの 1 つのように、Linux 環境を扱うことができるツールとなります。

本記事では最新版である WSL2 のインストール手順について説明を行います。

WSL のインストールについて

WSL のインストールにあたり、Windows 標準の PowerShell またはコマンドプロンプトを用いて、コマンド入力を使用します。
使用可能な PC は Windows 10 (2004 以上) または Windows 11 となります。それより前のバージョンを利用している場合は Windows Update で最新版に更新をするようにしてください。

WSL のインストール方法

以前は Windows で WSL を使用する場合、いくつかの事前設定を必要としていましたが、現在ではコマンドプロンプトで 1 文実行するだけで Ubuntu がインストールされた環境を構築することができます。
Windows PowerShell または コマンドプロンプト を管理者モードで開き、以下のコマンドを入力後、PC を再起動します。

wsl --install

※ 管理者モードは、右クリックで[管理者として実行]を選択することで開くことができます。

Linux ディストリビューションのインストール

  1. 「Microsoft Store」を開く
    (Windows のスタートボタンから「Microsoft Store」と検索することで開けます)
  2. 検索欄に「ubuntu」と入力、検索し、無印の「Ubuntu」を選択し「入手」からインストール実行

(画像引用元: 【Windows 10】microsoft ストアから Ubuntu をインストールする方法!)

  1. インストール後「開く」から Ubuntu の初期設定画面が開くので、以下の順で入力を進める
Enter new UNIX username: (新しく作成するユーザー名を入力)
New password:	(パスワードを入力)
Retype new password: (同じパスワードをもう一度入力)

Windows Terminal でより簡単に WSL を実行

こちらは必須ではないですが、「Windows Terminal」を使うことで WSL2 を 1 つのタブとして切り替えて利用できるようになります。必要に応じて以下の手順に従ってインストールしてください。
※ Windows 11 の場合は、初めから Windows Terminal がインストールされているため、インストールする必要はございません。

  1. 「Microsoft Store」を開く
    (Windows のスタートボタンから「Microsoft Store」と検索することで開けます)
  2. 検索欄に「Windows Terminal」と入力、検索し、「入手」からインストール実行
  3. インストール後「開く」から Windows Terminal を起動し完了。

Windows Terminal のタブ横の下三角ボタン ▽ から Ubuntu を選択することで、1 つのタブでの利用ができます。

WSL のバージョン切り替え

コマンドwsl -l -vを実行することで、Linux ディストリビューションが WSL1 と WSL2 のどちらに設定されているかを確認できます。
wsl --install コマンドを使用してインストールされた WSL は、既定で WSL 2 に設定されています。
WSL のバージョンを切り替えたい時にはwsl --set-version <distro name> 2を実行してください。このときの<distro name>は更新する Linux ディストリビューションの名前に置き換えて入力してください。

WSL から VS Code を使う方法

VS Code (Visual Studio Code) と WSL 拡張機能を使用すると、VS Code から直接、WSL をフルタイム開発環境として使用できます。

※ 本記事では VS Code のインストールが済んでいる前提で解説していきます。インストールがお済みでない方はVS Code のインストールページからご自身の環境に合ったものをインストールしてください。

VS Code と WSL 拡張機能のインストール

  1. VS Code のインストール
    • VS Code のインストールページからご自身の環境に合ったものをインストールしてください。インストール中に [追加タスクの選択] が求められたときは、[PATH への追加] オプションがオンになっていることを確認してください。
  2. 拡張機能 Remote Development のインストール
    • VS Code がインストールできたら、拡張機能からRemote Developmentをインストールして下さい。Remote Development には、リモート - SSH 拡張機能、Dev Containers 拡張機能、WSL 拡張機能が含まれており、コンテナ内、リモート マシン上、または WSL 内の任意のフォルダーを開くことができるようになります。

Linux ディストリビューションを更新

一部の Linux ディストリビューションには、VS Code サーバーの起動に必要なライブラリがありません。以下のコマンドを使用して、Linux ディストリビューションにライブラリを追加できます。

Debian または Ubuntu を更新するには、以下のコマンドを実行します。

sudo apt-get update

wget (Web サーバーからコンテンツを取得するため) と ca-certificates (SSL ベースのアプリケーションが SSL 接続の信頼性をチェックできるようにするため) を追加するには、以下のコマンドを実行します。

sudo apt-get install wget ca-certificates

VS Code で WSL プロジェクトを開く

  • コマンドラインから開く方法: 開きたいプロジェクトまでcdコマンドで移動し、code .を実行することで VS Code を開くことができます。

(参考: Exec Format Error で VSCode が WSL2 から起動できない時の対処法)

  • VS Code から開く方法: VS Code のショートカットCTRL+SHIFT+P (Windows)Command+SHIFT+P(Mac)でコマンドパレットを表示し、REMOTE-WSL:と検索することで WSL 使用可能なオプションのリストが表示されます。必要なものを選択し WSL セッションでフォルダーを再度開いたり、どのディストリビューションで開くかを指定してください。

WSL および Windows 間のファイルのやり取り

WSL から Windows ファイルシステムへのアクセス

基本的には/mnt/{ドライブ名}/Users/{ユーザー名}/{Project名}でアクセスすることができます。例えば c ドライブのデスクトップにアクセスする場合は、

cd /mnt/c/Users/{ユーザー名}/Desktop/

で Desktop まで移動できます。

Windows から WSL ファイルシステムへのアクセス

Windows エクスプローラを開き、上部のパス欄に \\wsl$ を入力すると、WSL のディストリビューション毎のファイルシステムにアクセスできます。

(画像引用元: WSL と windows 間のファイル連携)

関連記事