WSL 開発環境を設定する

WSL 開発環境を設定するためのベスト プラクティスへのステップ バイ ステップ ガイド コマンドを実行して、Ubuntu を使用する既定の Bash シェルをインストールする方法、他の Linux ディストリビューションをインストールするように設定できる方法、基本的な WSL コマンドを使用する方法、Visual Studio Code または Visual Studio、Git、Windows Credential Manager、MongoDB、Postgres、MySQL などのデータベースを設定する方法、GPU アクセラレーションの設定、GUI アプリの実行などを行う方法について説明します。

はじめに

Linux 用 Windows サブシステムは、Windows オペレーティング システムに付属していますが、使用を開始する前に有効にして Linux ディストリビューションをインストールする必要があります。

簡略化された --install コマンドを使用するには、Windows の最新ビルド (ビルド 20262 以上) を実行している必要があります。 バージョンとビルド番号を確認するには、Windows ロゴ キー + R キーを押して、「winver」と入力し、 [OK] を選択します。 更新するには、[設定] メニューまたは Windows 更新アシスタントを使用できます。

Ubuntu 以外の Linux ディストリビューションをインストールする場合、またはこれらの手順を手動で実行する場合は、WSL のインストール ページで詳細を参照します。

PowerShell (または Windows のコマンド プロンプト) を開き、次のコマンドを入力します。

wsl --install

--install コマンドでは、次のアクションが実行されます。

  • オプションの WSL および仮想マシン プラットフォームのコンポーネントを有効にする
  • 最新の Linux カーネルをダウンロードしてインストールする
  • WSL 2 を既定値として設定する
  • Ubuntu Linux ディストリビューションをダウンロードしてインストールする (再起動が必要になる場合があります)

このインストール プロセス中にコンピューターを再起動する必要があります。

PowerShell command line running wsl --install

問題が発生した場合は、インストールのトラブルシューティングに関する記事を参照します。

Linux のユーザー名とパスワードを設定する

WSL を使用して Linux ディストリビューションをインストールするプロセスが完了したら、[スタート] メニューを使用してディストリビューション (既定では Ubuntu) を開きます。 Linux ディストリビューションのユーザー名パスワードの作成を求められます。

  • このユーザー名およびパスワードは、インストールする Linux ディストリビューションごとに固有であり、Windows ユーザー名とは関係ありません。

  • パスワードを入力するときに、画面には何も表示されないことに注意してください。 これはブラインド タイピングと呼ばれます。 入力内容が表示されません。これは完全に正常です。

  • ユーザーがユーザー名およびパスワードを作成すると、そのアカウントがディストリビューションの既定のユーザーとなり、起動時に自動的にサインインされます。

  • このアカウントは、Linux 管理者と見なされ、sudo (Super User Do) 管理コマンドを実行できます。

  • WSL で実行されている各 Linux ディストリビューションには、独自の Linux ユーザー アカウントとパスワードがあります。 ディストリビューションの追加、再インストール、再設定を行うたびに、Linux ユーザー アカウントを構成する必要があります。

Note

WSL と一緒にインストールされた Linux ディストリビューションはユーザーごとのインストールであり、他の Windows ユーザー アカウントと共有することはできません。 ユーザー名エラーが発生した場合は、 StackExchange の Linux のユーザー名で使用できる文字に関する説明を参照します。

Ubuntu command line enter UNIX username

パスワードを変更またはリセットするには、Linux ディストリビューションを開き、コマンド「passwd」を入力します。 現在のパスワードを入力するよう求められ、新しいパスワードの入力を求められたら、新しいパスワードを確認します。

Linux ディストリビューションのパスワードを忘れた場合は、次のようにします。

  1. PowerShell を開き、コマンド wsl -u root を使用して、既定の WSL ディストリビューションのルートを入力します。

    既定ではないディストリビューションで忘れたパスワードを更新する必要がある場合は、コマンド wsl -d Debian -u root を使用します。Debian は対象のディストリビューション名に置き換えます。

  2. PowerShell 内のルート レベルでお客様の WSL ディストリビューションが開いたら、コマンド passwd <username> を使用してパスワードを更新できます。ここで、<username> は、パスワードを忘れてしまったディストリビューションのアカウントのユーザー名です。

  3. 新しい UNIX パスワードを入力し、そのパスワードを確認するように求められます。 パスワードが正常に更新されたことを示す通知が表示されたら、コマンド exit を使用して PowerShell 内の WSL を閉じます。

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

ディストリビューションの優先パッケージ マネージャーを使用して、パッケージを定期的に更新およびアップグレードすることをお勧めします。 Ubuntu または Debian の場合は、次のコマンドを使用します。

sudo apt update && sudo apt upgrade

Windows では、Linux ディストリビューションの更新やアップグレードは自動的に行われません。 これは、ほとんどの Linux ユーザーが自分で制御することを好むタスクです。

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

Linux ディストリビューションを追加するには、Microsoft Store 経由、--import コマンドを使用、または独自のカスタム ディストリビューションのサイドローディングによるインストールができます。 また、エンタープライズ企業全体のディストリビューション向けにカスタム WSLイメージを設定する場合もあります。

Windows Terminalの設定

Windows Terminalは、コマンド ライン インターフェイスを使用して任意のアプリケーションを実行できます。 主な機能には、複数のタブ、ペイン、Unicode および UTF-8 文字のサポート、GPU で高速化されたテキスト レンダリング エンジン、独自のテーマを作成したり、テキスト、色、背景、およびショートカットをカスタマイズしたりする機能があります。

新しい WSL Linux ディストリビューションがインストールされるたびに、ユーザー設定に合わせてカスタマイズできる Windows Terminal内に新しいインスタンスが作成されます。

特に、複数のコマンド ラインの使用を計画している場合は、Windows Terminalで WSL を使用することをお勧めします。 次のような設定とカスタマイズについては、Windows Terminalのドキュメントを参照します。

Windows Terminal screenshot

File Storage

  • WSL プロジェクトを Windows エクスプローラーで開くには、次のコマンドを入力します。explorer.exe .
    現在のディレクトリを開くために、必ずコマンドの最後にピリオドを追加します。

  • 使用する予定のツールと同じオペレーティング システムにプロジェクト ファイルを格納します
    Linux ツールを使用して Linux コマンド ライン (Ubuntu、OpenSUSE など) で作業している場合、最速のパフォーマンス速度を実現するには、ファイルを WSL ファイル システムに格納します。 Windows ツールを使用して Windows コマンド ライン (PowerShell、コマンド プロンプト) で作業している場合、ファイルを Windows ファイル システムに格納します。 オペレーティング システム全体のファイルにアクセスできますが、パフォーマンスが大幅に低下する可能性があります。

たとえば、WSL プロジェクト ファイルを格納する場合は、次のとおりです。

  • Linux ファイル システムのルート ディレクトリを使用します: \\wsl$\<DistroName>\home\<UserName>\Project
  • Windows ファイル システムのルート ディレクトリは使用しません: C:\Users\<UserName>\Project または /mnt/c/Users/<UserName>/Project$

Windows File Explorer displaying Linux storage

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

WSL を使用したリモート開発とデバッグを直接サポートするため、Visual Studio Code または Visual Studio を使用することをお勧めします。 Visual Studio Code を使用すると、フル機能の開発環境として WSL を使用できます。 Visual Studio は、C++ クロスプラットフォーム開発に対するネイティブ WSL サポートを提供します。

Visual Studio Code を使用する

このステップ バイ ステップ ガイドに従って、WSL での Visual Studio Code の使用を開始します。これには、リモート開発拡張機能パックのインストールが含まれます。 この拡張機能を使用すると、WSL、SSH、または開発コンテナーを実行して、Visual Studio Code のすべての機能を使用して編集およびデバッグできます。 異なる個別の開発環境間ですばやくスワップし、ローカル コンピューターへの影響を気にすることなく更新を行います。

VS Code のインストールと設定が完了したら、次のコマンドを入力して、VS Code リモート サーバーを使用して WSL プロジェクトを開くことができます。code .

現在のディレクトリを開くために、必ずコマンドの最後にピリオドを追加します。

VS Code with WSL extensions displayed

Visual Studio を使用する

このステップ バイ ステップ ガイドに従って、C++ クロスプラットフォーム開発向けに WSL で Visual Studio の使用を開始します。 Visual Studio 2022 では、Windows、WSL ディストリビューション、Visual Studio の同じインスタンスからの SSH 接続で CMake プロジェクトをビルドおよびデバッグできます。

Select a target system in Visual Studio 2022

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

このステップ バイ ステップ ガイドに従って、WSL で Git の使用を開始し、プロジェクトを Git バージョン管理システムに接続し、同時に認証に資格情報マネージャーを使用し、Git 無視ファイルを使用し、Git 行の終わりを理解して、VS Code に組み込まれている Git コマンドを使用します。

Displaying git version in the command line

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

このステップ バイ ステップ ガイドに従って、WSL 2 で Docker リモート コンテナーの使用を開始し、Docker Desktop for Windows を使用してプロジェクトをリモート開発コンテナーに接続します。

Docker Desktop screenshot

データベースの設定

このステップ バイ ステップ ガイドに従って、WSL のデータベースの概要を理解し、WSL 環境内のデータベースにプロジェクトを接続します。 MySQL、PostgreSQL、MongoDB、Redis、Microsoft SQL Server、または SQLite で作業を開始します。

Running MongoDB in Ubuntu via WSL

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

このステップ バイ ステップ ガイドに従って、WSL で GPU 高速機械学習トレーニングを設定し、コンピューターの GPU (グラフィックス処理ユニット) を活用してパフォーマンスの負荷の高いワークロードを高速化します。

Running GPU acceleration with WSL

基本的な WSL コマンド

WSL を使用してインストールする Linux ディストリビューションは、PowerShell または Windows コマンド プロンプト (CMD) を使用することで最適に管理できます。 WSL を使用する際に便利な基本的なコマンドの一覧については、WSL コマンド リファレンス ガイドを参照します。

さらに、多くのコマンドは、Windows と Linux の間で相互運用可能です。 いくつかの例を次に示します。

  • Windows コマンド ラインから Linux ツール実行する: PowerShell を開き、「wsl ls -la」と入力して Linux ls -la コマンドを使用して C:\temp> のディレクトリの内容を表示します。

  • Linux コマンドと Windows コマンドを混在させる: この例では、Linux コマンド ls -la を使用してディレクトリ内のファイルを一覧表示します。次に、PowerShell コマンド findstr を使用して "git" を含む単語の結果をフィルター処理します。wsl ls -la | findstr "git" と実行します。 これは、Windows の dir コマンドと Linux の grep コマンドを組み合わせて dir | wsl grep git としても実行できます。

  • WSL コマンド ラインから直接 Windows ツールを実行する: <tool-name>.exe を実行します。たとえば、.bashrc ファイル (Linux コマンド ラインが起動されるたびに実行されるシェル スクリプト) を開く場合は、「notepad.exe .bashrc」と入力します。

  • Linux Grep ツールを使用して Windows ipconfig.exe を実行する: Bash から ipconfig.exe | grep IPv4 | cut -d: -f2 コマンドを入力するか、PowerShell から ipconfig.exe | wsl grep IPv4 | wsl cut -d: -f2 を入力します。この例では、Windows ファイル システムで ipconfig ツールを使って現在の TCP/IP ネットワーク構成の値を表示した後、Linux ツールの grep を使って IPv4 の結果のみにフィルター処理する方法を示します。

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

このステップ バイ ステップ ガイドに従って、WSL 2 で Linux ディスクのマウントを開始します

wsl mount command screenshot

Linux GUI アプリを実行する

WSL で Linux GUI アプリを設定して実行する方法については、このチュートリアルに従ってください。

その他のリソース