การถ่ายโอนไฟล์ Android ↔ Linux — ข้ามความเจ็บปวดของ MTP
หากคุณเคยลองเชื่อมต่อโทรศัพท์ Android กับเดสก์ท็อป Linux ผ่าน USB คุณจะทราบถึงความยุ่งยากนี้MTP บน Linux ได้รับการจัดการโดย libmtp และ gvfs-mtp — ไลบรารี่ที่ฉาวโฉ่การตัดการเชื่อมต่อระหว่างการถ่ายโอน การค้างของ Nautilus ไฟล์ที่เสียหาย หรือตรวจไม่พบโทรศัพท์เลย
AnExplorer ก้าวเท้าเลี่ยง MTP โดยสิ้นเชิงสองแนวทางที่ทำงานได้อย่างน่าเชื่อถือบน Linux distro ใด ๆ :
- การเชื่อมต่ออุปกรณ์ — โทรศัพท์ของคุณใช้งานเซิร์ฟเวอร์ HTTP คุณเปิดใน Firefoxการตั้งค่าเป็นศูนย์บน Linux
- ไคลเอนต์ SFTP — AnExplorer เชื่อมต่อกับ SSH ของเครื่อง Linuxกล่อง Linux ส่วนใหญ่ใช้งาน SSH ทันที
ทั้งสองทำงานผ่าน Wi-Fiไม่มีสายเคเบิล ไม่มีไดรเวอร์ ไม่มีการแก้ไขจุดบกพร่อง mtp-detect
วิธีที่ 1: การเชื่อมต่ออุปกรณ์ (โทรศัพท์ → Linux, การตั้งค่าเป็นศูนย์)
นี่เป็นวิธี "ใช้งานได้"โทรศัพท์ของคุณจะกลายเป็นเว็บเซิร์ฟเวอร์เบราว์เซอร์ของ Linux คือไคลเอนต์
บนโทรศัพท์ของคุณ:
- เปิด AnExplorer → แตะ ☰ → การเชื่อมต่ออุปกรณ์ → เริ่ม
- หมายเหตุที่อยู่:
http://192.168.1.42:8080
บนลินุกซ์:
- เปิด Firefox (หรือ Chrome/Chromium/Brave — อะไรก็ได้ที่มีเบราว์เซอร์)
- พิมพ์ที่อยู่ → Enter
- ระบบไฟล์ในโทรศัพท์ของคุณจะปรากฏขึ้น — เรียกดู ดาวน์โหลด อัปโหลด เปลี่ยนชื่อ ลบ
แค่นั้นแหละ.ไม่มี apt install อะไรเลยไม่มี Flatpakไม่มีสแนปไม่มีสัญญาซื้อขายไฟฟ้าแค่เบราว์เซอร์ที่คุณมีอยู่แล้ว
สิ่งที่คุณสามารถทำได้:
- ดาวน์โหลดไฟล์จากโทรศัพท์ไปยัง Linux (คลิกไฟล์ใดก็ได้)
- อัปโหลดไฟล์จาก Linux ไปยังโทรศัพท์ (ปุ่มอัปโหลด → ตัวเลือกไฟล์)
- สร้างโฟลเดอร์ เปลี่ยนชื่อไฟล์ ลบ — การจัดการไฟล์เต็มรูปแบบจากเบราว์เซอร์
- ถ่ายโอนไฟล์หลายไฟล์พร้อมกัน
ความเร็ว: 20–50 MB/s บน Wi-Fi 5 GHzเร็วกว่า MTP ในทางปฏิบัติ และเชื่อถือได้มากกว่าอย่างไร้ขีดจำกัด
ใช้งานได้กับ distro ใดก็ได้: Ubuntu, Fedora, Arch, Debian, openSUSE, Mint, Pop!_OS, Manjaro — หากมีเว็บเบราว์เซอร์ Device Connect ก็ใช้งานได้ไม่มีแพ็คเกจเฉพาะ distro, ไม่มีการพึ่งพานรก, ไม่มี PPA ที่จะเพิ่มนี่คือเหตุผลว่าทำไมวิธีนี้จึงเป็นวิธีแรกที่แนะนำสำหรับผู้ใช้ Linux ที่ต้องการย้ายไฟล์โดยไม่ต้องคำนึงถึงโครงสร้างพื้นฐาน
วิธีที่ 2: ไคลเอนต์ SFTP (Linux → โทรศัพท์, เข้าถึงไฟล์ Linux)
เครื่อง Linux รัน OpenSSH เกือบตลอดเวลาไคลเอนต์ SFTP ของ AnExplorer เชื่อมต่อกับมันโดยตรง — ทำให้คุณสามารถเข้าถึงระบบไฟล์ Linux ของคุณได้อย่างเต็มที่จากโทรศัพท์ของคุณ
บน Linux (ตรวจสอบว่า SSH กำลังทำงานอยู่):
systemctl status sshd
หากไม่ได้ทำงานอยู่: sudo systemctl enable --now sshd
สังเกต IP ของเครื่อง Linux ของคุณ: ip addr show หรือ hostname -I
บนโทรศัพท์ของคุณ:
- เปิด AnExplorer → ☰ → เครือข่าย → SFTP
- แตะ + เพื่อเพิ่มการเชื่อมต่อใหม่
- โฮสต์: Linux IP ของคุณ (เช่น
192.168.1.100), พอร์ต:22 - ชื่อผู้ใช้: ล็อกอิน Linux ของคุณ, รหัสผ่าน: รหัสผ่าน Linux ของคุณ
- แตะ เชื่อมต่อ
ระบบไฟล์ Linux ทั้งหมดของคุณปรากฏใน AnExplorerเรียกดู /home/username/ คัดลอกไฟล์ไปยังโทรศัพท์ของคุณ หรืออัปโหลดจากโทรศัพท์ไปยัง Linux
ทำไมผู้ใช้ Linux ถึงชอบสิ่งนี้:
- SSH กำลังทำงานอยู่แล้ว — ไม่ต้องติดตั้งหรือกำหนดค่าซอฟต์แวร์เพิ่มเติม
- เข้ารหัสตามค่าเริ่มต้น (ไม่เหมือนกับ FTP หรือ HTTP) — ข้อมูลทั้งหมดเดินทางผ่านอุโมงค์ SSH
- ทำงานจากระยะไกลผ่าน VPN (ไม่ใช่แค่ Wi-Fi ในเครื่อง) — เข้าถึงกล่อง Linux ที่บ้านของคุณได้จากทุกที่
- คุ้นเคยกับทุกคนที่ใช้
scpหรือrsync— ข้อมูลรับรองเดียวกัน พอร์ตเดียวกัน - การเข้าถึงระบบไฟล์เต็มรูปแบบ — เรียกดู
/home,/media,/mntหรือแม้แต่/etcหากผู้ใช้ของคุณได้รับอนุญาต - คั่นหน้าได้ใน AnExplorer — บันทึกการเชื่อมต่อสำหรับการเข้าถึงด้วยการแตะเพียงครั้งเดียวในครั้งถัดไป
การใช้งานจริง:
- ดึงไฟล์จากเวิร์กสเตชัน Linux ไปยังโทรศัพท์ของคุณก่อนออกจากบ้าน
- เข้าถึงไลบรารีสื่อของโฮมเซิร์ฟเวอร์ของคุณจากโทรศัพท์ของคุณบนโซฟา
- อัปโหลดรูปภาพจากโทรศัพท์ของคุณโดยตรงไปยังคลังรูปภาพของเครื่อง Linux
- เรียกดูไฟล์โครงการบนเครื่องพัฒนาของคุณจากโทรศัพท์ของคุณในระหว่างการประชุม
วิธีที่ 3: Samba/SMB (โฟลเดอร์ที่ใช้ร่วมกัน พร้อมใช้งานเสมอ)
หากคุณแชร์โฟลเดอร์บนเครื่อง Linux ของคุณผ่าน Samba AnExplorer จะเชื่อมต่อเป็นไคลเอ็นต์ SMB:
บน Linux (การตั้งค่า Samba ครั้งเดียว):
sudo apt install samba
sudo nano /etc/samba/smb.conf
เพิ่มการแชร์ ตั้งรหัสผ่าน Samba ( sudo smbpasswd -a username ) รีสตาร์ท: sudo systemctl restart smbd
บนโทรศัพท์ของคุณ:
- AnExplorer → ☰ → เครือข่าย → SMB → แตะ +
- ป้อน Linux IP, ชื่อแชร์, ชื่อผู้ใช้, รหัสผ่าน Samba
- เชื่อมต่อ — โฟลเดอร์แชร์ของคุณจะปรากฏขึ้น
เมื่อบุ๊กมาร์กแล้ว คุณจะเข้าถึงด้วยการแตะเพียงครั้งเดียวจากแถบด้านข้างของ AnExplorer ทุกครั้งที่อุปกรณ์ทั้งสองอยู่ในเครือข่ายเดียวกัน
เมื่อ Samba เข้าใจความหมายผ่านการเชื่อมต่ออุปกรณ์:
- คุณต้องการโฟลเดอร์แชร์แบบถาวรที่พร้อมใช้งานตลอดเวลา (ไม่ใช่แค่เมื่อคุณเริ่มเซิร์ฟเวอร์ด้วยตนเอง)
- อุปกรณ์หลายเครื่องจำเป็นต้องเข้าถึงโฟลเดอร์ Linux เดียวกัน (โทรศัพท์ แท็บเล็ต ทีวี)
- คุณใช้งาน Samba สำหรับเครื่อง Windows บนเครือข่ายของคุณอยู่แล้ว
- คุณต้องการวางไฟล์ลงในโฟลเดอร์บน Linux และรับไฟล์จากโทรศัพท์ของคุณในภายหลัง โดยไม่ต้องดำเนินการด้วยตนเอง
ทำไมไม่ MTP ผ่าน USB?
MTP บน Linux เป็นปัญหามานานกว่าทศวรรษปัญหาทั่วไป:
- ตรวจไม่พบโทรศัพท์ —
gvfs-mtpไม่สามารถระบุอุปกรณ์ได้ - Nautilus/Dolphin ค้าง — ตัวจัดการไฟล์ค้างเมื่อเรียกดูพื้นที่จัดเก็บข้อมูลในโทรศัพท์
- ความเสียหายในการถ่ายโอน — ไฟล์มาถึงไม่สมบูรณ์หรือเสียหาย โดยเฉพาะวิดีโอขนาดใหญ่
- ไม่มีการเข้าถึงพร้อมกัน — มีเพียงแอปเดียวเท่านั้นที่สามารถเข้าถึง MTP ในแต่ละครั้ง
- ปัญหาการอนุญาต — กฎ udev จำเป็นสำหรับดิสทริบิวชันบางตัว
สิ่งเหล่านี้ไม่ใช่ความผิดของ AnExplorer - มันเป็นปัญหาสแต็ก Linux MTPDevice Connect และ SFTP ข้ามเลเยอร์ MTP ทั้งหมดโดยใช้โปรโตคอลเครือข่ายมาตรฐานที่ Linux จัดการได้อย่างไร้ที่ติ
สำหรับผู้ที่สงสัยทางเทคนิค: MTP ได้รับการออกแบบโดย Microsoft สำหรับเครื่องเล่นสื่อพกพาในช่วงต้นทศวรรษ 2000ไม่เคยมีไว้สำหรับการถ่ายโอนไฟล์เพื่อวัตถุประสงค์ทั่วไปLinux ใช้มันอย่างไม่เต็มใจเพราะ Android เลือกให้เป็นโปรโตคอล USB เริ่มต้น (แทนที่ USB Mass Storage ซึ่งมีปัญหาในการถอนการเชื่อมต่อ)ผลลัพธ์ที่ได้คือโปรโตคอลที่ไม่มีใครชื่นชอบ ซึ่งใช้งานโดยไลบรารีที่ไม่มีใครดูแลได้ดี บนระบบปฏิบัติการที่มีโปรโตคอลการแชร์ไฟล์แบบเนทิฟที่ดีกว่ามาก (SSH, SMB, HTTP)AnExplorer ให้คุณใช้โปรโตคอลที่ดีกว่าเหล่านั้นแทน
หมายเหตุเฉพาะ Distro
Ubuntu/Debian: โดยปกติแล้ว SSH จะไม่ถูกติดตั้งเป็นค่าเริ่มต้นในรุ่นเดสก์ท็อปติดตั้งด้วย sudo apt install openssh-serverบนเซิร์ฟเวอร์ Ubuntu มีการติดตั้งไว้ล่วงหน้า
Fedora/RHEL: ติดตั้ง SSH แล้ว แต่อาจไม่ได้เปิดใช้งานเริ่มต้นด้วย sudo systemctl enable --now sshdไฟร์วอลล์อาจบล็อกพอร์ต 22 — เปิดด้วย sudo firewall-cmd --add-service=ssh --permanent && sudo firewall-cmd --reload
Arch Linux: ติดตั้งด้วย sudo pacman -S openssh และเปิดใช้งานด้วย sudo systemctl enable --now sshd
Linux Mint/Pop!_OS: เหมือนกับ Ubuntu — sudo apt install openssh-server หากไม่มี
สำหรับ Samba แพ็คเกจ distros หลักทั้งหมดจะเป็น: apt install samba (Debian/Ubuntu), dnf install samba (Fedora), pacman -S samba (Arch)
การเปรียบเทียบ: วิธีการถ่ายโอน Linux
| วิธีการ | ความเร็ว | การตั้งค่าลินุกซ์ | ความน่าเชื่อถือ | ดีที่สุดสำหรับ |
|---|---|---|---|---|
| การเชื่อมต่ออุปกรณ์ | 20–50 เมกะไบต์/วินาที | ไม่มี (เบราว์เซอร์) | ดีเยี่ยม | โอนด่วน distro ใด ๆ |
| SFTP (ถึง Linux) | 20–40 เมกะไบต์/วินาที | SSH ทำงาน (โดยปกติจะเป็นค่าเริ่มต้น) | ดีเยี่ยม | การเข้าถึงไฟล์ Linux จากโทรศัพท์ |
| แซมบ้า/SMB | 30–60 เมกะไบต์/วินาที | ติดตั้ง + กำหนดค่า Samba | ดีเยี่ยม | โฟลเดอร์แชร์ที่พร้อมใช้งานเสมอ |
| เชื่อมต่อ KDE | 10–30 เมกะไบต์/วินาที | ติดตั้ง KDE เชื่อมต่อ | ดี | การแจ้งเตือน + ไฟล์ขนาดเล็ก |
| ส่งภายในเครื่อง | 20–50 เมกะไบต์/วินาที | ติดตั้ง LocalSend | ดี | ข้ามแพลตฟอร์ม โอเพ่นซอร์ส |
| MTP (ยูเอสบี) | 10–30 เมกะไบต์/วินาที | ไม่มี (ในตัว) | แย่บน Linux | ทางเลือกสุดท้าย |
| กด/ดึง ADB | 30–50 เมกะไบต์/วินาที | ติดตั้ง ADB | ดี | นักพัฒนาเท่านั้น |
คำแนะนำที่เกี่ยวข้อง
- ถ่ายโอน Android ไปยังพีซี — คู่มือเฉพาะ Windows
- ถ่ายโอน Mac ไปยัง Android — คำแนะนำเฉพาะ macOS
- SFTP บน Android — การตั้งค่าไคลเอ็นต์ SFTP เต็มรูปแบบ
- SMB บน Android — การตั้งค่าไคลเอนต์ SMB เต็มรูปแบบ
