1vm ไม่ใช่ตัวห่อแอป และแอปก็ไม่ใช่ตัวห่อ 1vm ทั้งคู่เป็นไคลเอนต์ของไลบรารีเดียวกัน นั่นคือเหตุผลที่สิ่งที่คลิกได้ไม่มีอะไรที่สคริปต์ทำไม่ได้
1vm <command> [options]
1vm --help
1vm snapshot --help
เครื่อง
| Command | What it does |
|---|
list | ทุกเครื่อง พร้อมสถานะและที่อยู่ |
create <name> | สร้างเครื่อง |
info <vm> | ทุกอย่างเกี่ยวกับเครื่องหนึ่ง |
config <vm> | พิมพ์ไฟล์นิยามของเครื่อง |
get <vm> [key] | อ่านการตั้งค่าหนึ่งรายการ หรือแสดงคีย์แบบจุดทั้งหมด |
set <vm> <key> <value> | เปลี่ยนการตั้งค่า ใช้งานสดเมื่อรองรับ |
rm <vm> --force | ลบเครื่องและ snapshot ทั้งหมด |
clone <vm> <name> | linked clone (--full, --rekey-ssh) |
archive <vm> | บีบอัดเครื่องที่หยุดแล้ว รันอีกครั้งเพื่อคืนค่า |
rollback <vm> on|off | ทิ้งการเปลี่ยนแปลงทั้งหมดเมื่อปิดเครื่อง |
du | การใช้ดิสก์ทั่วไลบรารี |
logs <vm> | guest serial และ log วงจรชีวิตโฮสต์ |
logs รับ --source all|guest|host, --lines N และ --follow
การรัน
| Command | What it does |
|---|
start <vm> | รันใน foreground --detach เพื่อส่งไป background |
stop <vm> [--force] | ขอให้ guest ปิด หรือดึงปลั๊ก |
pause / resume <vm> | แช่แข็งและปลดแช่ |
suspend <vm> | บันทึกหน่วยความจำลงดิสก์และปิดเครื่อง |
eject <vm> | ถอดตัวติดตั้งเมื่อ guest บูตเองได้ |
console <vm> | เปิดจอแสดงผล guest |
configure <vm> | เปิดหน้าต่างการตั้งค่า |
ip <vm> | ที่อยู่ guest เปล่าๆ สำหรับสคริปต์ |
start จะ resume เครื่องที่ suspend แล้ว เพิ่ม --discard-saved-state เพื่อ cold-boot แทน --hold-on-crash คงหน้าจอ bug-check ของ Windows ไว้แทนการรีเซ็ต
Snapshots
| Command | What it does |
|---|
snapshot take <vm> [name] | จับภาพสถานะ |
snapshot list <vm> | ต้นไม้ snapshot |
snapshot restore <vm> <ref> | กลับไปที่ snapshot |
snapshot rm <vm> <ref> [-r] | ลบหนึ่งรายการ หรือทั้งสาขา |
reset <vm> --force | กลับสู่สถานะสะอาด |
discard-session <vm> --force | กลับไป snapshot ที่การบูตนี้เริ่มจาก |
โฮสต์
| Command | What it does |
|---|
capabilities | สิ่งที่ Mac นี้ทำได้และทำไม่ได้ |
doctor | โฮสต์ entitlements ไลบรารี เอนจิ้น |
guide <linux|macos|windows|omarchy> | สิ่งที่ guest รองรับและไม่รองรับ |
guide rosetta | รัน x86 binary ใน Linux guest |
passport [<vm>] | เมทริกซ์ความสามารถเป็น markdown หรือ --json |
macos images|download | restore image ที่แคช และล่าสุดจาก Apple |
debug metrics <vm> | ตัวนับประสิทธิภาพเอนจิ้น |
การเข้าถึง guest
| Command | What it does |
|---|
wait-ready <vm> | โพล SSH (Linux) หรือ guest agent (Windows) |
exec <vm> -- <cmd…> | รันคำสั่งหนึ่งใน guest |
ssh <vm> [-- <cmd…>] | SSH แบบโต้ตอบ |
ssh enable|disable <vm> | เปิด/ปิด SSH จาก Mac ไป guest |
ssh config --install | เพิ่มบรรทัด Include ใน ~/.ssh/config |
ssh keys <vm> | คีย์เครื่อง (--regenerate, --print-public) |
ssh trust <vm> | ปักหมุด guest host key (--relearn) |
wait-ready คือสิ่งที่ทำให้สคริปต์เชื่อถือได้ — มันบล็อกจนกว่า guest
จะเข้าถึงได้จริง ไม่ใช่แค่ running
การทำงานอัตโนมัติ
| Command | What it does |
|---|
task run -- <cmd…> | โคลน golden image รอ exec ทิ้ง |
template pin|unpin|list | ไลบรารี golden image |
golden capture <vm> | บันทึก firmware และ golden การบูตครั้งแรก |
agent gc | ลบเครื่องที่ agent สร้างและหยุดแล้ว |
mcp serve | MCP JSON-RPC บน stdio |
mcp install-snippet [host] | config JSON สำหรับ Claude, Cursor หรือทั่วไป |
ตัวเลือก create
| Option | Meaning |
|---|
--guest linux|macos|windows | ประเภท guest ค่าเริ่มต้น linux |
--hypervisor apple|native | เอนจิ้น Windows ค่าเริ่มต้น native |
--cpu <n> | จำนวน CPU ค่าเริ่มต้น 4 |
--memory <size> | เช่น 4GiB ค่าเริ่มต้น 4 GiB |
--disk <size> | เช่น 64GiB ค่าเริ่มต้น 64 GiB |
--iso <path> | สื่อติดตั้ง ต่อจนกว่าจะถอด |
--from-folder <path> | โฟลเดอร์โฮสต์เป็นสื่อติดตั้งแบบถอดได้ |
--drivers <path> | virtio-win ISO สำหรับ Windows guest |
--restore-image <path|build> | macOS restore image |
--from <golden> | linked-clone golden ที่ปักหมุด (--full เพื่อคัดลอก) |
--storage virtio-block|nvme | คอนโทรลเลอร์ดิสก์ nvme สำหรับ Windows |
--network nat|host-only|bridged:en0 | เครือข่าย |
--share tag:/host/path[:ro] | โฟลเดอร์แชร์ ทำซ้ำได้ |
--clipboard | แชร์คลิปบอร์ด Mac ทั้งสองทิศทาง |
--rosetta | แปล x86 ใน Linux guest |
--agent-ready | สร้าง SSH key และ cloud-init สำหรับ exec |
--preset omarchy | สูตร Omarchy |
ตัวเลือกส่วนกลาง
--json สำหรับผลลัพธ์ที่เครื่องอ่านได้ --quiet / -q สำหรับข้อผิดพลาดเท่านั้น
--force / --yes เพื่อข้ามการยืนยัน --detach เพื่อ background การ start และ
--version
รหัส exit
| Code | Meaning |
|---|
| 0 | ok |
| 1 | failed |
| 2 | usage |
| 3 | not found |
| 4 | wrong state |
| 5 | unsupported |
คำสั่งที่ทำลายข้อมูลจะปฏิเสธด้วย exit 4 แทนการถามยืนยัน เว้นแต่คุณส่ง
--force ไม่มีพรอมต์แบบโต้ตอบที่ใดเลย โดยการออกแบบ