Saya menjalankan Linux Mint 17.1 64-bit (berdasarkan Ubuntu 14.04). Sejak memutakhirkan dari Linux Mint 14 / Ubuntu 12.10, skrip Python yang saya gunakan untuk menyinkronkan musik ke Walkman saya telah berhenti berfungsi.
Sebelumnya, ketika saya memasang Walkman saya, itu akan secara otomatis muncul sebagai path /run/user/1000/gvfs/WALKMAN/Storage Media
dan akan bekerja seperti sistem file lainnya: Saya dapat menyalin trek ke sana, menghapus trek dari sana, dll, semua melalui Python. Namun, saya tidak ingat apakah saya harus melakukan perubahan untuk mewujudkannya.
Sejak memutakhirkan ke Linux Mint 17 (dan sekarang 17.1), ketika saya memasang Walkman, itu muncul sebagai path /run/user/1000/gvfs/mtp:host=%5Busb%3A002%2C007%5D/Storage Media
. Lebih jauh, ketika saya mencoba menjalankan operasi file yang sama, mereka sekarang gagal. Saya telah menemukan bahwa ini terjadi tidak hanya melalui Python, tetapi pada baris perintah juga. Sebagai contoh:
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
Saya telah melakukan beberapa penelitian tentang masalah ini, tetapi penjelasan yang paling umum tampaknya adalah bahwa sebelumnya diselesaikan oleh PPA ini: https://launchpad.net/~langdalepl/+archive/ubuntu/gvfs-mtp
Tetapi sekarang, versi Ubuntu sejak 13.10 mengandung semua perubahan ini sehingga tidak perlu lagi diperlukan. Jadi mengapa saya masih mengalami kesalahan ini? Saya masih dapat melakukan operasi file di Walkman saya melalui file manager grafis (Caja, di Linux Mint), hanya saja tidak melalui baris perintah.
sumber
Jawaban:
Tebakan: Anda sekarang benar-benar menggunakan MTP untuk mengakses Walkman Anda, dan MTP menyebalkan.
Detail
The
Operation not supported
kesalahan bisa menunjukkan bahwa Walkman Anda menggunakan sebuah implementasi MTP yang tidak mendukung akses "langsung". Menurut http://intr.overt.org/blog/?p=174 akses langsung semacam ini adalah ekstensi khusus Android, jadi itu mungkin tidak didukung oleh Walkman Anda.Sebagai hasilnya, Anda hanya dapat menggunakan beberapa cara yang dipilih untuk mengakses file di Walkman Anda menggunakan MTP: Saya kira semua yang membaca atau menulis file dalam satu operasi didukung, sementara akses ke bagian tertentu dari file tidak didukung untuk implementasi MTP ini. . Dan tampaknya itu
cp
dan Python selalu menggunakan metode akses yang terakhir dan karenanya gagal.Kemungkinan Solusi
Namun, Anda mungkin bisa langsung mengganti
cp
dengangvfs-copy
. Dalam pengujian saya dengan ponsel Android Samsung (yang memiliki implementasi MTP lumpuh juga)gvfs-copy
dapat menyalin file ke telepon di manacp
gagal.Latar Belakang
Saya tidak dapat menemukan banyak info tentang batasan MTP yang bergantung pada perangkat ini; berikut beberapa cuplikan tempat situasinya dijelaskan:
/ubuntu//a/284831 https://bugs.launchpad.net/ubuntu/+source/gvfs/+bug/1389001/comments/2 https://bugs.launchpad.net/ubuntu/+source / gvfs / + bug / 1157583 / komentar / 1
Mengapa itu berhasil sebelumnya?
Mengenai mengapa Walkman Anda dapat diakses dengan
cp
di Mint 14 tetapi tidak di Mint 17, ini mungkin disebabkan oleh peralihan internal dari PTP ke MTP sebagai sistem akses. Setidaknya itulah yang saya perhatikan untuk perangkat Samsung saat beralih dari Ubuntu 12.04 ke 14.04. Ponsel ini mendukung PTP dan MTP, tetapi Ubuntu 12.04 tampaknya hanya mendukung PTP; jadi itulah yang digunakan. Karena versi Ubuntu baru memiliki dukungan bawaan untuk MTP, ini sekarang digunakan sebagai gantinya.Sebenarnya itu mungkin bahkan kasus Walkman Anda sebelumnya diakses sebagai USB Mass Storage Device , yang digunakan oleh hard disk USB dan flash drive. Mungkin karena alasan tertentu Linux (atau Walkman Anda) memutuskan bahwa MTP lebih disukai daripada akses Mass Storage.
Anda dapat melihat metode akses yang digunakan dengan melihat URL untuk Walkman (di Nautilus, buka folder Walkman, tekan Ctrl + L dan lihat bilah alamat): untuk MTP perangkat ditemukan di bawah mis.
mtp://[usb:001,004]/
sedangkan untuk PTP itu sepertigphoto2://[usb:001,004]/store_00010001
. Untuk akses Mass Storage URL hanya berupa jalur normal/media/WALKMAN
.Saya tidak tahu apakah MTP memiliki keunggulan aktual dibandingkan PTP atau Mass Storage, atau apakah mungkin untuk beralih kembali ke PTP atau Mass Storage. Di Linux, implementasi MTP dan PTP memiliki set bug sendiri, jadi itu tergantung pada kasus penggunaan Anda mana yang lebih baik. AFAIK Mass Storage adalah opsi yang paling diinginkan untuk pengguna tetapi dukungan perangkat di ponsel berkurang.
sumber
gvfs-copy
tidak bekerja untuk saya lebih baik dari biasanyacp
. Dan dalam kasus saya, telepon yang sama berfungsi di masa lalu melalui MTP. Beberapa telepon berfungsi dan beberapa tidak sekarang. Seluruh MTP (seperti yang saya pilih opsi koneksi MTP di menu telepon). pembaruan: menemukan masalah. Sedang berusaha menyalin dari kartu ke penyimpanan ponsel. Saya harus menyalin ke sistem file lokal terlebih dahulu (misalnya / tmp) kemudian salin ke penyimpanan telepon. Sepertinya salinan langsung mtp-> mtp tidak berfungsi (belum).Untuk mengakses ponsel saya, saya harus menginstal mtp-server melalui Synaptic Package Manager di Linux Mint 17.1 Mate saya. Linux Mint 17 Mate saya sebelumnya tidak mengharuskan saya untuk menginstal mtp-server, ponsel saya dikenali secara otomatis setelah terhubung melalui port usb. Mungkin info ini akan membantu.
sumber
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.
Dan perangkat Adroid saya tidak terhubung melalui MTP pada instalasi Mint 17 saya. Mungkin setelah peningkatan 17.1.apt-get install mtp-server
menyelesaikan masalah saya. Ini untuk pencari lain dengan masalah ini dapat membantu mereka karena itu membantu saya.Saya mengalami masalah ini pada Ubuntu 16.04 dan Samsung Galaxy SIII terhubung dalam mode MTP.
Menggunakan saran Oliver untuk menggunakan gvfs-copy, menyalin langsung dari NAS saya ke ponsel tidak berfungsi: (Nautilus juga tidak). Ini adalah putaran untuk kemungkinan bug di gvfs-copy.
Format jalur alternatif juga tidak disarankan oleh halaman manual:
Namun, menyalin file ke folder lokal berhasil. {Terima kasih akostadinov} (dan Nautilus)
sumber
Di Debian Jessie,
gvfs-copy
dari paketgvfs-bin
bekerja untuk saya.sumber
Anda dapat mencoba menggunakan rsync untuk menyinkronkan ke perangkat Anda, meskipun dengan transfer MTP Anda biasanya tidak dapat mengatur cap waktu dan tanggal untuk setiap file. Untuk membuat transfer lebih cepat, Anda harus menggunakan opsi --size-only untuk rsync dan bukan opsi -t. Saya merasa paling mudah untuk mengubah direktori menjadi direktori mtp, seperti / run / user / 1000 / gvfs / mtp: host = blahblah / blah / blah, lalu jalankan:
Opsi -n adalah menjalankan lari kering. Hapus saja opsi itu jika Anda puas dengan hasilnya.
sumber