Einige Ubuntu 13.04-Anwendungen können nicht auf Dateien auf MTP-Systemen zugreifen. Warum?

14

Ubuntu 13.04 wird mit MTP-Unterstützung geliefert, um auf Dateien auf neueren Android-Geräten zuzugreifen. Mein Nexus 10 funktioniert einwandfrei: Nach dem Einstecken kann ich mit Nautilus auf die N10-Dateien zugreifen und von und auf das Gerät kopieren. Evince öffnet PDF-Dateien direkt vom Gerät, aber einige Anwendungen können Dateien nicht direkt vom Gerät öffnen, wie z. B. gedit oder libreoffice. Gedit sagt so etwas wie:

Cannot open file mtp://[usb:001,009]/65537/5823/5824

Ich denke, MTP ist auf gvfs-Ebene integriert. Sollten also nicht alle gvfs-fähigen Anwendungen auf das MTP-Gerät zugreifen können? Warum evident, aber nicht gedit?

Ich weiß, dass MTP mit Sicherung gemountet werden könnte, aber es wäre schön, wenn es mit regulären Anwendungen von Nautilus wie sftp: // oder smb: // funktionieren würde.

jjchico
quelle
Ich hatte dieses Problem bei der Verwendung einer virtuellen VMware-Maschine. Könnte mit Latenz auf dem USB-Durchgang zusammenhängen oder sich als mehr als ein Gerät / Untergerät präsentieren und nicht vollständig durch reine Spekulation gehen
RobotHumans

Antworten:

29

Die MTP-Spezifikation unterstützt nicht die grundlegenden Operationen zum Öffnen, Lesen, Schreiben und Schließen, die zum Implementieren des normalen Dateizugriffs unter Linux erforderlich sind. Sie ermöglicht nur das Hoch- und Herunterladen von Dateien. Dies wird vom MTP-Backend implementiert.

Nautilus kopiert Dateien einwandfrei, aber sobald Sie versuchen, eine Anwendung zu verwenden, die die eingeschränkten Vorgänge nicht explizit berücksichtigt, wird eine Fehlermeldung angezeigt. evince ist ein Beispiel für eine App, die es unterstützt (es kopiert die Datei nach / tmp und öffnet sie dann).

Das ist es, was in 13.04 los ist.

Nun ist es so, dass Google in Android eine Reihe von MTP-Erweiterungen implementiert hat, die Öffnen / Lesen / Schreiben / Schließen ermöglichen, und mit diesen ist es möglich, normalen Dateizugriff zu ermöglichen. Ich habe diese Arbeit im gvfs-Entwicklungszweig ausgeführt, aber das 1.16-Veröffentlichungsfenster wurde nicht angezeigt, sodass es frühestens ab 13.10 in Ubuntu angezeigt wird. 14.04 und immer noch nicht da

In der Zwischenzeit können Sie mein ppa verwenden, um Builds zu installieren, auf denen ich diese Arbeit zurückportiert habe.

https://launchpad.net/~langdalepl/+archive/gvfs-mtp

Schließlich ist zu beachten, dass diese Erweiterungen nur im MTP-Stack von Google vorhanden sind. Sie haben ein Nexus 10, so dass es so funktioniert, wie es unter Android läuft - aber jemand, der ein Samsung-Gerät oder Geräte anderer Hersteller verwendet, wird diese Erweiterungen nicht haben und möglicherweise keine Unterstützung für normale Datei-E / A haben.

langdalepl
quelle
Es scheint jedoch, dass Windows 7 über diese zusätzlichen Funktionen oder eine Problemumgehung verfügt, und dies ist ziemlich nützlich. Es wäre schön, wenn diese "Extras" auch in Ubuntu implementiert würden
Álvaro
1
Als Workaround kann ein Lesevorgang nur ein Download nach / tmp und ein Lesen von dort sein, was Nautilus automatisch ausführen kann, um dem Benutzer den Eindruck eines Lesevorgangs zu vermitteln. Und mit ähnlichen Dingen können Sie Ausgabe schreiben (Download auf / tmp, Ändern und Hochladen auf das Gerät)
Álvaro
2
Ich war noch nie mit dem impliziten Download- / Upload-Verhalten vertraut - es kann für den Benutzer eine sehr unangenehme Überraschung sein, und ich wollte es nicht vorstellen. Überlegen Sie, was passiert, wenn Sie dort einen Multi-Gigabyte-Film sehen möchten, also doppelklicken Sie darauf und plötzlich wird der Download in Ihr / tmp gestartet, was wirklich ein tmpfs ist ... Oder Sie möchten ein Dokument bearbeiten und du öffnest, machst etwas Arbeit und speicherst dann, aber dein Computer stürzt ab, bevor die fs ihn wieder hochladen können, und die Zwischendatei wurde in / tmp gespeichert, was ein tmpfs ist, so dass sie verloren geht, wenn du neu startest. Unfreundlich!
Langdalepl
@ Álvaro Just FYI, MTP-Spezifikation wurden von Microsoft entwickelt. So viele der Funktionen von MTP scheinen für Windows-Geräte großartig zu sein, aber anderswo nicht so sehr.
RomaH
0

Ich hatte Probleme, Fotos von meiner Fujifilm FinePix S1500 zu bekommen. Fehlermeldung:

Operation not supported by backend

Ich löste es, indem ich die Kamera umountete und die Dateien mit gphoto2 von der Kommandozeile kopierte.

Cliff
quelle
1
Es wäre schön, wenn Sie genau erklären könnten, wie Sie den Befehl verwenden solltengphoto2
Amith KK