Android ↔ Linux File Transfer — Skip the MTP Pain
If you've ever tried connecting an Android phone to a Linux desktop over USB, you know the frustration. MTP on Linux is handled by libmtp and gvfs-mtp — libraries that are notoriously flaky. Disconnections mid-transfer, Nautilus freezing, files appearing corrupted, or the phone simply not being detected at all.
AnExplorer sidesteps MTP entirely. Two approaches that actually work reliably on any Linux distro:
- Device Connect — your phone runs an HTTP server, you open it in Firefox. Zero setup on Linux.
- SFTP client — AnExplorer connects to your Linux machine's SSH. Most Linux boxes run SSH out of the box.
Both work over Wi-Fi. No cables, no drivers, no mtp-detect debugging.
Approach 1: Device Connect (Phone → Linux, Zero Setup)
This is the "just works" method. Your phone becomes a web server; Linux's browser is the client.
On your phone:
- Open AnExplorer → tap ☰ → Device Connect → Start
- Note the address:
http://192.168.1.42:8080
On Linux:
- Open Firefox (or Chrome/Chromium/Brave — anything with a browser)
- Type the address → Enter
- Your phone's filesystem appears — browse, download, upload, rename, delete
That's it. No apt install anything. No Flatpak. No snap. No PPA. Just a browser you already have.
What you can do:
- Download files from phone to Linux (click any file)
- Upload files from Linux to phone (Upload button → file picker)
- Create folders, rename files, delete — full file management from the browser
- Transfer multiple files at once
Speed: 20–50 MB/s on 5 GHz Wi-Fi. Faster than MTP in practice, and infinitely more reliable.
Works on any distro: Ubuntu, Fedora, Arch, Debian, openSUSE, Mint, Pop!_OS, Manjaro — if it has a web browser, Device Connect works. No distro-specific packages, no dependency hell, no PPA to add. This is why it's the recommended first method for Linux users who just want to move files without thinking about infrastructure.
Approach 2: SFTP Client (Linux → Phone, Access Linux Files)
Linux machines almost always run OpenSSH. AnExplorer's SFTP client connects to it directly — giving you full access to your Linux filesystem from your phone.
On Linux (verify SSH is running):
systemctl status sshd
If it's not running: sudo systemctl enable --now sshd
Note your Linux machine's IP: ip addr show or hostname -I
On your phone:
- Open AnExplorer → ☰ → Network → SFTP
- Tap + to add a new connection
- Host: your Linux IP (e.g.
192.168.1.100), Port:22 - Username: your Linux login, Password: your Linux password
- Tap Connect
Your entire Linux filesystem appears in AnExplorer. Browse /home/username/, copy files to your phone, or upload from phone to Linux.
Why Linux users prefer this:
- SSH is already running — no additional software to install or configure
- Encrypted by default (unlike FTP or HTTP) — all data travels through the SSH tunnel
- Works remotely over VPN (not just local Wi-Fi) — access your home Linux box from anywhere
- Familiar to anyone who uses
scporrsync— same credentials, same port - Full filesystem access — browse
/home,/media,/mnt, even/etcif your user has permission - Bookmarkable in AnExplorer — save the connection for one-tap access next time
Practical uses:
- Pull a file from your Linux workstation to your phone before leaving the house
- Access your home server's media library from your phone on the couch
- Upload photos from your phone directly to your Linux machine's photo archive
- Browse project files on your development machine from your phone during a meeting
Approach 3: Samba/SMB (Shared Folder, Always Available)
If you share folders on your Linux machine via Samba, AnExplorer connects as an SMB client:
On Linux (one-time Samba setup):
sudo apt install samba
sudo nano /etc/samba/smb.conf
Add a share, set a Samba password (sudo smbpasswd -a username), restart: sudo systemctl restart smbd
On your phone:
- AnExplorer → ☰ → Network → SMB → tap +
- Enter Linux IP, share name, username, Samba password
- Connect — your shared folder appears
Once bookmarked, it's one-tap access from AnExplorer's sidebar anytime both devices are on the same network.
When Samba makes sense over Device Connect:
- You want a persistent shared folder that's always available (not just when you manually start a server)
- Multiple devices need to access the same Linux folder (phone, tablet, TV)
- You're already running Samba for Windows machines on your network
- You want to drop files into a folder on Linux and pick them up from your phone later without any manual step
Why Not MTP Over USB?
MTP on Linux has been problematic for over a decade. Common issues:
- Phone not detected —
gvfs-mtpfails to enumerate the device - Nautilus/Dolphin freezes — file manager hangs when browsing phone storage
- Transfer corruption — files arrive incomplete or corrupted, especially large videos
- No concurrent access — only one app can access MTP at a time
- Permissions issues — udev rules needed on some distros
These aren't AnExplorer's fault — they're Linux MTP stack issues. Device Connect and SFTP bypass the entire MTP layer by using standard network protocols that Linux handles flawlessly.
For the technically curious: MTP was designed by Microsoft for portable media players in the early 2000s. It was never meant for general-purpose file transfer. Linux adopted it reluctantly because Android chose it as the default USB protocol (replacing USB Mass Storage, which had its own problems with unmounting). The result is a protocol nobody loves, implemented by libraries nobody maintains well, on an OS that has far better native file-sharing protocols available (SSH, SMB, HTTP). AnExplorer lets you use those better protocols instead.
Distro-Specific Notes
Ubuntu/Debian: SSH is usually not installed by default on desktop editions. Install with sudo apt install openssh-server. On Ubuntu Server, it's pre-installed.
Fedora/RHEL: SSH is installed but may not be enabled. Start with sudo systemctl enable --now sshd. Firewall may block port 22 — open it with sudo firewall-cmd --add-service=ssh --permanent && sudo firewall-cmd --reload.
Arch Linux: Install with sudo pacman -S openssh and enable with sudo systemctl enable --now sshd.
Linux Mint/Pop!_OS: Same as Ubuntu — sudo apt install openssh-server if not present.
For Samba, all major distros package it: apt install samba (Debian/Ubuntu), dnf install samba (Fedora), pacman -S samba (Arch).
Comparison: Linux Transfer Methods
| Method | Speed | Linux setup | Reliability | Best for |
|---|---|---|---|---|
| Device Connect | 20–50 MB/s | None (browser) | Excellent | Quick transfers, any distro |
| SFTP (to Linux) | 20–40 MB/s | SSH running (usually default) | Excellent | Accessing Linux files from phone |
| Samba/SMB | 30–60 MB/s | Install + configure Samba | Excellent | Always-available shared folder |
| KDE Connect | 10–30 MB/s | Install KDE Connect | Good | Notifications + small files |
| LocalSend | 20–50 MB/s | Install LocalSend | Good | Cross-platform, open-source |
| MTP (USB) | 10–30 MB/s | None (built-in) | Poor on Linux | Last resort |
| ADB push/pull | 30–50 MB/s | Install ADB | Good | Developers only |
Related Guides
- Transfer Android to PC — Windows-specific guide
- Transfer Mac to Android — macOS-specific guide
- SFTP on Android — full SFTP client setup
- SMB on Android — full SMB client setup
