設定 WSL 開發環境

設定 WSL 開發環境的最佳作法逐步指南。 瞭解如何執行命令來安裝使用 Ubuntu 或可設定為安裝其他 Linux 發行版本的預設 Bash 殼層、使用基本 WSL 命令、設定 Visual Studio Code 或 Visual Studio、Git、Windows 認證管理員、MongoDB、Postgres 或 MySQL 等資料庫、設定 GPU 加速、執行 GUI 應用程式等等。

開始使用

Windows 子系統 Linux 版隨附於 Windows 作業系統,但您必須啟用並安裝 Linux 發行版本,才能開始使用。

若要使用簡化的 --install 命令,您必須執行最新的 Windows 組建 (組建 20262 以上版本)。 若要檢查您的版本及組建號碼,請選取 [Windows 標誌鍵 + R]、輸入 winver,然後選取 [確定]。 您可以使用 [設定] 功能表或 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 (超級使用者執行) 系統管理命令。

  • 在 WSL 上執行的每個 Linux 發行版本都有自己的 Linux 使用者帳戶和密碼。 每當您新增散發套件、重新安裝或重設時,都必須設定 Linux 使用者帳戶。

注意

隨 WSL 一起安裝的 Linux 發行版本由每個使用者安裝,無法與其他 Windows 使用者帳戶共用。 遇到使用者名稱錯誤嗎? StackExchange:我應該在 Linux 的使用者名稱中使用或不使用哪些字元?

Ubuntu command line enter UNIX username

若要變更或重設您的密碼,請開啟 Linux 發行版本,然後輸入下列命令:passwd。 系統會要求您輸入目前的密碼,然後要求您輸入新密碼,然後確認您的新密碼。

如果您忘記 Linux 散發套件的密碼:

  1. 開啟 PowerShell,並使用下列命令進入預設 WSL 散發套件的根目錄:wsl -u root

    如果您需要在不是預設值的散發套件上更新忘記的密碼,請使用命令:wsl -d Debian -u root,以目標散發套件的名稱取代 Debian

  2. 在 PowerShell 中的根層級開啟 WSL 散發套件之後,您就可以使用此命令來更新您的密碼:passwd <username>,其中 <username> 是發行版本中您已忘記密碼的帳戶使用者名稱。

  3. 系統會提示您輸入新的 UNIX 密碼,然後確認該密碼。 一旦系統告知您密碼已成功更新,請使用命令關閉 PowerShell 中的 WSL:exit

更新和升級套件

建議您使用發行版本慣用的套件管理員,定期更新和升級套件。 針對 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

檔案儲存體

  • 若要在 Windows 檔案總管中開啟 WSL 專案,請輸入:explorer.exe .
    請務必在命令結尾新增句點,以開啟目前的目錄。

  • 將專案檔儲存在與您計畫使用之工具相同的作業系統上
    如需最快的效能速度,如果您是在 Linux 命令列 (Ubuntu、OpenSUSE 等) 中使用 Linux 工具處理這些檔案,請將檔案儲存在 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

安裝您慣用的程式碼編輯器

建議您使用 Visual Studio Code 或 Visual Studio,因為它們直接支援使用 WSL 進行遠端開發和偵錯。 Visual Studio Code 可讓您使用 WSL 作為功能完整的開發環境。 Visual Studio 提供 C++ 跨平台開發的原生 WSL 支援。

使用 Visual Studio Code

請遵循此逐步指南以開始使用 Visual Studio Code 與 WSL,其中包括安裝遠端開發延伸模組套件。 此延伸模組可讓您執行 WSL、SSH 或開發容器,以使用完整的 Visual Studio Code 功能集進行編輯和偵錯。 在不同、個別的開發環境之間快速交換並進行更新,而不必擔心影響本機電腦。

安裝並設定 VS Code 之後,您可用 VS Code 遠端伺服器開啟 WSL 專案,請輸入:code .

請務必在命令結尾新增句點,以開啟目前的目錄。

VS Code with WSL extensions displayed

使用 Visual Studio

請遵循此逐步指南,開始使用 Visual Studio 與 WSL for C++ 跨平台開發。 Visual Studio 2022 可讓您在 Windows、WSL 發行版本和來自相同 Visual Studio 執行個體的 SSH 連線上建置和偵錯 CMake 專案。

Select a target system in Visual Studio 2022

使用 Git 設定版本管理

請遵循此逐步指南,開始在 WSL 上使用 Git,並將專案連線至 Git 版本控制系統,以及使用認證管理員進行驗證、使用 Git Ignore 檔案、瞭解 Git 行結尾,以及使用內建至 VS Code 的 Git 命令。

Displaying git version in the command line

使用 Docker 設定遠端開發容器

請遵循此逐步指南,開始在 WSL 2 上使用 Docker 遠端容器,並使用適用於 Windows 的 Docker Desktop 將您的專案連線到遠端開發容器。

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,並輸入下列命令來顯示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 網路組態值,然後將它篩選為僅使用 grep 的 IPv4 結果,Linux 工具。

掛接外部磁碟機或 USB

請遵循此逐步指南,開始在 WSL 2 中掛接 Linux 磁片

wsl mount command screenshot

執行 Linux GUI 應用程式

請遵循本教學課程,瞭解如何在 WSL 上設定及執行 Linux GUI 應用程式

其他資源