เอกสาร

ไคลเอนต์บรรทัดคำสั่ง

vtermc คือไคลเอนต์บรรทัดคำสั่ง: เชื่อมต่อกับเซิร์ฟเวอร์ สร้างหรือเข้าถึงเซสชันเทอร์มินัล และจัดการรายการเซิร์ฟเวอร์ที่บันทึกไว้ — ทั้งหมดในเทอร์มินัลธรรมดา ผ่าน SSH หรือบนเครื่อง headless มันแชร์ ~/.vibeterminal/client.json กับไคลเอนต์เดสก์ท็อป จึงเห็นเซิร์ฟเวอร์เดียวกัน

เริ่มเทอร์มินัล

รัน vtermc โดยไม่มีแฟลกโหมดเพื่อสร้างเทอร์มินัลใหม่บนเซิร์ฟเวอร์ท้องถิ่น (ค่าเริ่มต้น wss://localhost:7878) ด้วยเชลล์ที่ตรวจพบ และสตรีมเข้าเทอร์มินัลปัจจุบัน พิมพ์ exit (หรือ Ctrl+D) ในเชลล์ระยะไกลเพื่อจบเซสชัน

เซสชันอยู่บนเซิร์ฟเวอร์: ถ้าการเชื่อมต่อขาด — เน็ตหลุด ปิดหน้าต่าง ฆ่า vtermc — เซสชันยังทำงานต่อและเข้าถึงใหม่ได้ภายหลังด้วย vtermc -s

  • vtermc -p <id> — เริ่มด้วยโปรไฟล์เทอร์มินัลเฉพาะ (รายการโปรไฟล์อยู่ในส่วน Profiles ของ Web UI);
  • vtermc -p — ไม่มี id โปรไฟล์: ตัวเลือกแสดงโปรไฟล์ของเซิร์ฟเวอร์แบบโต้ตอบ;
  • vtermc -w <dir> — ตั้งไดเรกทอรีทำงานของเซสชันใหม่

เมื่อ stdin ไม่ใช่เทอร์มินัล (ไปป์หรือไฟล์) vtermc สลับเป็นโหมดแบทช์: stdin ป้อนเข้าเซสชัน และเอาต์พุตไหลจนเซสชันปิด — สะดวกจากสคริปต์หรือเอเจนต์:

echo "make test" | vtermc

การเชื่อมต่อกับเซิร์ฟเวอร์

  • --server wss://host:port — เชื่อมต่อเซิร์ฟเวอร์เฉพาะแทนท้องถิ่น (ที่อยู่ IPv6 ในวงเล็บเหลี่ยม: wss://[fd00::1]:7878); ตัวแปรสภาพแวดล้อม VTERM_SERVER ตั้งค่าเริ่มต้นเดียวกัน;
  • การจับมือตอบด้วยคีย์ลับของเซิร์ฟเวอร์: เซิร์ฟเวอร์ที่เพิ่มผ่าน -a/-s เก็บคีย์ใน client.json; เซิร์ฟเวอร์ท้องถิ่นย้อนไปตัวแปร TERMINAL_GUI_SECRET_KEY (หรือคีย์ข้อความธรรมดาใน server.json)

การเพิ่มเซิร์ฟเวอร์

-a บันทึกเซิร์ฟเวอร์ลง client.json แล้วออก — ไม่เปิดเทอร์มินัลเลย สองวิธี:

  • vtermc -a — ถามแบบโต้ตอบ: Server name, Server address และ Secret key ที่อยู่ต้องเป็น wss://host:port (อินพุตไม่ถูกต้องจะถามใหม่; ที่อยู่ว่างคือยกเลิก) ชื่อว่างย้อนไปเป็นที่อยู่;
  • vtermc -a "vtshare1:..." — วางสตริงแชร์ที่เข้ารหัส การคลิก QR Code จับคู่ในส่วน Server ของ Web UI จะคัดลอกมันไปคลิปบอร์ด; vtermc ถอดรหัสและกรอกชื่อ ที่อยู่ และคีย์ลับอัตโนมัติ

รายละเอียดที่ควรรู้:

  • การเพิ่มที่อยู่ที่มีอยู่ซ้ำจะอัปเดตรายการนั้นในที่ (คง id เดิม) แทนการทำซ้ำ;
  • ที่อยู่ท้องถิ่นถูกปฏิเสธ — Local พร้อมใช้โดยนัยเสมอและไม่ต้องมีรายการ;
  • รายการแสดงโดย Server Manager ของไคลเอนต์เดสก์ท็อปด้วย

การเลือกเซิร์ฟเวอร์และเซสชัน

vtermc -s เปิดตัวเลือกสองชั้นเต็มจอ (ต้องการเทอร์มินัลโต้ตอบ):

  1. รายการเซิร์ฟเวอร์ — Local ก่อน แล้วแต่ละเซิร์ฟเวอร์ที่จัดการเป็น Name (address) เลื่อนด้วยลูกศรหรือ j/k, กระโดดด้วยตัวเลข, Enter เลือก, q ยกเลิก;
  2. รายการเทอร์มินัล — New Terminal ก่อน ตามด้วยเซสชันที่ใช้งานของเซิร์ฟเวอร์นั้นพร้อมไดเรกทอรีทำงาน ชื่อ และเซิร์ฟเวอร์เจ้าของ เข้าถึงเซสชันที่มีอยู่ หรือสร้างใหม่ (ซึ่งยึด -p / -w เหมือนการรัน vtermc ปกติ)

การเข้าถึงไม่ขัดจังหวะเซสชัน — มันทำงานต่อบนเซิร์ฟเวอร์ระหว่างการเข้าถึง

ลบเซิร์ฟเวอร์

ในรายการเซิร์ฟเวอร์ เลื่อนไปยังเซิร์ฟเวอร์ที่จัดการแล้วกด d: แถวเป็นสีแดงและคำใบ้ขอยืนยัน กด y (หรือ Enter) เพื่อลบรายการจาก client.json ปุ่มอื่นยกเลิก Local ลบไม่ได้

ตัวแปรสภาพแวดล้อม

เซสชันใหม่สืบทอดชุดคงที่จากเชลล์ของคุณ — PATH, HOME, USER, SHELL, TERM, WT_PROFILE_ID, PSMODULEPATH:

  • --env-inherit <patterns> — รายการคั่นด้วยจุลภาค (หรือตัวแปร VTERM_ENV_INHERIT); รองรับไวลด์การ์ด *;
  • -e VAR=VALUE — ฉีดตัวแปรเพิ่ม (ทำซ้ำได้);
  • --no-env — เริ่มเซสชันโดยไม่สืบทอดตัวแปรเลย
vtermc -w ~/project -e RUST_LOG=debug --env-inherit "PATH,HOME,TERM"

ตัวเลือกทั้งหมด

-p, --profile [<ID>]          เลือกโปรไฟล์เทอร์มินัล (ละเว้นเพื่อแสดงรายการแบบโต้ตอบ)
-w, --working-dir <DIR>       ตั้งไดเรกทอรีทำงาน
-s, --select                  เลือกเซิร์ฟเวอร์และเทอร์มินัลที่มีอยู่แบบโต้ตอบ
-a, --add [<SHARE>]           เพิ่มเซิร์ฟเวอร์ (vtshare1: สตริงแชร์ หรือแบบโต้ตอบ)
    --server <URL>            URL WebSocket ของเซิร์ฟเวอร์ [env: VTERM_SERVER]
-e, --env <VAR=VALUE>         ตัวแปรสภาพแวดล้อมเพิ่มเติม
    --no-env                  ไม่สืบทอดตัวแปรสภาพแวดล้อม
    --env-inherit <PATTERNS>  แบบแผนตัวแปรที่จะสืบทอด [env: VTERM_ENV_INHERIT]