Ich verwende Linux Mint 17.1 64-Bit (basierend auf Ubuntu 14.04). Seit dem Upgrade von Linux Mint 14 / Ubuntu 12.10 funktioniert das Python-Skript, mit dem ich Musik mit meinem Walkman synchronisiere, nicht mehr.
Wenn ich meinen Walkman zuvor aktiviert habe, wird er automatisch als Pfad angezeigt /run/user/1000/gvfs/WALKMAN/Storage Media
und funktioniert wie jedes andere Dateisystem: Ich konnte Tracks in Python kopieren, Tracks daraus löschen usw. Ich kann mich jedoch nicht erinnern, ob ich irgendwelche Änderungen vornehmen musste, um dies zu erreichen.
Seit dem Upgrade auf Linux Mint 17 (und jetzt 17.1) wird der Walkman beim Aktivieren als Pfad angezeigt /run/user/1000/gvfs/mtp:host=%5Busb%3A002%2C007%5D/Storage Media
. Wenn ich versuche, dieselben Dateivorgänge auszuführen, schlagen sie jetzt fehl. Ich habe festgestellt, dass dies nicht nur über Python geschieht, sondern auch über die Befehlszeile. Beispielsweise:
david@MILTON:~$ cp '/data/Music/10SecsWhiteNoise.mp3' '/run/user/1000/gvfs/mtp:host=%5Busb%3A002%2C006%5D/Storage Media/MUSIC'
cp: cannot create regular file ‘/run/user/1000/gvfs/mtp:host=%5Busb%3A002%2C006%5D/Storage Media/MUSIC/10SecsWhiteNoise.mp3’: Operation not supported
Ich habe einige Nachforschungen zu diesem Problem angestellt, aber die häufigste Erklärung scheint zu sein, dass es früher durch diese PPA gelöst wurde: https://launchpad.net/~langdalepl/+archive/ubuntu/gvfs-mtp
Aber jetzt enthalten Ubuntu-Versionen seit 13.10 all diese Änderungen, so dass es nicht länger notwendig sein sollte. Warum habe ich immer noch diese Fehler? Ich kann weiterhin Dateivorgänge auf meinem Walkman über einen grafischen Dateimanager (Caja, unter Linux Mint) ausführen, nur nicht über die Befehlszeile.
quelle
Antworten:
Eine Vermutung: Sie verwenden jetzt tatsächlich MTP, um auf Ihren Walkman zuzugreifen, und MTP ist zum Kotzen.
Einzelheiten
Der
Operation not supported
Fehler könnte darauf hinweisen, dass Ihr Walkman eine MTP-Implementierung verwendet, die keinen "direkten" Zugriff unterstützt. Laut http://intr.overt.org/blog/?p=174 ist diese Art des direkten Zugriffs eine Android-spezifische Erweiterung, daher wird sie von Ihrem Walkman wahrscheinlich nicht unterstützt.Daher können Sie mit MTP nur auf einige ausgewählte Arten auf Dateien auf Ihrem Walkman zugreifen: Ich schätze, dass alles, was Dateien in einem einzigen Vorgang liest oder schreibt, unterstützt wird, während der Zugriff auf ausgewählte Teile einer Datei für diese MTP-Implementierungen nicht unterstützt wird . Und es scheint, dass
cp
und Python immer die letztere Zugriffsmethode verwenden und daher fehlschlagen.Mögliche Problemumgehung
Allerdings könnten Sie in der Lage sein, nur zu ersetzen
cp
durchgvfs-copy
. In meinen Tests mit einem Samsung Android-Handy (das auch eine verkrüppelte MTP-Implementierung hat)gvfs-copy
konnte ich Dateien auf das Handy kopieren, bei denen ein Fehler aufgetreten istcp
.Hintergrund
Ich konnte nicht viele Informationen zu diesen geräteabhängigen MTP-Einschränkungen finden. Hier sind einige Ausschnitte, in denen die Situation etwas erklärt wird:
/ubuntu//a/284831 https://bugs.launchpad.net/ubuntu/+source/gvfs/+bug/1389001/comments/2 https://bugs.launchpad.net/ubuntu/+source / gvfs / + bug / 1157583 / comments / 1
Warum hat es vorher funktioniert?
Der Grund, warum auf Ihren Walkman
cp
in Mint 14 und nicht in Mint 17 zugegriffen werden konnte, kann in einem internen Wechsel von PTP zu MTP als Zugriffssystem liegen. Zumindest ist mir das beim Samsung-Gerät aufgefallen, als ich von Ubuntu 12.04 auf 14.04 umgestiegen bin. Das Telefon unterstützt sowohl PTP als auch MTP, aber Ubuntu 12.04 unterstützt anscheinend nur PTP. das war es also, was verwendet wurde. Da die neue Ubuntu-Version eine integrierte Unterstützung für MTP bietet, wird diese jetzt stattdessen verwendet.Tatsächlich ist es sogar möglich, dass auf Ihren Walkman zuvor als USB-Massenspeichergerät zugegriffen wurde, wie es bei USB- Festplatten und Flash-Laufwerken der Fall ist. Vielleicht hat Linux (oder Ihr Walkman) aus irgendeinem Grund entschieden, dass MTP dem Massenspeicherzugriff vorzuziehen ist.
Sie können die verwendete Zugriffsmethode sehen, indem Sie die URL für den Walkman anzeigen (in Nautilus gehen Sie zum Walkman-Ordner, drücken Sie Strg + L und sehen Sie sich die Adressleiste an): Für MTP befindet sich das Gerät unter z.
mtp://[usb:001,004]/
während für PTP ist es so etwas wiegphoto2://[usb:001,004]/store_00010001
. Für den Massenspeicherzugriff ist die URL nur ein normaler Pfad/media/WALKMAN
.Ich weiß nicht, ob MTP irgendwelche tatsächlichen Vorteile gegenüber PTP oder Massenspeicher hat oder ob es möglich ist, zurück zu PTP oder Massenspeicher zu wechseln. Unter Linux haben sowohl MTP- als auch PTP-Implementierungen ihre eigenen Fehler, sodass es von Ihrem Anwendungsfall abhängen kann, welcher besser ist. AFAIK-Massenspeicher ist die wünschenswerteste Option für den Benutzer, aber die Geräteunterstützung für Telefone lässt nach.
quelle
gvfs-copy
funktioniert bei mir nicht besser als normalcp
. Und in meinem Fall hat dasselbe Telefon in der Vergangenheit über MTP funktioniert. Einige Telefone funktionieren und andere nicht. Überall über MTP (wenn ich die Option MTP-Verbindung im Telefonmenü auswähle). Update: das Problem gefunden. Ich habe versucht, von der Karte in den Telefonspeicher zu kopieren. Ich musste zuerst in das lokale Dateisystem (z. B. / tmp) kopieren und dann in den Telefonspeicher kopieren. Scheint so, als würde mtp-> mtp direct copy (noch) nicht funktionieren.Um auf mein Handy zugreifen zu können, musste ich mtp-server über den Synaptic Package Manager auf meinem Linux Mint 17.1 Mate installieren. Bei meinem vorherigen Linux Mint 17 Mate musste ich keinen MTP-Server installieren. Mein Handy wurde beim Herstellen einer Verbindung über den USB-Port automatisch erkannt. Vielleicht helfen diese Informationen.
quelle
Kon 'mtp://[usb:003,029]/' niet weergeven. Fout: The name :1.1813 was not provided by any .service files Kies een andere weergavemethode en probeer het opnieuw.
Und mein Adroid-Gerät hat bei meiner Mint 17-Installation keine Verbindung über MTP hergestellt. Wahrscheinlich nach einem 17.1-Upgrade.apt-get install mtp-server
mein problem gelöst. Dies ist für andere Sucher mit diesem Problem hilfreich, da es mir geholfen hat.Ich bin auf Ubuntu 16.04 und Samsung Galaxy SIII, die im MTP-Modus verbunden sind, auf genau dieses Problem gestoßen.
Mit Olivers Vorschlag, gvfs-copy zu verwenden, funktioniert das Kopieren direkt von meinem NAS auf das Telefon nicht: (Nautilus auch nicht). Dies ist eine Abhilfemaßnahme für einen möglichen Fehler in gvfs-copy.
Das alternative Pfadformat, das von der Manpage vorgeschlagen wurde, war ebenfalls nicht:
Das Kopieren der Datei in einen lokalen Ordner funktionierte jedoch zuerst. {Danke akostadinov} (und Nautilus auch).
quelle
Auf Debian funktioniert Jessie
gvfs-copy
aus Paketgvfs-bin
für mich.quelle