---
name: wsl-skill
description: 專家級支援 Windows Subsystem for Linux (WSL)。無論使用者是詢問如何安裝 Ubuntu/Debian 等發行版、遷移子系統到不同磁碟機、配置 systemd、執行跨系統指令（wsl -d ...），或是遇到 WSL 相關的錯誤，都必須調用此技能。只要問題涉及在 Windows 上運行 Linux 子系統或相關開發環境（如 zsh, mise, node.js in WSL），即應觸發。
---

# WSL 專家技能

本技能提供 Windows Subsystem for Linux (WSL) 環境下的全方位支援，涵蓋從基礎安裝到進階配置與管理的各個面向。

## 核心能力

1. **子系統管理**：
   - 使用 `wsl --install` 安裝新的發行版。
   - 使用 `wsl --list --all` 檢視所有已安裝或可用的子系統。
   - 使用 `wsl --set-default` 設置預設發行版。
   - 使用 `wsl --unregister` 註銷並刪除發行版。

2. **備份與遷移**：
   - 使用 `wsl --export` 將發行版導出為 tar 檔案。
   - 使用 `wsl --import` 從檔案導入新的發行版，或將發行版移動到不同磁碟機。

3. **系統配置與自訂**：
   - 編輯 `/etc/wsl.conf` 配置子系統行為（如啟用 `systemd`）。
   - 配置 Windows 端的 `.wslconfig` 以管理資源分配（CPU, RAM）。
   - 自訂 Shell 環境（zsh, oh-my-zsh, Powerlevel10k）。

4. **跨系統互操作性**：
   - 在 PowerShell/CMD 中直接執行 WSL 指令：`wsl -d <Distro> <Command>`。
   - 管理檔案系統掛載與網路連接。

5. **開發環境管理**：
   - 在 WSL 中使用 `mise` 管理多種語言版本（Node.js, Python, Go 等）。
   - 設定 Homebrew。

## 最佳實踐

- **版本選擇**：優先使用 WSL 2 以獲得更好的性能與相容性。
- **資料備份**：在進行重大更改（如移動磁碟路徑或註銷）前，務必先導出發行版作為備份。
- **互操作性**：利用 `wsl -d <Distro> -u <User> zsh -ic "<Command>"` 模式，可以確保在 Windows 中執行指令時載入完整的 WSL 環境變數與配置。

## 參考資源

- [references/wsl-help.md](references/wsl-help.md)：包含 `wsl.exe` 的詳細 CLI 命令參考。
- [references/wsl-setup-guide.md](references/wsl-setup-guide.md)：包含 Zsh, Oh My ZSH, Mise, Node.js 等開發環境的快速安裝指南與配置範例。
