J'utilise Linux Mint 17.1 64 bits (basé sur Ubuntu 14.04). Depuis la mise à niveau de Linux Mint 14 / Ubuntu 12.10, le script Python que j'utilise pour synchroniser la musique sur mon Walkman a cessé de fonctionner.
Auparavant, lorsque je montais mon Walkman, il apparaissait automatiquement comme chemin /run/user/1000/gvfs/WALKMAN/Storage Media
et fonctionnait comme n'importe quel autre système de fichiers: je pouvais y copier des pistes, en supprimer des pistes, etc., tout au long de Python. Cependant, je ne me souviens pas si j'ai dû apporter des modifications pour que cela se produise.
Depuis la mise à niveau vers Linux Mint 17 (et maintenant 17.1), lorsque je monte le Walkman, il apparaît comme le chemin /run/user/1000/gvfs/mtp:host=%5Busb%3A002%2C007%5D/Storage Media
. De plus, lorsque j'essaie d'exécuter les mêmes opérations sur les fichiers, elles échouent maintenant. J'ai découvert que cela se produit non seulement via Python, mais également sur la ligne de commande. Par exemple:
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
J'ai fait quelques recherches sur ce problème, mais l'explication la plus courante semble être qu'il a été résolu auparavant par ce PPA: https://launchpad.net/~langdalepl/+archive/ubuntu/gvfs-mtp
Mais maintenant, les versions d'Ubuntu depuis 13.10 contiennent toutes ces modifications, donc cela ne devrait plus être nécessaire. Alors pourquoi ai-je encore ces erreurs? Je suis toujours en mesure d'effectuer des opérations de fichiers sur mon Walkman via un gestionnaire de fichiers graphiques (Caja, sur Linux Mint), mais pas via la ligne de commande.
la source
Réponses:
Une supposition: vous utilisez maintenant MTP pour accéder à votre Walkman, et MTP est nul.
Détails
L'
Operation not supported
erreur pourrait indiquer que votre Walkman utilise une implémentation MTP qui ne prend pas en charge l'accès "direct". Selon http://intr.overt.org/blog/?p=174, ce type d'accès direct est une extension spécifique à Android, il n'est donc probablement pas pris en charge par votre Walkman.En conséquence, vous ne pouvez utiliser que quelques façons sélectionnées pour accéder aux fichiers de votre Walkman à l'aide de MTP: je suppose que tout ce qui lit ou écrit des fichiers en une seule opération est pris en charge, tandis que l'accès à certaines parties d'un fichier n'est pas pris en charge pour ces implémentations MTP . Et il semble que
cp
Python utilise toujours cette dernière méthode d'accès et échoue donc.Solution possible
Cependant, vous pourrez peut-être simplement le remplacer
cp
pargvfs-copy
. Lors de mes tests avec un téléphone Android Samsung (qui a également une implémentation MTP paralysée), j'aigvfs-copy
pu copier des fichiers sur le téléphone en cas d'cp
échec.Contexte
Je n'ai pas pu trouver beaucoup d'informations sur ces limitations MTP dépendantes de l'appareil; voici quelques extraits où la situation est expliquée quelque peu:
/ubuntu//a/284831 https://bugs.launchpad.net/ubuntu/+source/gvfs/+bug/1389001/comments/2 https://bugs.launchpad.net/ubuntu/+source / gvfs / + bug / 1157583 / commentaires / 1
Pourquoi cela a-t-il fonctionné auparavant?
Quant à savoir pourquoi votre Walkman était accessible avec
cp
dans Mint 14 mais pas dans Mint 17, cela pourrait être causé par un basculement interne de PTP vers MTP en tant que système d'accès. C'est du moins ce que j'ai remarqué pour l'appareil Samsung lors du passage d'Ubuntu 12.04 à 14.04. Le téléphone prend en charge PTP et MTP, mais Ubuntu 12.04 ne prend apparemment en charge que PTP; c'est donc ce qui a été utilisé. Étant donné que la nouvelle version d'Ubuntu dispose d'un support intégré pour MTP, celui-ci est désormais utilisé à la place.En fait, il se peut même que votre Walkman soit précédemment utilisé en tant que périphérique de stockage de masse USB , ce que les disques durs USB et les lecteurs flash utilisent. Peut-être que pour une raison ou une autre, Linux (ou votre Walkman) a décidé que MTP était préférable à l'accès au stockage de masse.
Vous pouvez voir la méthode d'accès utilisée en regardant l'URL du Walkman (dans Nautilus, allez dans le dossier Walkman, appuyez sur Ctrl + L et regardez la barre d'adresse): pour MTP, le périphérique se trouve sous par exemple.
mtp://[usb:001,004]/
tandis que pour PTP, c'est quelque chose commegphoto2://[usb:001,004]/store_00010001
. Pour l'accès au stockage de masse, l'URL est juste un chemin normal comme/media/WALKMAN
.Je ne sais pas si MTP a des avantages réels par rapport au PTP ou au stockage de masse, ou s'il est possible de revenir au PTP ou au stockage de masse. Sous Linux, les implémentations MTP et PTP ont leur propre ensemble de bogues, cela peut donc dépendre de votre cas d'utilisation, lequel est le meilleur. AFAIK Mass Storage est l'option la plus souhaitable pour l'utilisateur, mais la prise en charge des appareils dans les téléphones est en déclin.
la source
gvfs-copy
ne fonctionne pas pour moi mieux que la normalecp
. Et dans mon cas, le même téléphone fonctionnait dans le passé sur MTP. Certains téléphones fonctionnent et d'autres non. Partout sur MTP (lorsque je sélectionne l'option de connexion MTP dans le menu du téléphone). mise à jour: a trouvé le problème. J'essayais de copier de la carte vers la mémoire du téléphone. J'ai d'abord dû copier sur le système de fichiers local (par exemple / tmp) puis copier sur le stockage du téléphone. Il semble que la copie directe mtp-> mtp ne fonctionne pas (encore).Afin d'accéder à mon téléphone portable, j'ai dû installer mtp-server via le Synaptic Package Manager sur mon Linux Mint 17.1 Mate. Mon ancien Linux Mint 17 Mate ne nécessitait pas que j'installe mtp-server, mon téléphone portable était reconnu automatiquement lors de la connexion via le port USB. Peut-être que cette information vous aidera.
la source
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.
Et mon appareil Adroid ne s'est pas connecté via MTP sur mon installation Mint 17. Probablement après une mise à niveau 17.1.apt-get install mtp-server
résolu mon problème. C'est pour d'autres chercheurs avec ce problème peut les aider comme cela m'a aidé.J'ai rencontré ce même problème sur Ubuntu 16.04 et Samsung Galaxy SIII connectés en mode MTP.
Utiliser la suggestion d'Oliver pour utiliser gvfs-copy, copier directement de mon NAS vers le téléphone ne fonctionne pas: (Nautilus non plus). Il s'agit d'un work-round pour un bogue possible dans gvfs-copy.
Le format de chemin alternatif suggéré par la page de manuel n'a pas non plus:
La copie du fichier dans un dossier local en premier a cependant fonctionné. {Merci akostadinov} (et Nautilus aussi).
la source
Sur Debian Jessie, le
gvfs-copy
packagegvfs-bin
fonctionne pour moi.la source
Vous pouvez essayer d'utiliser rsync pour synchroniser avec votre appareil, mais avec les transferts MTP, vous ne pouvez généralement pas définir l'heure et la date de chaque fichier. Pour accélérer les transferts, vous devez utiliser l'option --size-only pour rsync et non l'option -t. Je trouve plus facile de changer de répertoire dans le répertoire mtp, tel que / run / user / 1000 / gvfs / mtp: host = blahblah / blah / blah, puis d'exécuter:
L'option -n consiste à effectuer un essai à sec. Supprimez simplement cette option si vous êtes satisfait des résultats.
la source