ก่อนหน้านี้เราใช้งาน iPad ตามปกติ ส่วนกรณีที่ต้องการเขียนโค้ดเราก็เช่าคลาวด์แล้วรีโหมดเพื่อใช้งาน หรือจะไปลงเครื่องมืออย่าง code-server หรือ openvscode-server เพื่อใช้งานหน้าจอยังกับ Visual Studio Code ผ่านเว็บเบราวเซอร์ที่มันก็ใช้ได้ตามปกติครับ แต่มันมีข้อเสียคือ
- เราจำเป็นต้องใช้งานอินเตอร์เน็ต
- เราติดเรื่อง Latency ที่มันช้าซะเหลือเกิน
- มันเสียเงิน
ดังนั้นแล้ว เราจำเป็นต้องการเครื่องมืออื่นที่ดีกว่านี้ จนกระทั่งมาเจอเครื่องมืออย่าง UTM
UTM
UTM เป็นแอพที่มีพื้นฐานมาจาก QEMU ที่อนุญาตให้เรารันระบบปฏิบัติการต่าง ๆ บนเครื่องแท็บเล็ต iPad กับโทรศัพท์ iPhone โดยตัวแอพนี้เองที่อนุญาตให้เราเปิดใช้ Windows หรือ Linux ได้ครับ
อย่างไรก็ดีตัว UTM ไม่มีบน App Store เนื่องมาจากตัวแอพจำเป็นต้องใช้ฟีเจอร์อย่าง dynamic code generation (JIT) เพื่อให้รันได้มีประสิทธิภาพที่สูงสุด แต่ทาง Apple ไม่อนุญาตให้มีฟีเจอร์นี้ครับ
ดังนั้นแล้ว เราจะไม่ได้กล่าวถึงตัว UTM ในบทความนี้ แต่เราจะมาใช้ตัว UTM SE (Slow Edition) แทน
UTM SE
UTM SE (Slow Edition) เป็นแอพ UTM ที่ไม่ได้ใช้ตัว JIT แต่ใช้ตัว Threaded interpreter แทนซึ่งทำงานได้ช้ากว่า แต่มันมีอยู่บน App Store ที่อนุญาตให้เราติดตั้งได้เลย โดยเราไม่จำเป็นต้องทำ Jailbreak
นอกจากนี้ตัวแอพนี้อนุญาตให้เรารันระบบปฏิบัติการที่ใช้สถาปัตยกรรมอย่าง ARM, PPC, RISC-V และ x86 (ที่เป็น 32 และ 64 bit)
ต่อมา เรามาเข้าเรื่องหลักในบทความนี้เลยก็คือลง Linux เพื่อใช้งานบน iPad
ลง Linux บน iPad
การลง Linux เพื่อใช้งานบน iPad ก็ทำได้ไม่ยาก แต่ก่อนอื่นเลยเราจำเป็นต้องดาวน์โหลด UTM SE จาก App Store เสียก่อน
เมื่อดาวน์โหลดเสร็จแล้ว เราสามารถลง Linux ได้หลายวิธี
- ดาวน์โหลดตัว Linux ที่สร้างไว้แล้ว โดยเข้าไปในแอพแล้วเลือกไปที่ Browse UTM Gallery
- ติดตั้ง Linux เอง (ในบทความเราจำใช้วิธีนี้)
- นำเข้าตัว Disk Image ที่สร้างจาก QEMU มาใช้
ในบทความนี้ เราจะใช้วิธีที่สอง นั่นก็คือการติดตั้ง Linux เอง
ขั้นตอนแรกให้ดาวน์โหลดตัวไฟล์ ISO ที่เป็นตัวติดตั้ง Linux เสียก่อน โดยในที่นี้เราจะใช้ Debian (ในไทยก็โหลดจาก mirror1.ku.ac.th ได้ครับ โดยกดไปที่ลิ้งค์แล้วเลือกดาวน์โหลดเป็น iso-cd ครับ)
เมื่อดาวน์โหลดเสร็จเรียบร้อย ให้กดเข้าไปที่แอพ UTM SE จากนั้นกด Create a New Virtual Machine จากนั้นกดที่ New Machine ครับ
ต่อมา ระบบจะปรากฏหน้าจอให้เลือกตัว Boot Device ในที่นี้เราจะเลือกเป็น CD/DVD Image แล้วกดปุ่ม Browse เพื่อเลือกตำแหน่งไฟล์ที่เก็บตัว ISO ที่เราดาวน์โหลดมาเก็บไว้
กดปุ่ม Continue ระบบจะปรากฏหน้าจอให้ปรับแต่ง Hardware ที่จะใช้กับตัว Virtual Machine นี้ ให้เราเลือก
- Architecture เป็น ARM64 (หรือจะเลือกอันอื่นก็ได้ถ้าเราดาวน์โหลดเป็น Architecture อื่นครับ)
- System เป็นตัว QEMU ที่มีมาให้อยู่แล้วก็ได้ หรือจะเลือกอันอื่นก็ตามสะดวกครับ
- Memory โดยปรับให้ใช้ 512MB (หรือจะมากกว่านั้นก็ได้ แต่อาจจะต้องเช็คกับ iPad นั้นอีกทีว่ามี RAM เท่าไรครับ)
- CPU โดยเลือกเป็น 1 Core (หรือมากกว่านั้น แต่ก็ต้องเช็คกับตัว iPad ที่ใช้อีกที)
กดปุ่ม Continue ระบบจะแสดงหน้าจอให้ระบุพื้นที่ Storage สำหรับการเก็บข้อมูล โดยตัวอย่างนี้จะระบุเป็น 8GB แต่จะปรับเพิ่มมากกว่านี้ก็ได้ขึ้นกับว่าต้องการใช้เท่าไรครับ
กดปุ่ม Continue ระบบจะปรากฏหน้าจอ Shared Directory โดยเราสามารถระบุโฟลเดอร์บน iPad ที่ต้องการเพื่อให้แชร์ระหว่าง iPad กับ Virtual Machine ได้ครับ
กดปุ่ม Continue ระบบจะสรุปการตั้งค่าของ Virtual Machine ที่เราจะสร้างขึ้น โดยผู้ใช้สามารถแก้ไขชื่อ Virtual Machine ที่เราต้องการจะสร้างได้โดยกดปุ่มแถว Information ข้างบนสุดครับ
กด Save ระบบจะปรากฏหน้าจอแสดง Virtual Machine ตามภาพ
ให้กดปุ่มรูปเพลย์ที่อยู่ด้านขวาของหน้าจอเพิ่มเริ่มต้นการทำงานของ Virtual Machine
เมื่อกดแล้ว ให้ทำตามหน้าจอเพื่อติดตั้ง Linux ครับ
เมื่อติดตั้งเสร็จแล้ว ระบบจะรีสตาร์ท แล้วจะเข้าหน้าจอบูตเข้า Linux เมื่อบูตเสร็จเรียบร้อยแล้ว ผู้ใช้สามารถเข้าไปใช้งาน Linux ที่เราติดตั้งได้ตามปกติครับ
ข้อสังเกต
เมื่อใช้งาน Linux บนแอพ UTM SE แล้วก็ใช้งานได้ตามปกติเหมือนกับที่ใช้งานบนคอมพิวเตอร์ อย่างไรก็ตามเราสังเกตได้ว่า
- การเขียน/อ่าน Harddisk ทำได้ช้า
- การประมวลผลอะไรพวกนี้ก็ช้าเนื่องมาจากข้อจำกัดด้านการใช้ฟีเจอร์ JIT
- ไม่สามารถ Copy – Paste ได้ตามปกติแบบ Ctrl + C กับ Ctrl + V เราจำเป็นต้องกดปุ่ม Paste บนหน้าจอคีย์บอร์ดของ iPad
- การเชื่อมต่อระหว่างโฟลเดอร์บน iPad กับตัว Virtual Machine ทำได้ไม่สะดวกนัก
นอกจากข้อสังเกตแล้ว เรายังมีข้อแนะนำกรณีที่ต้องการใช้งาน UTM SE ที่เราจะแนะนำว่า
- ให้ใช้งานกับ Hardware Keyboard (ที่มีแถวทีเป็นปุ่ม Escape, F1-F12)
- กับใช้งานระบบปฏิบัติการที่มันใช้พลังการประมวลผลไม่เยอะ (แนะนำว่าให้ลงพวก DOS/Windows รุ่นเก่า ๆ หรือจะไปลง Linux ที่ใช้แค่หน้าจอคอมมานไลน์จะดีกว่าครับ)
ส่วนถ้าต้องการใช้งานแอพอื่น อันนี้มีหลายแอพที่ใช้งานได้คล้ายกันกับ UTM SE (โดยเอามาจากบทความนี้) เลยก็ได้แก่
- Blink Shell ที่ตอนนี้สามารถเขียนโค้ด ใช้งาน Shell, SSH, เครื่องมือคอมมานไลน์ กับเครื่องมือที่มีพื้นฐานจาก Visual Sutdio Code แถมยังรวมถึงรันโค้ด Python, Go, Rust, Node.js และ Ruby ได้
- A-Shell
- ISH
- หรือจะไปใช้งาน Sidecar ที่เป็นฟีเจอร์ที่ใช้งานร่วมกับคอมแมคครับ