การใช้งาน Termux บน Android กับ Linux Terminal มีความใกล้เคียงกันมากในแง่ของความรู้สึก แต่ในทางเทคนิค “ไส้ใน” นั้นแตกต่างกันอย่างสิ้นเชิงครับ ถ้าผ่านการติดตั้งจาก ใช้ Linux ในมือถือ Android ที่ซ่อนอยู่ทุกเครื่อง มาแล้ว จะทำความเข้าในมันเพิ่มกัน
โครงสร้างระบบไฟล์
นี่คือจุดที่ต่างกันมากที่สุดครับ
- Linux ทั่วไป: ใช้มาตรฐาน FHS เช่น Binary อยู่ที่
/bin,/usr/binและ Library อยู่ที่/lib - Termux: เนื่องจาก Android ไม่อนุญาตให้แอปทั่วไปเขียนไฟล์ลงใน Root Directory ของระบบได้ Termux จึงต้องเก็บทุกอย่างไว้ใน Private Folder ของแอปเอง ซึ่งมักจะเป็น:
$PREFIXหรือ/data/data/com.termux/files/usr/bin- ข้อควรระวัง: สคริปต์ที่เขียนแบบ Hard-code เส้นทางไฟล์ เช่น
#!/bin/bashอาจจะรันไม่ได้ใน Termux
- ข้อควรระวัง: สคริปต์ที่เขียนแบบ Hard-code เส้นทางไฟล์ เช่น
การจัดการสิทธิ์
- Linux ทั่วไป: คุณคือพระเจ้าผ่านคำสั่ง
sudoสามารถเข้าถึงฮาร์ดแวร์ได้ทุกส่วน - Termux: รันภายใต้สิทธิ์ของ “User App” ใน Android
- ไม่มี
sudoโดยเริ่มต้น - เข้าถึงไฟล์ใน SD Card หรือ Internal Storage ต้องใช้คำสั่ง
termux-setup-storageก่อน - ไม่สามารถจัดการระบบระดับ Kernel หรือแก้ไฟล์ระบบของ Android ได้โดยตรง
- ไม่มี
การจัดการแพ็กเกจ
- Linux ทั่วไป: ใช้
apt,dnf,pacmanซึ่งดึงไฟล์จาก Repository ของ Distro นั้น ๆ - Termux: ใช้
pkgแต่จะดึงข้อมูลจาก Repository เฉพาะของ Termux เอง ซึ่งแพ็กเกจถูก Compile มาให้รันบน Android โดยเฉพาะ
Library และการคอมไพล์
- Linux ทั่วไป: ส่วนใหญ่ใช้ GNU C Library
- Termux: ใช้ Bionic libc
- ผลคือ: คุณไม่สามารถเอาไฟล์ Binary ที่คอมไพล์จาก Ubuntu มาวางแล้วรันใน Termux ได้ทันที แม้จะเป็นสถาปัตยกรรม CPU เดียวกัน ก็อาจจะติดปัญหาเรื่อง Library ที่ไม่เหมือนกันครับ
ตารางสรุปเปรียบเทียบ
| หัวข้อ | Linux Terminal (Desktop) | Termux (Android) |
| ฐานระบบ | GNU / Linux | Android |
| Root Access | มี | จำกัด |
| Path หลัก | /bin, /usr/bin | /data/data/com.termux/files/usr/bin |
| การแสดงผล GUI | รองรับ Native | ต้องผ่าน VNC หรือ XServer App เพิ่มเติม |
| ความเสถียร | สูงมาก สำหรับงาน Server | อาจถูก Android OS “ฆ่า Process” ทิ้งได้ถ้าใช้แรมเยอะ |
อ่านเพิ่มเติม
