建立 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 命令行執行 wsl --install
如果您遇到任何問題,請查看有關安裝問題排解的文章。
設定您的 Linux 使用者名稱和密碼
完成使用 WSL 安裝 Linux 發行版本的程序後,請使用 [開始] 功能表開啟發行版本 (預設為 Ubuntu)。 系統會要求您為 Linux 發行版本建立 [使用者名稱] 和 [密碼]。
此使用者名稱和密碼是每個各自 Linux 發行版本專屬,不會影響您的 Windows 使用者名稱。
請注意,輸入 [密碼] 時,畫面上不會顯示任何內容。 這稱為盲目輸入。 您不會看到您正在輸入的內容,這完全正常。
一旦您建立使用者名稱和密碼,帳戶就會是您散發套件的預設使用者,而且會在啟動時自動登入。
此帳戶將會被視為 Linux 系統管理員,並且能夠執行
sudo
(超級使用者執行) 系統管理命令。在 WSL 上執行的每個 Linux 發行版本都有自己的 Linux 使用者帳戶和密碼。 每當您新增散發套件、重新安裝或重設時,都必須設定 Linux 使用者帳戶。
注意
隨 WSL 一起安裝的 Linux 發行版本由每個使用者安裝,無法與其他 Windows 使用者帳戶共用。 遇到使用者名稱錯誤嗎? StackExchange:我應該在 Linux 的使用者名稱中使用或不使用哪些字元?
Ubuntu 命令行輸入 UNIX 用戶名稱
若要變更或重設您的密碼,請開啟 Linux 發行版,然後輸入命令:passwd
。 系統會要求您輸入目前的密碼,然後要求您輸入新密碼,然後確認您的新密碼。
如果您忘記 Linux 發行版的密碼:
開啟 PowerShell,並使用命令 `
wsl -u root
` 進入預設 WSL 發行版本的根目錄。如果您需要在非您的預設發行版上更新密碼,請使用命令:
wsl -d Debian -u root
,並將Debian
替換為目標發行版的名稱。在 PowerShell 中以根層級開啟 WSL 發行版之後,您就可以使用此命令來更新您的密碼:
passwd <username>
,其中<username>
是發行版中您忘記密碼的使用者帳戶名稱。系統會提示您輸入新的 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 中創建一個新的執行個體,您可以根據自己的喜好自訂該執行個體。
我們建議在 Windows Terminal 上使用 WSL,特別是當您計劃使用多個命令列時。 請參閱 Windows Terminal 說明文件,以取得設定和自訂喜好設定的說明,包括:
- 從 Microsoft Store 安裝 Windows 或 Windows (預覽版)
- 使用命令選擇區
- 將 自定義動作 設定為,例如鍵盤快捷鍵,以使終端機使用起來更符合您的喜好
- 設定預設啟動設定檔
- 自訂外觀:佈景主題、色彩配置、名稱和起始目錄、背景圖片等。
- 瞭解如何使用 指令列參數,例如開啟一個終端機,其中多個指令列可以分割成視窗窗格或標籤。
- 瞭解搜尋功能
- 尋找提示和技巧,例如如何重新命名或設定索引標籤的色彩、使用滑鼠互動或啟用「地震模式」
- 尋找關於如何設定自訂命令提示字元、SSH 設定檔或索引標籤標題的教程
- 尋找 自定義終端畫廊 和 疑難排解指南
Windows 螢幕截圖
檔案儲存體
若要在 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$
顯示 Linux 記憶體的 Windows 檔案總管
安裝您慣用的程式碼編輯器
建議您使用 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 顯示 WSL 擴充功能
使用 Visual Studio
請遵循此逐步指南,開始使用Visual Studio並與WSL進行C++跨平台開發。 Visual Studio 2022 可讓您在 Windows、WSL 發行版本和來自相同 Visual Studio 執行個體的 SSH 連線上建置和偵錯 CMake 專案。
在 Visual Studio 2022 中選取目標系統
使用 Git 設定版本管理
請遵循以下逐步指南,開始使用 Git 於 WSL 上,並將專案連線至 Git 版本控制系統,以及使用認證管理員進行驗證、使用 Git Ignore 檔案、瞭解 Git 換行結尾格式,以及使用內建於 VS Code 的 Git 命令。
命令行中顯示 git 版本
使用 Docker 設定遠端開發容器
請遵循此步驟指南,開始在 WSL 2 上使用 Docker 遠端容器,並使用 Windows 版 Docker 桌面版將您的專案連結到遠端開發容器。
Docker Desktop 螢幕快照
設定資料庫
請遵循此分步指南,在 WSL 上開始使用資料庫,並將您的專案連結到 WSL 環境中的資料庫。 開始使用 MySQL、PostgreSQL、MongoDB、Redis、Microsoft SQL Server 或 SQLite。
在 Ubuntu 中透過 WSL 執行 MongoDB
設定 GPU 加速以加快效能
請遵循此逐步指南來在 WSL 中設定 GPU 加速的機器學習訓練,並利用您電腦的 GPU(圖形處理單元)來加速效能高負載的工作。
使用 WSL 執行 GPU 加速
基本 WSL 命令
您透過 WSL 安裝的 Linux 發行版本最適合使用 PowerShell 或 Windows 命令提示字元 (CMD) 進行管理。 如需使用 WSL 時要熟悉的基本命令清單,請參閱 WSL 命令參考指南。
此外,許多命令在 Windows 和 Linux 之間互通。 以下提供幾個範例:
從 Windows 命令列執行 Linux 工具:開啟 PowerShell,並輸入下列命令以使用 Linux 命令顯示 C:\temp 目錄的內容:wsl ls -la
混合 Linux 和 Windows 命令:在此範例中,使用 Linux 命令 列出目錄中的檔案,接著使用 PowerShell 命令 篩選出包含「git」字串的結果:。 也可以將 Windows
dir
命令與 Linuxgrep
命令混合使用: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 掛載命令螢幕截圖
執行 Linux GUI 應用程式
若要瞭解如何在 WSL 上設定及執行 Linux GUI 應用程式,請參考本教學課程。
其他資源
- 在 Windows 上設定您的開發環境:瞭解如何為您喜愛的語言或架構設定開發環境,例如 React、Python、NodeJS、Vue 等。
- 疑難排解:尋找常見問題、報告錯誤的途徑、要求新功能的途徑,以及如何貢獻文件。
- 常見問題集:提供常見問題的清單。
- 版本資訊:查看 WSL 版本資訊,以取得過去版本更新的歷程記錄。 您也可以找到 WSL Linux 核心的版本資訊。