次の方法で共有


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 --installPowerShell コマンド ラインで wsl --install を実行中

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

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

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

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

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

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

  • このアカウントは、Linux 管理者と見なされ、sudo (Super User Do) 管理コマンドを実行する能力があることを意味します。

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

注意

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

Ubuntu コマンド ラインで UNIX ユーザー名を入力

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

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

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

    デフォルトではないディストリビューションの忘れたパスワードを更新する必要がある場合は、wsl -d Debian -u root コマンドを使用し、Debian を目的のディストリビューション名に置き換えてください。

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

  3. 新しい UNIX パスワードを入力し、そのパスワードを確認するように求められます。 パスワードが正常に更新されたという通知が表示されたら、PowerShell 内で exit コマンドを使用して 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と一緒にWSLを使用することをお勧めします。 Windows Terminal のセットアップ方法や好みに合わせたカスタマイズについては、ドキュメントを参照してください。

Windows のスクリーンショット

ファイルストレージ

  • 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 storageLinux ストレージを表示している Windows エクスプローラー

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

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 のインストールと設定が完了したら、code . を入力して、VS Code リモート サーバーで WSL プロジェクトを開くことができます。

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

VS Code with WSL extensions displayedVS Code が WSL 拡張機能を表示

Visual Studio を使用する

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

Visual Studio 2022 でターゲット システムを選択する

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

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

Displaying git version in the command lineGitのバージョンをコマンドラインで表示する

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

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

Docker Desktop のスクリーンショットDocker Desktop のスクリーンショット

データベースの設定

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

WSL を介して Ubuntu で MongoDB を実行するWSL を介して Ubuntu で MongoDB を実行する

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

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

Running GPU acceleration with WSLWSL で GPU アクセラレーションを実行する

基本的な WSL コマンド

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

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

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

  • 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 screenshotWSL マウント コマンドのスクリーンショット

Linux GUI アプリを実行する

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

その他のリソース