Деякі програми Ubuntu 13.04 не можуть отримати доступ до файлів у системах, встановлених на MTP. Чому?


14

Ubuntu 13.04 оснащений підтримкою MTP для доступу до файлів на нових Android-пристроях. Мій Nexus 10 працює нормально: після підключення я можу отримати доступ до файлів N10 за допомогою Nautilus, а також можу копіювати з пристрою та на нього. Evince відкриє файли PDF прямо з пристрою, але деякі програми не зможуть відкрити файли безпосередньо з пристрою, як-от gedit або libreoffice. Гедіт говорить щось на кшталт:

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

Я думаю, що MTP інтегрований на рівні gvfs, тож чи не повинні всі програми з підтримкою gvfs мати доступ до пристрою MTP? Чому виправдовувати, але не gedit?

Я знаю, що MTP можна монтувати запобіжниками, але було б добре, якби він працював із звичайними програмами від Nautilus так само, як sftp: // або smb: //.


У мене була ця проблема при використанні віртуальної машини vmware. Може бути пов’язано із затримкою на USB-переході або представлятись як більш ніж один пристрій / підрозділ і не отримати повністю пройденого шляхом чистої спекуляції
RobotHumans

Відповіді:


29

Специфікація MTP не підтримує основні операції відкриття / читання / запису / закриття, необхідні для здійснення нормального доступу до файлів в Linux - він забезпечує лише завантаження / завантаження файлів, і саме це реалізує MTP-сервер.

Nautilus буде копіювати файли просто добре, але як тільки ви спробуєте скористатися програмою, яка не містить явного рахунку з обмеженим набором операцій, ви отримаєте помилку. evince - приклад програми, яка підтримує його (він копіює файл у / tmp, потім відкриває його).

Отже, ось що відбувається в 13.04.

Зараз трапляється так, що Google реалізував набір розширень MTP в Android, які пропонують відкрити / читати / записувати / закривати, і цілком можливо забезпечити нормальний доступ до них. Я робив цю роботу у відділенні розвитку gvfs, але він пропустив вікно випуску 1.16, тому він не збирається з’являтися в Ubuntu раніше 13.10. 14.04 і досі не там

Тим часом ви можете використовувати мій ppa для установки збірок, де я підтримав цю роботу.

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

Нарешті, важливо зазначити, що ці розширення існують лише у MTP стеку Google. У вас Nexus 10, тож він буде працювати під керуванням Android-пристроїв, але хтось із пристроїв Samsung або пристроїв інших виробників не матиме цих розширень і, можливо, не матиме підтримку нормального вводу-виводу файлів.


Однак здається, що Windows 7 має ці додаткові можливості або спосіб вирішення, і це досить корисно. Було б добре, якби і ці "додаткові" були втілені і в Ubuntu
Альваро

1
Як вирішення способу читання може бути просто завантаження в / tmp та зчитування з нього, яке Nautilus може виконати автоматично, щоб користувач мав враження про операцію зчитування. І з подібними речами ви можете писати писати (завантажувати в / tmp, змінювати та завантажувати на пристрій)
Álvaro

2
Мені ніколи не подобалося неявна поведінка завантаження / завантаження - це може бути дуже неприємним сюрпризом для користувача, і я не хотів його вводити. Поміркуйте, що станеться, якщо у вас є фільм з багато гігабайт, який ви хочете переглянути, тож ви двічі клацніть по ньому, а потім він раптом починає завантажуватись на ваш / tmp, який справді є tmpfs ... Або ви хочете відредагувати якийсь документ і ви відкриваєтеся, виконайте деяку роботу, а потім економте, але ваш комп'ютер виходить з ладу, перш ніж fs зможе завантажити його назад, а проміжний файл зберігався в / tmp, що є tmpfs, тому він втрачається при перезавантаженні. Недружні!
langdalepl

@ Álvaro Just FYI, специфікація MTP була розроблена Microsoft. Так багато можливостей MTP, здається, чудово працюють у віконних пристроях, але не так багато в інших місцях.
RomaH

0

У мене виникли проблеми з отриманням фотографій з мого Fujifilm FinePix S1500. Повідомлення про помилку:

Operation not supported by backend

Я вирішив це, підрахувавши камеру та скопіювавши файли з командного рядка за допомогою gphoto2.


1
Було б добре, якби ви могли пояснити, як саме ви повинні використовувати таку команду, якgphoto2
Amith KK
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.