GVFS経由でマウントされたMTPデバイスでファイル操作を実行できませんでした:「操作はサポートされていません」

GVFS経由でマウントされたMTPデバイスでファイル操作を実行できませんでした:「操作はサポートされていません」

私はLinux Mint 17.1 64ビット(Ubuntu 14.04ベース)を実行しています。 Linux Mint 14 / Ubuntu 12.10からアップグレードした後、Walkmanに音楽を同期するために使用するPythonスクリプトが機能しなくなりました。

以前は、Walkmanをインストールすると自動的にパスとして表示され、/run/user/1000/gvfs/WALKMAN/Storage Media他のファイルシステムのように動作しました。 Pythonでトラックをコピーして削除できました。しかし、これを達成するためにどんな変更を加えなければならなかったのか覚えていません。

Walkmanをインストールすると、Linux Mint 17(現在17.1)にアップグレードした後にパスとして表示されます/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

しかし、現在13.10のUbuntuバージョンにはこれらすべての変更が含まれているので、もはや必要ありません。それでは、なぜまだこれらのエラーが発生しますか?コマンドラインではなくグラフィックファイルマネージャ(Linux MintのCaja)を使用して、Walkmanでファイル操作を続行できます。

ベストアンサー1

推測:実際にはMTPを使用してWalkmanにアクセスしていますが、MTPは不便です。

詳細

このOperation not supportedエラーは、Walkmanが「直接」アクセスをサポートしていないMTP実装を使用していることを示す可能性があります。 ~によるとhttp://intr.overt.org/blog/?p=174この直接アクセスはAndroid専用の拡張機能なので、Walkmanはそれをサポートしていない可能性があります。

したがって、MTPを使用してWalkmanのファイルにアクセスする方法はいくつかあります。単一の操作でファイルの内容全体を読み書きすることをサポートしたいが、これらのMTP実装はファイルの選択された部分へのアクセスをサポートしません。cpPythonは常に後者のアクセス方法を使用しているため失敗するようです。

考えられる解決策

しかし、cpただ。gvfs-copygvfs-copycp

背景

これらのデバイスに関連するMTPの制限に関する多くの情報が見つかりません。以下は、状況を少し説明するいくつかの内容です。

https://askubuntu.com/a/284831 https://bugs.launchpad.net/ubuntu/+source/gvfs/+bug/1389001/comments/2 https://bugs.launchpad.net/ubuntu/+source/gvfs/+bug/1157583/comments/1

以前はなぜ効果がありましたか?

WalkmanがMint 14では動作しますが、Mint 17では動作しないのは、cp内部スイッチが原因である可能性があります。ピアツーピア到着MTPアクセスシステムとして。少なくともそれがUbuntu 12.04から14.04に切り替えたときにSamsungデバイスで発見されました。電話はPTPとMTPの両方をサポートしていますが、Ubuntu 12.04は明らかにPTPのみをサポートしています。新しいUbuntuバージョンにはMTPサポート機能が組み込まれているので、代わりにそれを使用してください。

実際にWalkmanに以前にアクセスしたことがあるかもしれません。USB大容量記憶装置、USBハードドライブ、フラッシュドライブに使用されます。おそらく何らかの理由で、Linux(またはWalkman)は、大容量ストレージアクセスよりもMTPを好むと考えています。

WalkmanのURLを見ると、どのアクセス方法が使用されているかを確認できます(ノーチラスではWalkmanフォルダに移動し、Ctrl + Lを押してアドレスバーを確認してください)。 MTPの場合、デバイスは以下にあります。はい。mtp://[usb:001,004]/PTPの場合も同様ですgphoto2://[usb:001,004]/store_00010001。大容量記憶域アクセスの場合、URLは一般的なパスです/media/WALKMAN

MTPがPTPや大容量ストレージに比べて実質的な利点があるのか​​、それともPTPや大容量ストレージに切り替えることができるのかはわかりません。 Linuxでは、MTPとPTPの実装の両方に独自のバグセットがあるため、どちらが良いかはユースケースによって異なります。私が知る限り、大容量ストレージはユーザーにとって最も理想的なオプションですが、携帯電話のデバイスサポートはますます減少しています。

おすすめ記事