Wie kann ich über Bash in ein montiertes Samsung-Handy einbinden?

8

Laut Gnome / Nautilus befinden sich diese Dateien unter: mtp://[usb:001,007]

Aber:

$ cd mtp://[usb:001,007]
bash: cd: mtp://[usb:001,007]: No such file or directory

Und df -hlistet es nicht auf.

Während lsusbschlägt vor, dass es da ist:

Bus 001 Device 008: ID 04e8:6860 Samsung Electronics Co., Ltd Galaxy (MTP)

zadrozny
quelle
1
cdist zu change directory, kein Gerät zu montieren. Was sagt dir, dass es montiert ist? Ist es sichtbar in mount? Wenn nicht, müssen Sie es zuerst mounten.
Julie Pelletier
Ich kann über die GUI auf die Dateien zugreifen.
Zadrozny

Antworten:

2

Kurze Antwort: Sie können nicht cdin dieses Verzeichnis.

Media Transfer Protocol (MTP)

Das Media Transfer Protocol (MTP) verwendet eine spezielle API, die den eingeschränkten Zugriff auf Dateien auf einem Gerät ermöglicht. Soweit ich weiß, wurde es ursprünglich von Microsoft für die Verwendung mit proprietärer Software entwickelt, die mit dem digitalen Beschränkungssystem kompatibel ist .

Das Protokoll wurde 2008 zu einer offiziellen USB-Geräteklasse und bietet eine Standardmethode zum Übertragen von Medien und Metadaten zwischen einem Computer und einem externen Gerät. Es ist nicht an DRM gebunden und die ständig innovative FOSS-Community hat die libmtp- Bibliothek entwickelt, um MTP-Geräte zu unterstützen.

Die mtp://[usb:001,007]URL ist ein virtuelles GNOME-Dateisystem, das libmtpals Backend verwendet wird. Da MTP das Dateisystem abstrahiert, wird es nicht wie ein normales Speichergerät gemountet, sodass es nicht durch die Befehle mountoder aufgelistet wird df.

Der Wikipedia-Artikel zu MTP enthält eine gute Beschreibung des Protokolls und listet die Vorteile der Verwendung von MTP für den Zugriff auf Dateien auf einem externen Gerät auf.

Der umfassende MTP-Artikel im Arch Linux-Wiki enthält unzählige nützliche Informationen zur Verwendung von MTP mit GNU / Linux (die meisten Informationen sind nicht verteilungsspezifisch).

Massenspeicherklasse (MSC)

Wenn Sie die Dateien auf dem Samsung-Gerät als normales Dateisystem behandeln möchten, das wie jedes andere Speichergerät bereitgestellt werden kann (und verwendet werden kann cd), müssen Sie das Gerät so konfigurieren, dass es sich als Mass Storage Class (MSC) (auch bekannt als UMS) darstellt ) Gerät. Einige Geräte können für beide Methoden konfiguriert werden. Ich habe ein Sony Android-Telefon, das beide Methoden zulässt, aber ich habe immer eine USB-Massenspeicherung mit seiner SD-Karte hergestellt (obwohl dies bedeutet, dass das Android-Betriebssystem die SD-Karte aushängen muss, damit das GNU / Linux-Betriebssystem sie bereitstellen kann). .

Anthony Geoghegan
quelle
Tolle Infos Anthony :)
Arnab
All diese Diskussionen zwischen MTP und MSC sind irrelevant und irreführend. Der Grund, warum Sie nicht in dieses Verzeichnis cd können, hat nichts mit MTP zu tun. Dies liegt daran, dass der MTP-Treiber eher ein Gnome-Treiber als ein Linux-Treiber ist und daher nur für Anwendungen sichtbar ist, die die Gnome-Dateisystemschicht (GVFS) verwenden. Der Vorteil des Gnome-Treibers besteht darin, dass er Teil der Standardinstallation ist. Sie können GVFS-Dateisysteme in der Shell nicht sehen, da die Shell keine Gnome-Anwendung ist.
Gilles 'SO - hör auf böse zu sein'
Diese Antwort ist tatsächlich falsch - eine korrekte Antwort (und funktionierende Lösung) finden Sie im @ Arnab-Beitrag.
Gepäck
9

Sie können tatsächlich mit zu diesem Ordner gehen cd. Obwohl mountoder dfBefehle kann es nicht auflisten, aber es ist unter einer gvfsd-Sicherung verfügbar Ordner angebracht ist , in meinem Fall ist es /run/user/1000/gvfs, herauszufinden , dass mit

mount | grep  'gvfsd-fuse'

Die Dateisysteme des gemounteten MTP-Geräts sind unter diesem Ordner mit einem beschissenen Namen verfügbar.

Verwenden Sie die cdTabulatortaste, um die Navigation zu vereinfachen. Geben Sie hier die Bildbeschreibung ein

Einige Systeme gvfsd-fusewerden standardmäßig nicht ausgeführt. Stellen Sie sicher, dass Sie es installiert haben (auf Debian und Derivaten ist es im gvfs-fusePaket enthalten).

Arnab
quelle