อุปกรณ์ที่ใช้ Google Android และแม้แต่แพลตฟอร์ม Android x86 และ Android x86_64 ใหม่ๆ พัฒนาจาก kernel เดียวกับ Ubuntu ทั้งคู่เป็นการ implement ของระบบปฏิบัติการ GNU/Linux การโอนไฟล์ระหว่างกันปกติจะง่ายมาก หากคุณเสียบสาย USB จากโทรศัพท์หรือแท็บเล็ตตรงเข้ากับ Ubuntu PC คุณโดยทั่วไปจะไม่มีปัญหาโอนไฟล์ นี่ทำงานได้แม้กับเครื่อง Macintosh ที่คุณติดตั้ง Ubuntu ไว้ ไม่ว่าจะ dual-boot หรือไม่ก็ตาม
สิ่งจะซับซ้อนขึ้นหากคุณต้องการใช้ Media Transfer Protocol (MTP) app แทน file manager เพื่อโอนไฟล์ เนื่องจาก MTP และ Ubuntu ไม่ได้คุ้นเคยกันมากนัก โชคดีที่มีวิธีให้พวกมันสื่อสารด้วยไลบรารีระบบไฟล์เดียวกันเพื่อโอนไฟล์ไปมาระหว่างอุปกรณ์ Android ของคุณได้อย่างราบรื่น นี่ควรทำงานกับ Ubuntu รุ่นปัจจุบันทุกอย่าง รวมถึงที่ใช้ graphical file managers ทางเลือก หากคุณใช้ Xubuntu กับ Thunar, Lubuntu กับ PCManFM หรือ Kubuntu กับ Dolphin คุณยังไม่มีปัญหา แต่อาจต้องใช้ MTP tools ที่เหมาะสมเพื่อส่งไฟล์หากไม่มี plugin ที่เหมาะสม
การติดตั้งและใช้งาน MTP ใน Ubuntu
คุณต้องติดตั้งแอป Media Transfer Protocol (MTP) ทั่วไปหลายตัวก่อนใช้งาน คุณสามารถทำได้ผ่าน Synaptic Package Manager หากมี โดยเปิดจาก Dash, Whisker Menu หรือ LX Panel คุณต้องค้นหาและติดตั้งแพ็กเกจเหล่านี้:
libmtp-common
mtp-tools
libmtp-dev
libmtp-runtime
libmtp9
Synaptic น่าจะแนะนำบางตัวเป็น dependencies ระหว่างติดตั้ง ดังนั้นคุณไม่ต้องหาทุกตัวแยกกัน คุณสามารถเริ่มพิมพ์ชื่อแพ็กเกจเพื่อช่วยค้นหาในรายการยาวที่ Synaptic ให้เมื่อเริ่มโปรแกรม โดยธรรมชาติ คุณต้องการสิทธิ์ root เพื่อติดตั้งแพ็กเกจ ดังนั้นคุณอาจต้องพิมพ์รหัสผ่านเมื่อเริ่มโปรแกรม
วิธีง่ายกว่าคือเปิดเทอร์มินัลโดยกด Ctrl+Alt+T แล้วสั่งคำสั่งเหล่านี้:
sudo apt-get update
sudo apt-get install libmtp-common mtp-tools libmtp-dev libmtp-runtime libmtp9
sudo apt-get dist-upgrade
ในทั้งสองกรณี ควรติดตั้งเครื่องมือที่คุณต้องการทำงานกับโปรโตคอล FUSE (Filesystem in Userspace) ควบคุมการ mount ระบบไฟล์ที่ผู้ใช้ทำโดยไม่มีสิทธิ์ และจึงอนุญาตให้เข้าถึงโดยไม่จำกัดเฉพาะ root account ซึ่งถูก hash out โดยค่าเริ่มต้นใน Ubuntu คุณสามารถ override คุณสมบัติความปลอดภัย built-in ของ FUSE ได้โดยแก้ไขไฟล์เฉพาะ พิมพ์ sudo nano /etc/fuse.conf ที่เทอร์มินัลแล้วกด Enter
ที่ด้านล่างของไฟล์นี้ คุณจะพบบรรทัดที่อ่านว่า #user_allow_other คุณต้องลบเครื่องหมายแฮช (#) ออกจากหน้าบรรทัดนั้น บรรทัดอื่นๆ ทุกบรรทัดควรคงอยู่เป็น comment กด Ctrl+X พร้อมกัน กด y แล้วกด Enter นี่จะบันทึกไฟล์
เชื่อมต่ออุปกรณ์กับ PC ด้วยสาย USB แล้วพิมพ์ lsusb เพื่อแสดงตาราง ค้นหาชื่ออุปกรณ์ของคุณในตาราง คุณสามารถข้ามข้อมูลอื่นๆ ที่โปรแกรมบอกได้ และหากคุณพลาดชื่อ สามารถรันซ้ำได้เท่าที่ต้องการ
เมื่อคุณพบบรรทัดที่ระบุอุปกรณ์ของคุณ ให้รัน sudo nano /etc/udev/rules.d/51-android.rules แล้วกด Enter คุณสามารถแทนที่ nano ด้วยชื่อ text editor เทอร์มินัลอื่นๆ หากชอบ เช่น vi หรือ emacs ที่ด้านล่างของไฟล์ ให้เพิ่มบรรทัดโค้ด:
SUBSYSTEM=="usb", ATTR{idVendor}=="####", ATTR{idProduct}=="####", MODE="0666", GROUP="plugdev" # nameOfDevice
แทนที่ nameOfDevice ด้วยชื่ออุปกรณ์ที่คุณพบหลังรัน lsusb และสี่เครื่องหมาย # ควรแทนที่ด้วยที่อยู่ 4 หลักแรกและชุดที่สองที่พบทันทีหลังชื่อนั้น ทางเทคนิค ข้อความหลังสัญลักษณ์ # คือ label ที่ commented คุณสามารถพิมพ์อะไรก็ได้หลังมัน หากคุณต้องการจดบันทึกข้อมูลใดๆ เกี่ยวกับอุปกรณ์ของคุณ นี่เป็นที่เหมาะสม
หลังจากบันทึกไฟล์แล้ว ให้ eject และถอดอุปกรณ์ USB ที่ต่ออยู่ออกอย่างปลอดภัย และรัน sudo service udev restart จากหน้าต่างเทอร์มินัล บันทึกงานที่เหลืออยู่และปิดทุกโปรแกรมที่ทำได้ก่อน reboot เครื่องจริงๆ
ทันทีที่ PC รีสตาร์ท ให้เสียบโทรศัพท์หรือแท็บเล็ต Android กลับเข้าไปหลังจากตรวจสอบว่าคุณไม่ได้ล็อกหน้าจอ คุณควรสามารถโอนไฟล์ไปมาระหว่างอุปกรณ์ Android ได้โดยใช้ MTP libraries ที่เร็วกว่า รันคำสั่ง sync โดยไม่มี argument จากเทอร์มินัลทุกครั้งที่คุณต้องการให้แน่ใจว่า buffers ที่ Ubuntu ใช้จัดเก็บข้อมูลชั่วคราว ถูกเขียนออกไปยังอุปกรณ์ Android ให้สมบูรณ์ นี่จะรับรองว่าคุณไม่จะสูญเสียข้อมูล
หากคุณมีสล็อต microSDHC บนอุปกรณ์ Ubuntu อาจ mount มันเป็น vfat file system ซึ่งทำให้บางผู้ใช้สับสน นี่จริงๆ ไม่เกี่ยวข้องกับ MTP และควรเกิดขึ้นแม้คุณไม่ติดตั้ง MTP แม้ vfat จะย่อมาจาก Virtual File Allocation Table ไม่มีอะไร virtualized หรือ emulated นี่คือระบบไฟล์ FAT12, FAT16 หรือ FAT32 มาตรฐานที่แบ่งปันมรดกกับวิธีการจัดการไฟล์ MS-DOS เก่า Windows ใช้ virtual device driver เพื่อให้คุณเขียน long file names ลงระบบไฟล์เหล่านี้เมื่อ DOS ไม่อนุญาต และ Android ใช้โครงสร้างเดียวกัน mount SD Cards ที่ต่ออยู่
หากคุณมีการ์ด mount แบบนี้ คุณสามารถคัดลอกและย้ายไฟล์ระหว่างมันและ Ubuntu ได้โดยไม่มีปัญหา แต่อาจไม่รองรับ Unix file permissions ให้แน่ใจว่า eject มันเหมือนอุปกรณ์ USB แยกต่างหากเพื่อป้องกันการสูญเสียข้อมูล
ABOUT THE AUTHOR

Kevin Arrows
Kevin Arrows เป็นผู้เชี่ยวชาญด้านเทคโนโลยีที่มีประสบการณ์มากกว่าหนึ่งทศวรรษ เขาถือใบรับรอง Microsoft Certified Technology Specialist (MCTS) และมีความหลงใหลในการติดตามข่าวสารเทคโนโลยีล่าสุด Kevin เขียนบทความมากมายเกี่ยวกับหัวข้อเทคโนโลยีหลากหลาย แสดงให้เห็นถึงความเชี่ยวชาญในด้านการพัฒนาซอฟต์แวร์ ความปลอดภัยไซเบอร์ และการคอมพิวติ้งบนคลาวด์ ผลงานของเขาได้รับการยอมรับและเคารพจากเพื่อนร่วมงาน และเขาได้รับการขนานนามว่าสามารถอธิบายแนวคิดทางเทคนิคที่ซับซ้อนได้อย่างชัดเจนและกระชับ