เซสชันระยะไกลที่ใช้ร่วมกัน
เชื่อมต่อเทอร์มินัลเดียวกันผ่าน SSH หรือ Tailscale และให้งานทำต่อหลังตัดการเชื่อมต่อ.
zshell-server เก็บเชลล์และงานไว้บนโฮสต์ macOS หรือ Linux ใช้ได้กับเทอร์มินัลทั้งสองแบ็กเอนด์ของ Zshell การปิดไคลเอนต์หรือเครือข่ายขาดไม่ทำให้งานจบ เมื่อเชื่อมต่อใหม่จะคืนหน้าจอ ประวัติการเลื่อน เคอร์เซอร์ และโหมดเทอร์มินัล
ติดตั้ง
ใน โฮสต์ระยะไกล… เลือก ติดตั้ง / อัปเดตเซิร์ฟเวอร์ ผ่าน SSH Mac ที่มีสถาปัตยกรรมตรงกันใช้โปรแกรมในแอป สำหรับ Linux ให้เลือก zshell-server ที่บิลด์ตรงแพลตฟอร์มและสถาปัตยกรรม ตรวจสอบการอัปโหลดและความเข้ากันได้ก่อนแทนที่ daemon ที่ทำงานใช้รุ่นเดิมจนเริ่มใหม่ ซึ่งจบงานเทอร์มินัล หรือบิลด์บนโฮสต์ได้:
cargo build --locked --release --manifest-path remote/Cargo.toml
install -d "$HOME/.local/bin"
install -m 755 remote/target/release/zshell-server "$HOME/.local/bin/zshell-server"ไคลเอนต์ใช้เชลล์และไฟล์ของบัญชีที่รันเซิร์ฟเวอร์ได้ รองรับ macOS และ Linux
SSH
ตรวจสอบคีย์โฮสต์และการยืนยันตัวตนด้วยคีย์หรือ agent ก่อน:
ssh devbox trueเปิดโฮสต์ระยะไกลจากเมนูเครือข่ายในแถบด้านข้าง กรอกชื่อ ssh://me@devbox:22 หรือชื่อแทน SSH และ ~/.local/bin/zshell-server การเชื่อมต่อจะโหลดโปรเจกต์และเซสชันที่มีอยู่ หากต้องการเชลล์ใหม่ ให้ระบุไดเรกทอรีเช่น ~/repo แล้วเปิดโปรเจกต์ระยะไกล รองรับพาธที่มีช่องว่าง แท็บและการแบ่งบานใหม่ก็ทำงานบนโฮสต์ระยะไกล
SSH เริ่ม daemon อัตโนมัติและใช้การตั้งค่า OpenSSH คีย์ agent และคีย์โฮสต์ที่เชื่อถืออยู่แล้ว คีย์ที่ไม่รู้จักหรือการยืนยันตัวตนล้มเหลวจะแสดงข้อผิดพลาด ไฟล์และ Git ใช้ SSH ไปยังโฮสต์เดียวกัน แม้เทอร์มินัลใช้ Tailscale พาธระยะไกลไม่เข้าถึงไฟล์ Mac ใช้ ZSHELL_SSH_CONFIG_FILE เพื่อระบุพาธสัมบูรณ์ของไฟล์ OpenSSH แยกที่อ่านได้
Tailscale
ลงชื่อเข้า Tailscale ทั้งสองเครื่อง แล้วเริ่มตัวรับฟังส่วนตัวก่อนสร้างเซสชัน:
zshell-server serve --listen tailscale://:7373เพิ่ม tailscale://devbox:7373 รองรับ MagicDNS และ Tailscale IPv4/IPv6 แต่ปฏิเสธที่อยู่สาธารณะ ค่าเริ่มต้นอนุญาตเฉพาะอุปกรณ์ไม่มีแท็กของเจ้าของโฮสต์ --allow-user อนุญาตชื่อเข้าสู่ระบบอื่นที่ตรงกันทุกตัว โดยยังปฏิเสธไคลเอนต์ติดแท็ก หากเชื่อมต่อจากเครื่องเซิร์ฟเวอร์เองให้ใช้ SSH กฎ ACL ของ tailnet ยังมีผล ผู้ที่ได้รับสิทธิ์สามารถใช้บัญชี Unix ของบริการได้
แชร์ Mac นี้โดยเข้าสู่ Tailscale แล้วเลือก แชร์ Mac นี้ ในโฮสต์ระยะไกล ตั้งพอร์ตและชื่อเข้าสู่ระบบที่อนุญาตแบบตรงตัว เริ่มแชร์เมื่อสั่งเท่านั้น หยุดแชร์ หรือออกจาก Zshell จะจบเซสชันที่แชร์
ใช้ร่วมกันและจบเซสชัน
ทุกไคลเอนต์ได้รับเอาต์พุตเดียวกัน การโฟกัสเทอร์มินัลหรือรับการควบคุมให้สิทธิ์ป้อนข้อมูลและเปลี่ยนขนาดแก่ไคลเอนต์นั้น เมื่อตัดการเชื่อมต่อ ไคลเอนต์ที่เหลือซึ่งเชื่อมต่อก่อนจะรับช่วง แผงข้อมูลแสดงสถานะ จำนวนไคลเอนต์ และการควบคุม พร้อมปุ่มแยกและเชื่อมต่อใหม่ ข้อผิดพลาดเครือข่ายจะลองใหม่อัตโนมัติ ข้อมูลที่พิมพ์ออฟไลน์ถูกทิ้ง เลย์เอาต์ที่บันทึกจะกลับไปยัง UUID ระยะไกลเดิม
การปิดบาน โปรเจกต์ หน้าต่าง หรือออกจากแอปด้วยทั้งสองตัวเลือกเป็นเพียงการแยกไคลเอนต์ การจบเซสชันระยะไกลต้องยืนยันแล้วจึงหยุดเชลล์และงานสำหรับทุกคน บนโฮสต์ใช้ zshell-server terminate --project ~/repo --session UUID ได้เช่นกัน
ไฟล์และภาพหน้าจอ
คัดลอกไฟล์ปกติหรือภาพหน้าจอแล้ววางในบานระยะไกล Zshell อัปโหลดไปโฟลเดอร์ส่วนตัวบนโฮสต์แล้วใส่พาธที่อ้างอิงถูกต้องสำหรับเชลล์ ครั้งละ 32 ไฟล์ ไฟล์ละ 32 MiB รวม 64 MiB ไม่รับโฟลเดอร์หรือลิงก์สัญลักษณ์ อัปโหลดร่วมเก็บเจ็ดวัน บาน Unix SSH ปกติก็รองรับ
การสนทนา Agent ระยะไกล
กิจกรรม ความคืบหน้า คำขออนุมัติและงานเสร็จของ Agent ระยะไกลใช้สถานะและการแจ้งเตือนเดิม ประวัติการสนทนา Agent รวม Claude Code, Codex, OpenCode และ Pi บนโฮสต์ การต่อกลับเชื่อมบทสนทนาที่มีชีวิตหรือเริ่มเซสชันเดิมตรงตัวบนโฮสต์และโฟลเดอร์เดิม ประวัติสนทนาคงอยู่หลังเริ่ม daemon ใหม่ แต่งานและประวัติเทอร์มินัลไม่คงอยู่ ต้องมีโปรแกรม การตั้งค่าหรือไฟล์เซสชันเดิม
ข้อจำกัด
เซสชันอยู่ได้ขณะที่ daemon ทำงาน ไม่รองรับการรีบูตโฮสต์ daemon ล่ม หรือเริ่ม daemon ใหม่ เซสชันที่หายไปจะแจ้งข้อผิดพลาดโดยไม่สร้างเชลล์แทน จำกัด 128 เซสชัน สแนปช็อต 16 MiB และคิวสด 1 MiB ต่อไคลเอนต์ ไคลเอนต์ช้าไม่ขัดขวางผู้อื่น ประวัติอยู่ในหน่วยความจำโฮสต์ ดูบริการและ CLI ในคู่มือเซิร์ฟเวอร์