Frage Wo befinden sich MTP-gemountete Geräte im Dateisystem?


Ich habe ein Android-Telefon, das über MTP mit meinem Computer verbunden ist. Das funktioniert gut; Ich kann Dateien mit Nautilus sehen und übertragen. Ich möchte jedoch oft das Terminal verwenden, um eine große Anzahl von Dateien zu verschieben, und ich kann das Gerät nirgends in der Dateisystemstruktur finden. Nautilus meldet den Standort als mtp://[usb:003,007]/aber es ist nicht unter /media oder /mnt.

Weiß jemand wo es ist?


167
2017-09-06 20:00


Ursprung


Mögliches Duplikat von Zeige den 'cd' Pfad zum mtp Gerät in Nemo an - dimo414


Antworten:


Wie du schon hast herausgefunden, die Mountpoints sind in /run/user/$USER/gvfs/ (oder /var/run/user/$UID/gvfs) und sind nach dem Protokoll, dem Verbindungstyp und der Adresse benannt, die sie verwenden. Das erschwert die Sache, da sich die Verbindungsadresse bei jedem Umstecken des Geräts ändern kann, auch wenn es sich um denselben Port handelt. Wenn Sie das gleiche Gerät zweimal haben, wird es noch schlimmer.

Sie können verwenden lsusb um alle angeschlossenen USB-Geräte vom Terminal anzuzeigen:

$ lsusb | grep Google                       # Note: This is a Nexus 4
Bus 002 Device 025: ID 18d1:4ee2 Google Inc.

Wie Sie bemerkt haben, gibt Nautilus diese Information auch per Tooltip. Sie werden die codierte Form von z.B. mtp://[usb:002,025] im /run/user/$USER/gvfs (oder /var/run/user/$UID/gvfs) wie mtp:host=%5Busb%3A002%2C025%5D


Asker's edit: Dies scheint eine neuere Version von libmtp und / oder gvfs zu benötigen, als standardmäßig in 13.04 verfügbar ist. Lauf sudo add-apt-repository ppa:langdalepl/gvfs-mtp und update, bevor Sie etwas anderes tun.


Edit: PPA nicht mehr benötigt in saucy / 13.10 und neuer, Dateinamen sind im Terminal wie in Nautilus aufgeführt.

Bearbeiten 11.01.2016: Ich habe das Skript, das zuvor in dieser Antwort enthalten war, aufgrund von Zeitmangel für Wartung und Verbesserungen entfernt. Sie können es immer noch in der Überarbeitungshistorie finden.


124
2017-09-07 13:25



Vielen Dank für Ihre Antwort. Leider funktioniert es nicht, weil die tatsächlichen Ordnernamen (z. B. / DCIM / Kamera /) nur in Nautilus sichtbar sind, nicht im Terminal. Daher ist $ Path / DCIM / Camera nicht mit rsync zugänglich. - bessman
Der Pfad ist nur ein Beispiel und unterscheidet sich für Android-Handys. Das Telefon muss auch über den Sperrbildschirm entsperrt werden, um den Zugriff auf die Daten zu ermöglichen. - LiveWireBT
Der Weg /DCIM/Camera/ existiert auf meinem Telefon, aber im Terminal heißt es /2404/2407/. Das ist das Problem. Wenn ich cdin /2404/2407/ und Renn nautilus ., dann /DCIM/Camera/ ist geöffnet. Das Telefon ist entsperrt, sonst könnte ich nicht über Nautilus darauf zugreifen, oder? - bessman
Beachten Sie, dass Sie alle Voraussetzungen erfüllen müssen, damit dies funktioniert gvfs-fuse Paket installiert. Nicht alle Versionen / Varianten von Ubuntu haben es standardmäßig (z. B. Ubuntu MATE 14.10 nicht). Ohne sie wird das MTP-Gerät nicht als lokaler Pfad bereitgestellt und kann nur von Anwendungen verwendet werden, die gvfs-URIs unterstützen. - user149408
ich fand die gvfs/ Verzeichnis schließlich. Jedoch ist der Pfad auf diesem PC statt $ USER: /run/user/1000/gvfs/mtp:host=%5Busb%3A003%2C003%5D - Für andere schlage ich vor, dass Sie nur herumstochern, wenn Sie es nicht sofort finden. - will


Der Speicher meines Nexus-Geräts kann wie folgt aufgerufen werden:

/run/user/$UID/gvfs/mtp*

Also wenn deine $ UID ist 1000Vielleicht finden Sie es, indem Sie es tun

$ cd /run/user/$UID/gvfs/mtp*

oder (für die genaue Position in einem Beispiel unter der Annahme, dass Ihre UID 1000 ist),

$ cd /run/user/1000/gvfs/mtp\:host=%5Busb%3A001%2C006%5D/

78
2018-02-15 07:39



Dies sollte die akzeptierte Antwort sein, da keine zusätzliche Software installiert werden muss. Vielen Dank user2529583! - NH.
Irgendeine Idee wenn die mtp* Dateiname kann für die Verwendung in Wine-Anwendungen umbenannt werden? Naiv mv gibt mir mv: cannot move 'mtp:host=%5Busb%3A001%2C065%5D' to 'mtp': No such file or directory (Beachten Sie, dass der Dateiname Tab-Completed ist) - Mark Jeronimus
@Mark jedes Zeichen ist ein gültiger Dateiname in Linux. Schau, ob es einen Weg gibt, es ohne mv umzubenennen. - Babken Vardanyan
Genial. Es funktioniert vollkommen gut und ersparte mir eine Menge "Ausprobieren" von Raspbian Wheezy und Jessie - Zimano


MTP montiertes Gerät kann normalerweise gefunden werden in: /run/user/1000/gvfs/


zB wenn Ihre Nautilus-Adressleiste angezeigt wird mtp://[usb:001,006]/, dann können Sie zugreifen durch:

/run/user/1000/gvfs/mtp\:host=%5Busb%3A001%2C006%5D/

Jetzt am Terminal können Sie Dateien oder Ordner kopieren:

  • CD in Ordner -> cd /run/user/1000/gvfs/mtp\:host=%5Busb%3A001%2C006%5D/
  • Kopieren Sie dann die erforderlichen Ordner in das aktuelle Verzeichnis -> cp -r ~/videos/ .

21
2018-03-10 04:07



Es funktioniert genau wie du sagst. Aber wenn ich 'ls-a' mache, ist es leer. - ycc_swe


Art mount. Das wird jedes aktive Dateisystem auflisten.


10
2017-09-06 21:50



Nein, das Gerät wird nicht in der Ausgabe angezeigt. - LiveWireBT
Hmm. Diese Art von Arbeit. Ich habe es unter / run / user / myusername / gvfs / gefunden. Allerdings sind alle Ordnernamen nur Zahlen statt der tatsächlichen Namen, die ich in Nautilus sehe. Als solches löst es mein Problem nicht wirklich, weil ich immer noch nicht einfach das Terminal verwenden kann, um Dateien auf das Gerät zu verschieben. - bessman
Wenn Nautilus das MTP-Gerät geöffnet hat, verwenden Sie die Befehle lsof -c nautilus | less um alle Dateien aufzulisten, die Nautilus geöffnet hat. - waltinator
Das hat es für mich gelöst :) - marlar


Dies funktioniert mit:

  • Linux Mint 17.3
  • Samsung Galaxy S5

Versuche dies:

  1. apt-get install mtpfs
  2. apt-get install mtp-tools
    • # Ja könnte eine Zeile sein (das ist wahlweise)
  3. sudo mkdir -p /media/mtp/phone
  4. sudo chmod 775 /media/mtp/phone
    • # Persönlich würde ich Berechtigungen auf beschränken NO-eXecute
    • # An diesem Punkt bin ich mir nicht sicher was ist genug montieren.
  5. Trennen Sie das Telefon Micro-USB und Plug-in, dann ...
  6. sudo mtpfs -o allow_other /media/mtp/phone
  7. ls -lt /media/mtp/phone

Ausgabe:

 total 0
 drwxrwxrwx 2 will will 0 Jan  1  1970 Card
 drwxrwxrwx 2 will will 0 Jan  1  1970 Phone
 drwxrwxrwx 2 will will 0 Jan  1  1970 Playlists
  1. ls -lt /media/mtp/phone/Card

Ausgabe:

 total 0
 drwxrwxrwx 2 will will 0 Jan  1  1970 Android
 drwxrwxrwx 2 will will 0 Jan  1  1970 DCIM
 drwxrwxrwx 2 will will 0 Jan  1  1970 LOST.DIR
 drwxrwxrwx 2 will will 0 Jan  1  1970 Music

Zugriff auf die SD-Karte auf meinem Android-Telefon auflisten. "Wiedergabelisten"ist ein virtuelles Verzeichnis namens" / Playlists ", das deine Playlists als .m3u Dateien enthält. (per man mtpfs)

Das scheint der Trick zu sein. Nützliche Befehle zum Erinnern ...

  • sudo mtpfs -h ... listet die Optionen des Geräts auf. Dies scheint nur zu funktionieren, bevor Sie das Gerät installiert haben. Also schau erstmal nach, vielleicht.
  • mtp-detect ... zeigt viel Sachen über das Gerät (Teil von mtp-tools).

Auch ich denke du brauchst das Telefon / Gerät "aufÖffnen Sie den Bildschirmschoner, wenn Sie einen haben, damit das Gerät eine Verbindung herstellen kann.

Ich habe festgestellt, dass mein USB-s mount als:

  • / Medien / Wille /USB Laufwerk

Es könnte also sinnvoller sein, unter Ihrem Benutzernamen statt des "mtp" -Stubs zu mounten. Überprüfen Sie auch den Beitrag: "Mounten Sie Ihre MTP Android SD-Karte auf Ubuntu", es hat ein paar nützliche Vorschläge und Extras.

Verweise:

Ich habe meine Führung von diesen zwei Posts übernommen:


7
2018-01-11 20:11



Hallo, obwohl das funktioniert, finde ich immer noch die MTP ist zu langsam und oft ist es als ob Mein Linux-PC ist gesperrt. Ich unterstütze die weiteren Kommentare zur Verwendung von FTP. Ich habe etwas gegraben und empfehle das Hilfshelfer App. Es ist sehr nützlich, offen und reif. Arbeitet mit Windows, Linux und Mac - oder allem, was SSH unterstützt. Einfach zu bedienen. Probieren Sie es aus. - will


Dies ist keine direkte Antwort auf das Problem, aber dennoch eine Lösung.

Nachdem Inkonsistenzen mit USB-Konnektivität aufgetreten sind, habe ich die .gvfs und USB-System alle umgangen.

Ich habe einen einfachen FTP-Server auf dem Android installiert und voila! Verbinden Sie sich mit dem Server (entweder ftp mit Login oder ohne, je nachdem, wie Sie sich entscheiden) von Nautilus / nemo / thunar und schon kann es losgehen.

Die Synchronisierung von Ordnern erfolgt über OwnCloud und / oder BitTorrentSync.

Und das FTP über WLAN ist viel schneller als die USB-Verbindung war.


6
2017-10-27 02:11





Ich habe ein LG2 Telefon und ich benutze Xubuntu 15.10.

So habe ich das Gerät in das mnt Verzeichnis unter meinem Benutzer gemountet.

  1. Stellen Sie zuerst sicher, dass Sie die folgenden Pakete in Ihrem System installiert haben.

    sudo apt-get install jmtpfs mtp-tools
    
  2. Verbinden Sie Ihr Telefon als MTP-Gerät und geben Sie den folgenden Befehl in Ihr Terminal ein.

    mtp-detect
    
  3. Kommentar entfernen user_allow_other im Ordner /etc/fuse.conf.

  4. Erstellen Sie ein Verzeichnis mnt in Ihrem Home-Verzeichnis.

    mkdir mnt
    
  5. Montieren Sie das Gerät.

    jmtpfs ~/mnt
    
  6. Das ist es. Jetzt ist Ihr Gerät unter dem installiert mnt Verzeichnis erstellt in Schritt 4.

Hinweis: Möglicherweise sind einige Schritte nicht erforderlich. Aber das Befolgen der obigen Schritte hat für mich funktioniert.

Referenz: https://wiki.archlinux.org/index.php/MTP


6
2017-12-16 06:00





MTP ist ein Protokoll, ähnlich wie FTP oder SSH. Es ruft Dateien ab, wenn der Benutzer danach fragt. Daher gibt es kein angehängtes Dateisystem auf dem Computer.

Verwenden Sie mtpfs, damit es wie ein eingehängtes Dateisystem aussieht.

mtpfs <a_folder_to_mount>

Keine Notwendigkeit, das Gerät anzugeben. Wenn nur ein Gerät angeschlossen ist, besteht keine Mehrdeutigkeit. Ich habe es nicht mit mehreren an meinen Computer angeschlossenen Geräten getestet.


4
2018-02-13 08:05





Ich weiß nicht genau, wie ich den MTP-Standort über das Terminal durchqueren soll. Ich habe jedoch herausgefunden, dass wir mit der rechten Maustaste auf den internen Speicher / SD-Karte klicken und die Option "Im Terminal öffnen" auswählen können. Dadurch wird der Standort direkt im Terminal geöffnet.


2
2018-04-16 10:48



Ein echter Screenshot (des internen Framebuffers) wäre so viel besser als ein Foto des Bildschirms (mit einer externen Kamera). - David Foerster