Algunas aplicaciones Ubuntu 13.04 no pueden acceder a archivos en sistemas montados en MTP. ¿Por qué?

14

Ubuntu 13.04 viene con soporte MTP para acceder a archivos en dispositivos Android más nuevos. Mi Nexus 10 funciona bien: después de conectarme, puedo acceder a los archivos N10 con Nautilus, y puedo copiar desde y hacia el dispositivo. Evince abrirá archivos PDF directamente desde el dispositivo, pero algunas aplicaciones no pueden abrir archivos directamente desde el dispositivo como gedit o libreoffice. Gedit dice algo como:

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

Supongo que MTP está integrado en el nivel de gvfs, entonces ¿no deberían todas las aplicaciones habilitadas para gvfs poder acceder al dispositivo MTP? ¿Por qué evidencia pero no gedit?

Sé que MTP podría montarse con fusible, pero sería bueno si funcionara con aplicaciones normales de Nautilus como sftp: // o smb: //.

jjchico
fuente
Tuve este problema al usar una máquina virtual vmware. Podría estar relacionado con la latencia en el paso del usb o presentarse como más de un dispositivo / subdispositivo y no pasar completamente por pura especulación
RobotHumans

Respuestas:

29

La especificación MTP no admite las operaciones básicas de apertura / lectura / escritura / cierre que se requieren para implementar el acceso normal a archivos en Linux: solo proporciona carga / descarga de archivos, y eso es lo que implementa el backend MTP.

Nautilus copiará bien los archivos, pero tan pronto como intente utilizar una aplicación que no explique explícitamente el conjunto restringido de operaciones, obtendrá un error. evince es un ejemplo de una aplicación que sí lo admite (copia el archivo a / tmp y luego lo abre).

Entonces, eso es lo que está sucediendo en 13.04.

Ahora, resulta que Google implementó un conjunto de extensiones MTP en Android que ofrecen abrir / leer / escribir / cerrar, y es posible proporcionar acceso normal a los archivos con estas. He hecho este trabajo en la rama de desarrollo de gvfs, pero se perdió la ventana de lanzamiento 1.16, por lo que no aparecerá en Ubuntu hasta las 13.10 como muy pronto. 14.04 y todavía no está allí

Mientras tanto, puede usar mi ppa para instalar compilaciones donde he respaldado este trabajo.

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

Finalmente, es importante tener en cuenta que estas extensiones solo existen en la pila MTP de Google. Tiene un Nexus 10, por lo que funcionará ya que está ejecutando Android de serie, pero alguien que use un dispositivo Samsung o dispositivos de otros fabricantes no tendrá estas extensiones y es posible que no tenga soporte para E / S de archivos normales.

Langdalepl
fuente
Sin embargo, parece que Windows 7 tiene esas capacidades adicionales o una solución alternativa, y es bastante útil. Sería bueno si esos "extras" también se implementaran en Ubuntu
Álvaro
1
Como solución alternativa, una operación de lectura podría ser simplemente una descarga a / tmp y leer de ella, que Nautilus podría realizar automáticamente para que el usuario tenga la impresión de una operación de lectura. Y con cosas similares puede emitir escritura (descargar a / tmp, modificar y cargar en el dispositivo)
Álvaro
2
Nunca me he sentido cómodo con el comportamiento implícito de descarga / carga: puede ser una sorpresa muy desagradable para el usuario, y no quería presentarlo. Considere lo que sucede si tiene una película de varios gigabytes allí que desea ver, por lo que hace doble clic en ella y de repente comienza a descargarse en su / tmp, que es realmente un tmpfs ... O desea editar algún documento y lo abres, trabajas un poco y luego lo guardas, pero tu computadora se bloquea antes de que fs pueda volver a cargarlo, y el archivo intermedio se almacenó en / tmp, que es un tmpfs, por lo que se pierde cuando reinicias. ¡Hostil!
langdalepl
@ Álvaro Just FYI, la especificación MTP fue desarrollada por Microsoft. Muchas de las capacidades de MTP parecen funcionar muy bien en dispositivos de Windows, pero no tanto en otros lugares.
RomaH
0

Tuve problemas para sacar fotos de mi Fujifilm FinePix S1500. Mensaje de error:

Operation not supported by backend

Lo resolví desmontando la cámara y copiando los archivos desde la línea de comando usando gphoto2.

Acantilado
fuente
1
Sería bueno si pudieras explicar exactamente cómo debes usar el comando comogphoto2
Amith KK