Я использую 64-битную версию Linux Mint 17.1 (на основе Ubuntu 14.04). После обновления с Linux Mint 14 / Ubuntu 12.10 скрипт Python, который я использую для синхронизации музыки с Walkman, перестал работать.
Ранее, когда я монтировал свой Walkman, он автоматически отображался как путь /run/user/1000/gvfs/WALKMAN/Storage Media
и работал как любая другая файловая система: я мог копировать дорожки в него, удалять дорожки из него и т. Д. Через Python. Однако я не могу вспомнить, пришлось ли мне вносить какие-либо изменения, чтобы это произошло.
После обновления до Linux Mint 17 (и теперь 17.1), когда я монтирую Walkman, он отображается как путь /run/user/1000/gvfs/mtp:host=%5Busb%3A002%2C007%5D/Storage Media
. Кроме того, когда я пытаюсь запустить те же файловые операции, они теперь терпят неудачу. Я обнаружил, что это происходит не только через Python, но и в командной строке. Например:
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
Я провел некоторое исследование по этой проблеме, но наиболее распространенным объяснением является то, что она была ранее решена этим PPA: https://launchpad.net/~langdalepl/+archive/ubuntu/gvfs-mtp
Но теперь версии Ubuntu начиная с 13.10 содержат все эти изменения, так что в этом больше нет необходимости. Итак, почему у меня все еще есть эти ошибки? Я все еще могу выполнять файловые операции на своем Walkman через графический файловый менеджер (Caja, в Linux Mint), но не через командную строку.
источник
Ответы:
Предположение: теперь вы используете MTP для доступа к Walkman, а MTP - отстой.
Детали
Operation not supported
Ошибка может означать , что ваш Walkman использует реализацию MTP , который не поддерживает «прямой» доступ. Согласно http://intr.overt.org/blog/?p=174 этот вид прямого доступа является расширением для Android, поэтому он, вероятно, не поддерживается вашим Walkman.В результате вы можете использовать только несколько выбранных способов доступа к файлам на Walkman с помощью MTP: я полагаю, что все, что читает или записывает файлы в одной операции, поддерживается, в то время как доступ к выбранным частям файла не поддерживается для этих реализаций MTP. , И кажется, что
cp
и Python всегда использует последний метод доступа и, следовательно, терпит неудачу.Возможное решение
Тем не менее, вы можете просто заменить
cp
наgvfs-copy
. В моих тестах с телефоном Samsung Android (который также имеет ограниченную реализацию MTP)gvfs-copy
удалось скопировать файлы на телефон, где произошелcp
сбой.Фон
Я не мог найти много информации об этих зависимых от устройства ограничениях MTP; Вот некоторые фрагменты, в которых ситуация объясняется несколько:
/ubuntu//a/284831 https://bugs.launchpad.net/ubuntu/+source/gvfs/+bug/1389001/comments/2 https://bugs.launchpad.net/ubuntu/+source / GVFS / + ошибка / 1157583 / комментарии / 1
Почему это работало раньше?
Что касается того, почему ваш Walkman был доступен
cp
в Mint 14, а не в Mint 17, это может быть вызвано внутренним переключением с PTP на MTP в качестве системы доступа. По крайней мере, это то, что я заметил для устройства Samsung при переходе с Ubuntu 12.04 на 14.04. Телефон поддерживает как PTP, так и MTP, но Ubuntu 12.04, очевидно, поддерживает только PTP; так вот что использовалось. Поскольку новая версия Ubuntu имеет встроенную поддержку MTP, теперь она используется вместо этого.На самом деле это может быть даже случай, когда ваш Walkman ранее был доступен как USB Mass Storage Device , что и используется жесткими дисками USB и флэш-накопителями. Возможно, по какой-то причине Linux (или ваш Walkman) решил, что MTP предпочтительнее, чем доступ к Mass Storage.
Вы можете увидеть используемый метод доступа, посмотрев URL для Walkman (в Nautilus перейдите в папку Walkman, нажмите Ctrl + L и посмотрите на адресную строку): для MTP устройство находится, например, под.
mtp://[usb:001,004]/
в то время как для PTP это что-то вродеgphoto2://[usb:001,004]/store_00010001
. Для доступа к Mass Storage URL-адрес является просто обычным путем/media/WALKMAN
.Я не знаю, имеет ли MTP какие-либо реальные преимущества по сравнению с PTP или Mass Storage, или можно ли переключиться обратно на PTP или Mass Storage. В Linux обе реализации MTP и PTP имеют свой собственный набор ошибок, поэтому, в зависимости от вашего варианта использования, какой из них лучше. AFAIK Mass Storage является наиболее желательным вариантом для пользователя, но поддержка устройств в телефонах уменьшается.
источник
gvfs-copy
не работает для меня лучше, чем обычноcp
. И в моем случае тот же телефон работал в прошлом над MTP. Некоторые телефоны работают, а некоторые нет. Все по MTP (как я выбираю вариант подключения MTP в меню телефона). обновление: обнаружена проблема. Пытался скопировать с карты на память телефона. Сначала мне пришлось скопировать в локальную файловую систему (например, / tmp), а затем скопировать в память телефона. Похоже, прямое копирование mtp-> mtp не работает (пока).Чтобы получить доступ к своему мобильному телефону, мне пришлось установить mtp-сервер через менеджер пакетов Synaptic на моем Linux Mint 17.1 Mate. Мой предыдущий Linux Mint 17 Mate не требовал от меня установки mtp-сервера, мой мобильный телефон распознавался автоматически при подключении через USB-порт. Может быть, эта информация поможет.
источник
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.
исправить это сообщение об ошибке: И мое устройство Adroid не подключалось через MTP при установке Mint 17. Вероятно, после обновления 17.1.apt-get install mtp-server
решил мою проблему. Это для других искателей с этой проблемой может помочь им, как это помогло мне.Я столкнулся с этой проблемой на Ubuntu 16.04 и Samsung Galaxy SIII, подключенных в режиме MTP.
Используя предложение Оливера использовать gvfs-copy, копирование напрямую с моего NAS на телефон не работает (как и Nautilus). Это обходной путь для возможной ошибки в gvfs-copy.
Также не было формата альтернативного пути, предложенного man-страницей:
Копирование файла сначала в локальную папку, однако, сработало. {Спасибо akostadinov} (как и Наутилус).
источник
На Debian
gvfs-copy
уgvfs-bin
меня работает Джесси из пакета .источник
Вы можете попробовать использовать rsync для синхронизации с вашим устройством, хотя при передаче MTP вы обычно не можете установить время и дату для каждого файла. Чтобы ускорить передачу, вы должны использовать опцию --size-only для rsync, а не опцию -t. Я считаю, что проще всего изменить каталог в каталог mtp, например / run / user / 1000 / gvfs / mtp: host = blahblah / blah / blah, а затем запустить:
Опция -n - выполнить пробный прогон. Просто удалите эту опцию, если вы удовлетворены результатами.
источник