Mounting Your Android Phone in Linux: A Practical Guide

Sketch infographic

By Greg Nowak. Last updated 2026-09-06.

Getting photos, recordings or documents from an Android phone onto a Linux computer should be a routine job. When it fails, a simple handover can hold up a website update, client delivery or internal task.

Start with your desktop’s file manager. If you need a folder path for terminal tools, or the desktop connection fails, jmtpfs remains a useful fallback on distributions that package it. The workflow below covers both routes, including how to disconnect cleanly.

Start with the phone and cable

Before installing anything, check the connection:

  1. Unlock the phone and connect it with a USB cable that supports data transfer.
  2. Tap the phone’s USB notification and select File transfer. The wording varies between devices.
  3. Accept any file-access prompt shown on the phone.
  4. Open your Linux file manager and look for the phone in its sidebar or device list.

Google’s Android transfer instructions confirm the phone-side steps and highlight a common trap: some USB cables only support charging. If nothing appears, try another data cable and a direct USB port before changing Linux settings.

Android generally shares files through MTP, the Media Transfer Protocol. This does not expose the phone as an ordinary USB disk. Desktop integration handles that difference for everyday copying; Debian’s MTP guidance describes support through GNOME and KDE, alongside command-line alternatives.

Choose the method that fits the job

Your situation Start here Practical consideration
You need a few photos or documents Your desktop file manager Try one small copy before selecting everything.
A terminal tool needs a folder path A jmtpfs mount in your home directory Release the desktop’s connection first.
The phone charges but does not appear USB mode, cable and port checks Installing another transfer tool may not address the cause.
A transfer fails on one file A small, isolated test copy Record the exact error before renaming or deleting anything.
A quick decision guide for Android file transfers on Linux.

Mount Android with jmtpfs

The following installation command applies to Debian and Ubuntu releases that provide jmtpfs, including Debian 13 and Ubuntu 24.04. Package availability varies by release; use your distribution’s repositories.

sudo apt update
sudo apt install jmtpfs

Finish any desktop transfer, eject or unmount the phone in the file manager if that option is available, and close applications browsing it. Then create an empty mount directory under your own account:

mkdir -p "$HOME/mnt/android"
jmtpfs "$HOME/mnt/android"
ls "$HOME/mnt/android"

The listing should reveal the storage areas exposed by your phone. Browse those names before constructing a copy command: labels such as “Internal shared storage” vary by device and language.

Connect only the intended phone for this simple workflow. You can list detected MTP devices with:

jmtpfs -l

The jmtpfs manual documents device selection, mounting and unmounting. It also notes that a locked phone can cause an input/output error.

Use sudo for package installation, but run the mount as your normal user. Earlier versions of this article included -o allow_other. That option removes FUSE’s restriction to the mounting user, permitting access by other local users subject to applicable permissions. It is unnecessary for a personal transfer; see the FUSE mount options.

When the phone is busy or the mount fails

A “device busy” error can mean another application already holds the MTP connection. The libmtp project’s troubleshooting guidance identifies competing desktop services as a known cause.

First stop active transfers and release the phone from other applications. Reconnect it, select File transfer again, and retry with one client. Closing a file-manager window alone may leave its background service connected.

The old suggestion here to kill kiod or kiod5 was a workaround for a particular desktop setup. Avoid treating those process names as a universal fix. If the conflict persists, identify the MTP service used by your desktop before stopping it; signing out and back in after saving your work is another way to clear the session.

For a permissions error, check access to both the mount directory and USB device through your distribution’s device-access configuration. Running everything as root can hide the underlying problem.

If copying fails consistently on one item, test that file separately and note its name, size and error message. Files previously copied from an iPhone are not, by themselves, evidence of a mounting problem. Diagnose the failure before changing the originals.

Check the copy, then disconnect

For business files, I recommend copying into a clearly named local project folder, opening representative files, and checking that the expected items arrived. Keep the originals until the copy has been checked and backed up. Work on the local copies once the transfer is complete.

Close files and terminals using the mount, then unmount it:

cd "$HOME"
fusermount -u "$HOME/mnt/android"

If your distribution provides only fusermount3, use fusermount3 -u with the same path. If unmounting reports that the folder is busy, close the remaining applications using it and retry before unplugging.

For a recurring team task, document the working cable, USB setting, destination folder and verification step. That gives the next person a repeatable handover. If small technical obstacles keep interrupting delivery, contact Greg to discuss the workflow and where practical help would make a difference.

Related on GrN.dk

Need help with this kind of work?

Talk to Greg about your technical workflow Get in touch with Greg.

Sources

Latest articles

Build a weekly marketing report from GA4 and Google Ads with verified calculations, clear data caveats and a short AI draft to support your Monday meeting.

Before buying a GPU, test one real team workflow on existing hardware. A Linux pilot can show whether quality, memory, response times, and running costs add up.

Planning a Drupal relaunch? Set clear rules for content, translations, media and old URLs, with a practical checklist for approving the migration and launch.

Use AI for your online store’s alt text with a manageable pilot: map the images, generate suggestions in Danish, and check the results in WordPress and WooCommerce.

Supplier files need more than extraction. Here’s how to check coverage, match SKUs, resolve unclear units and prices, and test product data before a catalogue import.

Shorter TLS certificates leave less room for renewal problems. Check domain validation, scheduling, deployment and the certificate your customers actually receive.

AI image credentials can disappear during routine website processing. Learn how to test your CMS, optimizer, CDN, and publishing workflow end to end.

AI-based ticket analysis can uncover recurring complaints, product defects and gaps in documentation—without the company needing yet another chatbot.

OpenAI’s X.509 workload identity can replace API keys for the right workloads. This practical framework helps teams decide where to start safely.

WordPress 7.1 helps AI agents discover and invoke site abilities. Here is how to keep exposure, authentication and permission firmly separate.

Review Greg on Google

Greg Nowak Google Reviews

 

Written recommendations from Trafik og Veje, Aarhus Municipality (2011) and AgroTech (2010) — read them on LinkedIn.