เอกสาร

WSL บน Windows

มีสองวิธีใช้ WSL บน Windows: แบบเบาเพิ่มเชลล์ WSL เป็นโปรไฟล์เทอร์มินัล แบบเต็มติดตั้ง vterm-server ภายใน WSL แบบแรกได้แค่เชลล์; แบบหลังปลดล็อกการจัดการไฟล์ แผง Git, MCP และทุกอย่าง

แบบเบา: โปรไฟล์เทอร์มินัล WSL

บน Windows โปรไฟล์เทอร์มินัล WSL โหลดอัตโนมัติ: ตอนเริ่มระบบเซิร์ฟเวอร์ตรวจพบ wsl.exe และระบุ distro ที่ติดตั้ง เพิ่มรายการโปรไฟล์หนึ่งรายการต่อ distro ลงในรายการ (เช่น Ubuntu (WSL); รายการทั่วไป WSL ปรากฏเมื่อไม่มี distro)

จะใช้ก็เพียงเลือกรายการ WSL ในเมนูโปรไฟล์บนแถบหัวเรื่องของไคลเอนต์ — distro จะเริ่มและวางคุณลงในเทอร์มินัลของมันทันที เหมือนเปิดอันท้องถิ่น

ข้อจำกัด: เซสชันแบบนี้ทำงานบนเซิร์ฟเวอร์ฝั่ง Windows — ตัวสำรวจไฟล์ แผง Git ตัวแปรสภาพแวดล้อมและอื่น ๆ ของไคลเอนต์ไม่ทำงาน (ทำงานด้วยความหมายระบบไฟล์ Windows และมองไม่เห็นระบบไฟล์ Linux ใน WSL)

เมนูโปรไฟล์เทอร์มินัล — distro WSL ที่ระบุอัตโนมัติ

แบบเต็ม: ติดตั้ง vterm-server ใน WSL

มอง WSL เป็นเครื่อง Linux ของตัวเองและติดตั้ง vterm-server แบบ headless เว็บไซต์มีสคริปต์บรรทัดเดียว — วางลงในเทอร์มินัล WSL:

curl -fsSL https://vterminal.dev/install.sh | bash

สคริปต์อัตโนมัติ:

  1. ตรวจจับสภาพแวดล้อม WSL/headless และดาวน์โหลด vterm-server headless ไปยัง ~/.local/vterm;
  2. ติดตั้ง บริการผู้ใช้ systemd และเริ่มทันที — ทำงานทุกครั้งที่ล็อกอิน (รวมถึงการเริ่ม WSL) ไม่ต้องเริ่มเอง;
  3. เพิ่ม ~/.local/vterm เข้า PATH ของคุณ

เมื่อ systemd ใน WSL ถูกปิด สคริปต์จะแนะนำให้เพิ่ม [boot] systemd=true ใน /etc/wsl.conf, รัน wsl --shutdown ฝั่ง Windows และรันตัวติดตั้งใหม่

เปิดหน้าการตั้งค่า

ใน WSL:

vterm-server --open

คำสั่งพิมพ์ที่อยู่ Web UI (http://localhost:<config-port>/) และพยายามเปิดเบราว์เซอร์ (ใน WSL ผ่าน wslview, เบราว์เซอร์เริ่มต้นของ Windows) ด้วยการส่งต่อ localhost ของ WSL2 การเปิดที่อยู่เดียวกันในเบราว์เซอร์ Windows ก็ใช้ได้เท่ากัน ขณะเซิร์ฟเวอร์ทำงานอยู่ URL ที่พิมพ์จะมีโทเคนเข้าสู่ระบบแบบใช้ครั้งเดียว (?ticket=..., ออกผ่านซ็อกเก็ตภายในเครื่อง) หน้าจึงเปิดมาพร้อมการล็อกอินแล้ว

(ทางเลือก) แชร์เซิร์ฟเวอร์ WSL เข้ารีเลย์โฮสต์

ถ้าเครื่อง Windows รัน vterm-server ด้วย (เป็นรีเลย์) เซิร์ฟเวอร์ WSL สามารถเกาะใต้มันเพื่อให้ไคลเอนต์เห็นทั้งสอง “เครื่อง” ผ่านการเชื่อมต่อท้องถิ่นเดียว:

  1. ใน Web UI ของเซิร์ฟเวอร์ Windows คลิก QR code เพื่อคัดลอกสตริงแชร์;
  2. เปิด Web UI ของเซิร์ฟเวอร์ WSL (ที่อยู่จากส่วนก่อน) คลิกปุ่มวางที่ปรากฏข้างฟิลด์ Relay Address เพื่อกรอกที่อยู่และคีย์อัตโนมัติ แล้วกด Apply;
  3. ตราบใดที่ vterm-server ของ Windows ทำงาน ไคลเอนต์เห็นเทอร์มินัล ไฟล์ และ Git ของเซิร์ฟเวอร์ WSL ใต้รีเลย์ท้องถิ่น

ภายใต้เครือข่าย NAT ค่าเริ่มต้นของ WSL2, WSL เข้าถึงโฮสต์ Windows ผ่านที่อยู่โฮสต์มุมมองจาก WSL (เกตเวย์เริ่มต้น — nameserver ใน cat /etc/resolv.conf); ด้วยเครือข่ายแบบ mirror localhost ใช้ได้ ดูรายละเอียดรีเลย์ในบท Relay