Certaines applications Ubuntu 13.04 ne peuvent pas accéder aux fichiers sur les systèmes montés sur MTP. Pourquoi?

14

Ubuntu 13.04 est livré avec le support MTP pour accéder aux fichiers sur les nouveaux appareils Android. Mon Nexus 10 fonctionne bien: après avoir branché, je peux accéder aux fichiers N10 avec Nautilus, et je peux copier depuis et vers l'appareil. Evince ouvrira les fichiers PDF directement à partir de l'appareil, mais certaines applications ne parviennent pas à ouvrir les fichiers directement à partir de l'appareil comme gedit ou libreoffice. Gedit dit quelque chose comme:

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

Je suppose que MTP est intégré au niveau gvfs, donc toutes les applications compatibles gvfs ne devraient-elles pas pouvoir accéder au périphérique MTP? Pourquoi prouver mais pas gedit?

Je sais que MTP pourrait être monté avec un fusible, mais ce serait bien s'il fonctionnait avec des applications régulières de Nautilus comme sftp: // ou smb: //.

jjchico
la source
J'ai eu ce problème lors de l'utilisation d'une machine virtuelle vmware. Cela pourrait être lié à la latence sur le relais USB ou à la présentation de plusieurs appareils / sous-appareils et ne pas passer complètement par la spéculation pure
RobotHumans

Réponses:

29

La spécification MTP ne prend pas en charge les opérations de base d'ouverture / lecture / écriture / fermeture qui sont nécessaires pour implémenter l'accès normal aux fichiers sous Linux - elle ne fournit que le téléchargement / téléchargement de fichiers, et c'est ce que le backend MTP implémente.

Nautilus copiera très bien les fichiers, mais dès que vous essayez d'utiliser une application qui ne prend pas explicitement en compte l'ensemble restreint d'opérations, vous obtenez une erreur. evince est un exemple d'application qui le prend en charge (il copie le fichier dans / tmp puis l'ouvre).

C'est donc ce qui se passe en 13.04.

Maintenant, il se trouve que Google a implémenté un ensemble d'extensions MTP dans Android qui offrent l'ouverture / la lecture / l'écriture / la fermeture, et il est possible de fournir un accès normal aux fichiers avec celles-ci. J'ai fait ce travail dans la branche de développement de gvfs mais il a manqué la fenêtre de sortie 1.16, donc ça ne va pas apparaître dans Ubuntu avant 13.10 au plus tôt. 14.04 et toujours pas là

En attendant, vous pouvez utiliser mon ppa pour installer des builds où j'ai rétroporté ce travail.

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

Enfin, il est important de noter que ces extensions n'existent que dans la pile MTP de Google. Vous avez un Nexus 10, donc cela fonctionnera car il fonctionne sous Android - mais une personne utilisant un appareil Samsung ou des appareils d'autres fabricants, n'aura pas ces extensions et pourrait ne pas prendre en charge les E / S de fichiers normales.

langdalepl
la source
Cependant, il semble que Windows 7 possède ces capacités supplémentaires ou une solution de contournement, et c'est assez utile. Ce serait bien si ces "extras" étaient également implémentés dans Ubuntu
Álvaro
1
Comme solution de contournement, une opération de lecture pourrait simplement être un téléchargement vers / tmp et une lecture à partir de celui-ci, que Nautilus pourrait effectuer automatiquement pour donner à l'utilisateur l'impression d'une opération de lecture. Et avec des choses similaires, vous pouvez publier en écriture (télécharger sur / tmp, modifier et télécharger sur l'appareil)
Álvaro
2
Je n'ai jamais été à l'aise avec le comportement implicite de téléchargement / téléchargement - cela peut être une surprise très désagréable pour l'utilisateur, et je ne voulais pas le présenter. Considérez ce qui se passe si vous avez un film de plusieurs gigaoctets que vous souhaitez regarder, alors double-cliquez dessus, puis il commence soudainement à se télécharger sur votre / tmp qui est vraiment un tmpfs ... Ou vous voulez éditer un document et vous ouvrez, faites un peu de travail puis enregistrez, mais votre ordinateur se bloque avant que le fs puisse le télécharger à nouveau, et le fichier intermédiaire a été stocké dans / tmp, qui est un tmpfs donc il est perdu lorsque vous redémarrez. Hostile!
langdalepl
@ Álvaro Just FYI, la spécification MTP a été développée par Microsoft. Un grand nombre des capacités de MTP semblent fonctionner à merveille avec les périphériques Windows, mais pas tellement ailleurs.
RomaH
0

J'ai eu du mal à retirer des photos de mon Fujifilm FinePix S1500. Message d'erreur:

Operation not supported by backend

Je l'ai résolu en démontant l'appareil photo et en copiant les fichiers à partir de la ligne de commande à l'aide de gphoto2.

Falaise
la source
1
Ce serait bien si vous pouviez expliquer exactement comment utiliser la commande commegphoto2
Amith KK