-
แนะนำ WebVM
- WebVM เป็นสภาพแวดล้อม Linux เสมือนที่ไม่ต้องมีเซิร์ฟเวอร์ และทำงานทั้งหมดบนฝั่งไคลเอนต์ผ่าน HTML5/WebAssembly
- ใช้เอนจินเวอร์ชวลไลเซชัน CheerpX เพื่อให้สามารถรันไบนารี x86 บนฝั่งไคลเอนต์ได้อย่างปลอดภัยภายในแซนด์บ็อกซ์
- CheerpX ประกอบด้วยคอมไพเลอร์ JIT จาก x86 ไปเป็น WebAssembly, ระบบไฟล์แบบ virtual block-based และตัวจำลอง Linux system call
-
ความสามารถใหม่
- สามารถสร้าง WebVM ของตนเองได้โดยใช้อิมเมจแบบปรับแต่งเองผ่าน Dockerfile
- ลิงก์: Mini WebVM: Your Linux Box from Dockerfile via WASM
-
ตัวอย่างการใช้งาน
- รันตัวอย่าง Python:
python3 examples/python3/fibonacci.py - คอมไพล์และรันตัวอย่าง C:
gcc -o helloworld examples/c/helloworld.c && ./helloworld - ถอดแอสเซมบลีของไบนารี:
objdump -d ./helloworld | less -M - เปิดไฟล์ตัวอย่าง C ด้วย Vim:
vim examples/c/helloworld.c - ตัวอย่าง
curlที่ต้องใช้เครือข่าย:curl --max-time 15 parrot.live
- รันตัวอย่าง Python:
สรุปโดย GN⁺
- WebVM เป็นสภาพแวดล้อม Linux เสมือนแบบไม่ต้องมีเซิร์ฟเวอร์ และมีข้อดีคือสามารถรันไบนารี x86 ได้อย่างปลอดภัยบนฝั่งไคลเอนต์
- ด้วยเอนจินเวอร์ชวลไลเซชัน CheerpX จึงสามารถจำลอง system call และระบบไฟล์ได้หลากหลาย ทำให้ทดลองใช้สภาพแวดล้อม Linux ได้โดยตรงในเบราว์เซอร์
- สามารถสร้างอิมเมจแบบปรับแต่งเองผ่าน Dockerfile ได้ จึงมอบสภาพแวดล้อมที่ยืดหยุ่นให้กับนักพัฒนา
- โปรเจกต์ที่มีความสามารถคล้ายกันได้แก่ JSLinux และ v86
1 ความคิดเห็น
ความเห็นจาก Hacker News
แชร์ลิงก์เครื่องเสมือน (VM) หลายตัว
แชร์ลิงก์ที่เกี่ยวข้องกับ Mac OS
หัวหน้านักพัฒนาของ WebVM และ CTO ของ Leaning Technologies พร้อมตอบคำถาม
มีการให้บริการเครือข่ายผ่าน Tailscale ซึ่งเป็นวิธีที่ชาญฉลาดในการแก้ปัญหาที่อาจเกิดขึ้น
ใช้งานบนมือถือไม่ได้ โดยเฉพาะ Firefox และ Chrome บน Android ที่มีปัญหาคีย์บอร์ดทำให้คำสั่งถูกพิมพ์ซ้ำ
มีคำถามว่าสามารถทำงานแบบออฟไลน์และคงสถานะข้ามการรีโหลดได้หรือไม่
มีคำถามเกี่ยวกับกรณีการใช้งานที่ใช้ได้จริง
มีความเห็นว่าใช้งานบนมือถือไม่ได้
มีความเห็นว่าช้ากว่า bellard.org/jslinux
เคยใช้ Slackware Linux ครั้งแรกผ่านฟลอปปีดิสก์ในช่วงกลางทศวรรษ 90 แต่ก็ยังรู้สึกทึ่งทุกครั้งเมื่อเห็น Linux ในเบราว์เซอร์
มีความเห็นว่าบน Apple Silicon ช้ามาก