Wer einen Nexus-Androiden oder auch ein aktuelles Samsung-Handy mit Android kauft, der wird feststellen, dass es unter Linux ein klein wenig nervig ist Daten auf bzw. vom Handy zu schieben. Der Grund dafür ist, dass Google mittlerweile darauf verzichtet den Handys eine eigene Datenpartition zu spendieren, die aus dem System ausgehängt und exklusiv über USB via USB-Mass-Storage (USM) vom PC angesprochen werden kann. Stattdessen werden die Daten mittels MTP/PTP übertragen, was unter Linux allerdings einige Problemchen verursacht. Tools wie go-mtpfs oder jmptpfs oder auch AirDroid sind brauchbare Krücken, doch bequem ist was anderes. Ein Update des GVFS hat jedoch mittlerweile gerlent mit MTP umzugehen. Die dringend notwendige Implementation von MTP in das GVFS (dem virtuelle Dateisystem von GNOME) wurde von Philip Langdale durchgeführt, dem der Dank eines jeden Android-Users mit Linux auf dem PC gelten sollte. Seine Arbeit wurde mittlerweile direkt in GVFS integriert, so dass zukünftige GNOME-Versionen von Haus aus mit MTP umgehen können. Für Ubuntu- oder Mint-User mit mindestens Ubuntu 12.04+ hat er zudem ein PPA aufgesetzt, das die Pakete gvfs und libmtp entsprechend aktualisiert, so dass ihr jetzt schon auf die Aktualisierung zurückgreifen könnt.

$ sudo add-apt-repository ppa:langdalepl/gvfs-mtp
$ sudo apt-get update && sudo apt-get dist-upgrade

Ich habe die Pakete bei mir unter Ubuntu 12.10 probiert und kann nicht klagen. Nach der Installation und einem Neustart des Systems taucht mein Galaxy Nexus umgehend im Dateimanager auf, sobald das Handy anschließe. Die Performance ist beim Dateitransfer ist OK, aber auch nicht berauschen. Schreibend schafft mein Nexus etwa 4,5 MB/s, Lesen geht es bei etwa 8,2 MB/s etwas schneller zu.

Gvfs wurde nun endlich um ein MTP-Backend aktualisiert.
Gvfs wurde nun endlich um ein MTP-Backend aktualisiert.

Was ich beobachten konnte, ist dass die Verbindung zum Handy nach einer Weile einschläft. Hat man zum Beispiel den Dateimanager mit dem Handy als Verzeichnis offen und wartet eine Weile (etwa so lange wie ich an diesem Beitrag geschrieben habe) ab, dann lässt sich in dieses Fenster keine Datei mehr ziehen, man muss das Handy ab- und wieder anstöpseln. Ganz sauber und ohne Bugs arbeitet das PPA daher noch nicht, bis zu Ubuntu 13.04 werden die Kinderkrankheiten hoffentlich ausgemerzt werden. Testet daher das PPA und gebt dem Entwickler über eure Erfahrungen Bescheid!

92 KOMMENTARE

  1. Hallo Christoph,
    erstmal Danke – super Blog!!!
    Ubbix hatte schonmal gefragt:
    „Ubbix
    10. Oktober 2013 um 14:44 Uhr

    Hallo Christoph,
    Ich kann aud das Dateisystem u. SD-Karte meines S3 Mini zugreifen.
    Das öffnen der Dateien (Bilder, Videos) ist jedoch nicht möglich.
    Ist das normal?“

    Das ist auch mein Problem, habe keine Antwort gefunden.
    Weiß jemand Rat?

    Danke im Voraus
    Rolf

  2. Herzlichen Dank fuer die Anleitung.
    Funktioniert mit Galaxy S4 (Android 4.2) und LinuxMint 13 (Ubuntu 12.04) prima.
    Zugriff lesen/schreiben auf internen Speicher sowie auf 32GB-SD-Card sind mit Datei-Manager Caja moeglich.

    Mehrere package-updates, Neustarts und ein

    sudo dpkg –config -a

    waren noetig.

  3. Hallo Christoph,

    Johannes schrieb am
    3. April 2013 um 19:47 Uhr

    Hallo. Funktioniert das auch mit rsync?

    Deine Antwort vom 7.4.13
    Habe ich noch nicht probiert, aber im Endeffekt müsste es eigentlich gehen, da du ja das Handy unter ~/.gvfs finden müsstest, oder?

    Bei mir gibt es kein ~/.gvfs, weder unter user noch root.

    Installiert: LMDE MATE Edition, neuester Stand,
    dadurch ist gvfs-backends ebenfalls installiert.
    Zugriff mit CAJA o.k.

    Wuerde gerne mit rsync backups von meinem Samsung S4 machen, brauche dazu aber wohl einen mountpoint.

    Hast Du eine Idee ?

    Gruesse
    Leolulu

    • Danke f. d. schnelle Antwort.

      PCManFM zeigt mir
      mtp://[usb:001,003]/
      als Pfad an, ebenso Caja v1.2.1.

      In grsync als Quelle angegeben erscheint error:
      — begin
      ssh: Could not resolve hostname mtp: Name or service not known
      rsync: connection unexpectedly closed (0 bytes received so far) [Receiver]
      rsync error: unexplained error (code 255) at io.c(605) [Receiver=3.0.9]
      Rsync process exit status: 255
      — end

      Wie ich sonst den Pfad herausfinden soll weiss ich nicht.
      Um pwd ein zu geben, muesste ich mich ja schon innerhalb des Systems von Android befinden. Wie ich aber da hinein komme weiss ich nicht (ist nicht gerootet).
      Was tun ? Weitere Idee ?

  4. Für mich war nach sehr viel Frust jmtpfs die Lösung. Damit funktioniert zumindest die Dateiübertragung zuverlässig unter Ubuntu 16.04 mit einem Fairphone 1 (Android 4.2) und einem OnePlus 3 (Android 7).
    Mtpfs funktioniert bei mir seit einem der Point-Releases von Ubuntu 14.04 (resp. seit einem der entsprechenden Enablement-Stacks, weiss leider nicht mehr, welcher es genau war) nicht mehr. Habe auch versuchsweise die entsprechenden udev-Regeln geschrieben resp. angepasst, hat alles nix geholfen. Das Handy wurde zwar erkannt (lsusb und mtp-detect), im Dateimanager tauchte es jedoch nicht auf, Rhythmbox stürzte beim Zugriff stets ab und Shotwell gab eine Fehlermeldung „Zugriff nicht möglich etc.“ aus. Auch unter Ubuntu 16.04 blieb die Situation die gleiche und zwar sowohl beim Fairphone 1 als auch beim OnePlus 3.