Estoy ejecutando Linux Mint 17.1 de 64 bits (basado en Ubuntu 14.04). Desde la actualización de Linux Mint 14 / Ubuntu 12.10, el script Python que uso para sincronizar música con mi Walkman ha dejado de funcionar.
Anteriormente, cuando montaba mi Walkman, se mostraba automáticamente como la ruta /run/user/1000/gvfs/WALKMAN/Storage Media
y funcionaba como cualquier otro sistema de archivos: podía copiar pistas, eliminar pistas, etc., todo a través de Python. Sin embargo, no recuerdo si tuve que hacer algún cambio para que esto sucediera.
Desde la actualización a Linux Mint 17 (y ahora 17.1), cuando monto el Walkman, aparece como la ruta /run/user/1000/gvfs/mtp:host=%5Busb%3A002%2C007%5D/Storage Media
. Además, cuando intento ejecutar las mismas operaciones de archivo, ahora fallan. He descubierto que esto sucede no solo a través de Python, sino también en la línea de comando. Por ejemplo:
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
He realizado algunas investigaciones sobre este problema, pero la explicación más común parece ser que este PPA lo resolvió anteriormente: https://launchpad.net/~langdalepl/+archive/ubuntu/gvfs-mtp
Pero ahora, las versiones de Ubuntu desde 13.10 contienen todos estos cambios, por lo que ya no debería ser necesario. Entonces, ¿por qué sigo teniendo estos errores? Todavía puedo realizar operaciones de archivo en mi Walkman a través de un administrador de archivos gráfico (Caja, en Linux Mint), pero no a través de la línea de comandos.
fuente
Respuestas:
Una suposición: ahora estás usando MTP para acceder a tu Walkman, y MTP apesta.
Detalles
El
Operation not supported
error podría indicar que su Walkman utiliza una implementación MTP que no admite el acceso "directo". Según http://intr.overt.org/blog/?p=174, este tipo de acceso directo es una extensión específica de Android, por lo que probablemente no sea compatible con su Walkman.Como resultado, solo puede usar algunas formas seleccionadas de acceder a los archivos en su Walkman usando MTP: supongo que todo lo que lee o escribe archivos en una sola operación es compatible, mientras que el acceso a partes seleccionadas de un archivo no es compatible con estas implementaciones de MTP . Y parece que
cp
Python siempre usa el último método de acceso y, por lo tanto, falla.Posible solución
Sin embargo, es posible que pueda reemplazar
cp
porgvfs-copy
. En mis pruebas con un teléfono Samsung Android (que también tiene una implementación MTP paralizada)gvfs-copy
pude copiar archivos al teléfono dondecp
falló.Antecedentes
No pude encontrar mucha información sobre estas limitaciones de MTP dependientes del dispositivo; Aquí hay algunos fragmentos donde la situación se explica un poco:
/ubuntu//a/284831 https://bugs.launchpad.net/ubuntu/+source/gvfs/+bug/1389001/comments/2 https://bugs.launchpad.net/ubuntu/+source / gvfs / + bug / 1157583 / comentarios / 1
¿Por qué funcionó antes?
En cuanto a por qué se
cp
podía acceder a su Walkman en Mint 14 pero no en Mint 17, esto podría deberse a un cambio interno de PTP a MTP como sistema de acceso. Al menos eso es lo que noté para el dispositivo Samsung al cambiar de Ubuntu 12.04 a 14.04. El teléfono admite PTP y MTP, pero Ubuntu 12.04 aparentemente solo admite PTP; así que eso fue lo que se usó. Dado que la nueva versión de Ubuntu tiene soporte incorporado para MTP, ahora se usa en su lugar.En realidad, incluso podría darse el caso de que se haya accedido previamente a su Walkman como dispositivo de almacenamiento masivo USB , que es lo que usan los discos duros USB y las unidades flash. Tal vez por alguna razón Linux (o su Walkman) decidió que MTP era preferible al acceso al almacenamiento masivo.
Puede ver el método de acceso utilizado al mirar la URL del Walkman (en Nautilus, vaya a la carpeta Walkman, presione Ctrl + L y mire la barra de direcciones): para MTP, el dispositivo se encuentra, por ejemplo, en.
mtp://[usb:001,004]/
mientras que para PTP es algo asígphoto2://[usb:001,004]/store_00010001
. Para el acceso al almacenamiento masivo, la URL es solo una ruta normal como/media/WALKMAN
.No sé si MTP tiene alguna ventaja real sobre PTP o almacenamiento masivo, o si es posible volver a PTP o almacenamiento masivo. En Linux, las implementaciones MTP y PTP tienen su propio conjunto de errores, por lo que puede depender de su caso de uso cuál es mejor. El almacenamiento masivo AFAIK es la opción más deseable para el usuario, pero la compatibilidad del dispositivo en los teléfonos está disminuyendo.
fuente
gvfs-copy
me funciona mejor de lo normalcp
. Y en mi caso, el mismo teléfono funcionó en el pasado sobre MTP. Algunos teléfonos funcionan y otros no. Todo sobre MTP (cuando selecciono la opción de conexión MTP en el menú del teléfono). actualización: encontró el problema. Estaba intentando copiar de la tarjeta al almacenamiento del teléfono. Primero tuve que copiar al sistema de archivos local (por ejemplo, / tmp) y luego copiar al almacenamiento del teléfono. Parece que mtp-> mtp direct copy no funciona (todavía).Para acceder a mi teléfono celular, tuve que instalar mtp-server a través del Administrador de paquetes Synaptic en mi Linux Mint 17.1 Mate. Mi anterior Linux Mint 17 Mate no requería que instalara mtp-server, mi teléfono celular fue reconocido automáticamente al conectarse a través del puerto usb. Quizás esta información ayude.
fuente
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.
y mi dispositivo Adroid no se conectó a través de MTP en mi instalación de Mint 17. Probablemente después de una actualización 17.1.apt-get install mtp-server
resolvió mi problema Esto es para otros buscadores con este problema que pueden ayudarlos, ya que me ayudó.Me encontré con este mismo problema en Ubuntu 16.04 y Samsung Galaxy SIII conectado en modo MTP.
Usando la sugerencia de Oliver de usar gvfs-copy, copiar directamente desde mi NAS al teléfono no funciona: (tampoco Nautilus). Esta es una solución alternativa para un posible error en gvfs-copy.
Tampoco el formato alternativo de ruta sugerido por la página de manual:
Sin embargo, copiar el archivo a una carpeta local primero funcionó. {Gracias akostadinov} (y también Nautilus).
fuente
En Debian Jessie, el
gvfs-copy
paquetegvfs-bin
me funciona.fuente
Puede intentar usar rsync para sincronizar con su dispositivo, aunque con las transferencias MTP generalmente no puede configurar la marca de fecha y hora para cada archivo. Para que las transferencias sean más rápidas, debe usar la opción --size-only para rsync y no la opción -t. Me resulta más fácil cambiar el directorio al directorio mtp, como / run / user / 1000 / gvfs / mtp: host = blahblah / blah / blah, luego ejecuta:
La opción -n es realizar una ejecución en seco. Simplemente borre esa opción si está satisfecho con los resultados.
fuente