web-dev-qa-db-ja.com

一部のUbuntu 13.04アプリケーションは、MTPマウントシステム上のファイルにアクセスできません。どうして?

Ubuntu 13.04には、新しいAndroidデバイス上のファイルにアクセスするためのMTPサポートが付属しています。 Nexus 10は正常に機能します。プラグイン後、NautilusでN10ファイルにアクセスでき、デバイスとの間でコピーできます。 EvinceはデバイスからPDFファイルを直接開きますが、一部のアプリケーションはgeditやlibreofficeなどのデバイスから直接ファイルを開くことができません。 Geditは次のように言います:

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

MTPはgvfsレベルで統合されているので、すべてのgvfs対応アプリケーションがMTPデバイスにアクセスできるとは限りませんか?なぜevinceであるが、geditではないのか?

MTPをFuseでマウントできることは知っていますが、sftp://やsmb://のようにNautilusの通常のアプリケーションで動作するのはいいことです。

14
jjchico

MTP仕様は、Linuxで通常のファイルアクセスを実装するために必要な基本的なオープン/読み取り/書き込み/クローズ操作をサポートしていません-ファイルのアップロード/ダウンロードのみを提供し、MTPバックエンドはこれを実装しています。

Nautilusはファイルを正常にコピーしますが、制限された一連の操作を明示的に考慮していないアプリケーションを使用しようとすると、エラーが発生します。 evince は、それをサポートするアプリの例です(ファイルを/ tmpにコピーしてから開きます)。

それが、13.04で起こっていることです。

さて、GoogleはAndroidにオープン/読み取り/書き込み/クローズを提供する一連のMTP拡張機能を実装しました。これらを使用して通常のファイルアクセスを提供することが可能です。私はこの作業をgvfs開発ブランチで行ってきましたが、1.16リリースウィンドウを見逃していたため、Ubuntuには少なくとも13.10まで表示されません。 14.04とまだない

それまでの間、この作品をバックポートしたビルドに私のppaを使用してインストールできます。

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

最後に、これらの拡張機能はGoogleのMTPスタックにのみ存在することに注意することが重要です。 Nexus 10を持っているので、ストックAndroidを実行しているように動作しますが、Samsungデバイスまたは他のメーカーのデバイスを使用している人はこれらの拡張子を持たず、通常のファイルI/O.

29
langdalepl

Fujifilm FinePix S1500から写真を取り出すのに問題がありました。エラーメッセージ:

Operation not supported by backend

カメラをアンマウントし、gphoto2を使用してコマンドラインからファイルをコピーすることで解決しました。

0
Cliff