Pertanyaan Di mana perangkat yang dipasang MTP terletak di sistem file?


Saya memiliki ponsel Android yang terhubung dengan komputer saya melalui MTP. Ini berfungsi dengan baik; Saya bisa melihat dan mentransfer file dengan Nautilus. Namun, saya sering ingin menggunakan terminal untuk memindahkan sejumlah besar file, dan sepertinya saya tidak dapat menemukan perangkat di mana pun di dalam pohon sistem file. Nautilus melaporkan lokasi sebagai mtp://[usb:003,007]/, tetapi tidak di bawah /media atau /mnt.

Apakah ada yang tahu di mana itu?


167
2017-09-06 20:00


asal


Kemungkinan duplikat dari Tampilkan jalur akses 'cd' ke perangkat mtp di Nemo - dimo414


Jawaban:


Seperti yang sudah Anda miliki menemukan, titik mount berada /run/user/$USER/gvfs/ (atau /var/run/user/$UID/gvfs) dan diberi nama setelah protokol, jenis koneksi dan alamat yang mereka gunakan. Yang membuat semuanya lebih sulit, karena alamat koneksi dapat berubah setiap kali Anda mengganti perangkat, meskipun portnya sama. Jika Anda memiliki perangkat yang sama dua kali lebih buruk.

Kamu dapat memakai lsusb untuk menampilkan semua perangkat USB yang terhubung dari terminal:

$ lsusb | grep Google                       # Note: This is a Nexus 4
Bus 002 Device 025: ID 18d1:4ee2 Google Inc.

Seperti yang Anda ketahui Nautilus juga memberikan informasi ini melalui tip alat. Anda akan menemukan bentuk yang dikodekan dari mis. mtp://[usb:002,025] di /run/user/$USER/gvfs (atau /var/run/user/$UID/gvfs) sebagai mtp:host=%5Busb%3A002%2C025%5D


Suntingan Penanya: Tampaknya memerlukan versi libmtp dan / atau gvf yang lebih baru daripada yang tersedia per default di 13.04. Menjalankan sudo add-apt-repository ppa:langdalepl/gvfs-mtp dan perbarui sebelum melakukan hal lain.


Edit: PPA tidak diperlukan lagi di saucy / 13.10 dan yang lebih baru, nama file tercantum dalam terminal seperti pada Nautilus.

Edit 2016-01-11: Saya menghapus skrip yang sebelumnya termasuk dalam jawaban ini karena kurangnya waktu untuk pemeliharaan dan peningkatan. Anda masih dapat menemukannya di riwayat revisi.


124
2017-09-07 13:25



Terima kasih atas jawaban Anda. Sayangnya, itu tidak berhasil karena nama folder yang sebenarnya (mis. / DCIM / Camera /) hanya terlihat di Nautilus, bukan terminal. Dengan demikian, $ Path / DCIM / Camera tidak dapat diakses dengan rsync. - bessman
Jalur ini hanyalah sebuah contoh dan berbeda untuk ponsel Android. Ponsel juga harus dibuka kuncinya melalui layar kunci untuk memungkinkan akses ke data. - LiveWireBT
Jalan /DCIM/Camera/ ada di ponsel saya, tetapi di terminal itu disebut /2404/2407/. Itulah masalahnya. Jika saya cdke /2404/2407/ dan lari nautilus ., kemudian /DCIM/Camera/ dibuka. Ponsel tidak terkunci, kalau tidak saya tidak akan dapat mengaksesnya melalui Nautilus, kan? - bessman
Perhatikan bahwa agar semua ini berfungsi, Anda harus memiliki gvfs-fuse paket diinstal. Tidak semua versi / rasa Ubuntu memilikinya secara default (misalnya Ubuntu MATE 14.10 tidak). Tanpa itu, perangkat MTP tidak akan dipasang sebagai jalur lokal dan hanya dapat digunakan oleh aplikasi yang mendukung URI gvfs. - user149408
Saya menemukan itu gvfs/ direktori akhirnya. Namun alih-alih $ USER, jalur pada PC ini adalah: /run/user/1000/gvfs/mtp:host=%5Busb%3A003%2C003%5D - Untuk orang lain saya sarankan Anda hanya mengolok-olok, jika Anda tidak menemukannya dengan segera. - will


Memori perangkat Nexus saya dapat diakses di:

/run/user/$UID/gvfs/mtp*

Jadi, jika $ UID Anda adalah 1000, Anda dapat menemukannya dengan melakukan

$ cd /run/user/$UID/gvfs/mtp*

atau (untuk lokasi yang tepat dalam contoh dengan asumsi UID Anda adalah 1000),

$ cd /run/user/1000/gvfs/mtp\:host=%5Busb%3A001%2C006%5D/

78
2018-02-15 07:39



Ini harus menjadi jawaban yang diterima karena tidak perlu menginstal perangkat lunak tambahan apa pun. Terima kasih banyak user2529583! - NH.
Tahu apa jika mtp* nama file dapat diganti namanya untuk digunakan dalam aplikasi Wine? Naif mv memberi saya mv: cannot move 'mtp:host=%5Busb%3A001%2C065%5D' to 'mtp': No such file or directory (perhatikan bahwa nama file tab-selesai) - Mark Jeronimus
@ Tandai karakter apa pun adalah nama file yang valid di linux. Lihatlah apakah ada cara untuk mengganti namanya tanpa mv. - Babken Vardanyan
Luar biasa. Ini bekerja dengan baik dan menyelamatkan saya banyak "mencoba" di Raspbian Wheezy dan Jessie - Zimano


MTP perangkat yang dipasang biasanya dapat ditemukan di: /run/user/1000/gvfs/


misalnya jika bilah alamat Nautilus Anda ditampilkan mtp://[usb:001,006]/, maka Anda dapat mengakses dengan:

/run/user/1000/gvfs/mtp\:host=%5Busb%3A001%2C006%5D/

sekarang di terminal Anda dapat menyalin file atau folder:

  • cd ke dalam folder -> cd /run/user/1000/gvfs/mtp\:host=%5Busb%3A001%2C006%5D/
  • kemudian salin folder yang diperlukan ke direktori saat ini -> cp -r ~/videos/ .

21
2018-03-10 04:07



Ia bekerja persis seperti yang Anda katakan. Tetapi ketika saya membuat 'ls -a' itu kosong. - ycc_swe


Mengetik mount. Itu akan mencantumkan semua sistem file yang aktif.


10
2017-09-06 21:50



Tidak, perangkat tidak muncul di output. - LiveWireBT
Hmm Semacam itu berhasil. Saya menemukannya di bawah / jalankan / pengguna / nama pengguna / gvfs /. Namun, semua lipatan nama hanyalah angka, bukan nama sebenarnya yang saya lihat di Nautilus. Dengan demikian, itu tidak benar-benar menyelesaikan masalah saya karena saya masih tidak dapat dengan mudah menggunakan terminal untuk memindahkan file ke perangkat. - bessman
Ketika Nautilus memiliki perangkat MTP terbuka, gunakan perintah lsof -c nautilus | less untuk membuat daftar semua file file Nautilus telah terbuka. - waltinator
Itu memecahkannya untuk saya :) - marlar


Ini bekerja dengan:

  • Linux Mint 17.3
  • Samsung Galaxy S5

coba ini:

  1. apt-get install mtpfs
  2. apt-get install mtp-tools
    • # ya bisa satu baris (ini pilihan)
  3. sudo mkdir -p /media/mtp/phone
  4. sudo chmod 775 /media/mtp/phone
    • # Secara pribadi saya akan membatasi izin untuk NO-eXecute
    • # Pada titik ini saya tidak yakin apa itu cukup untuk me-mount.
  5. Cabut telepon micro-USB dan plug-in, lalu ...
  6. sudo mtpfs -o allow_other /media/mtp/phone
  7. ls -lt /media/mtp/phone

keluaran:

 total 0
 drwxrwxrwx 2 will will 0 Jan  1  1970 Card
 drwxrwxrwx 2 will will 0 Jan  1  1970 Phone
 drwxrwxrwx 2 will will 0 Jan  1  1970 Playlists
  1. ls -lt /media/mtp/phone/Card

keluaran:

 total 0
 drwxrwxrwx 2 will will 0 Jan  1  1970 Android
 drwxrwxrwx 2 will will 0 Jan  1  1970 DCIM
 drwxrwxrwx 2 will will 0 Jan  1  1970 LOST.DIR
 drwxrwxrwx 2 will will 0 Jan  1  1970 Music

Mencantumkan akses ke kartu SD di ponsel Android saya. "Playlist"adalah direktori virtual bernama" / Daftar Putar "yang berisi daftar putar Anda sebagai file .m3u. (per man mtpfs)

Itu sepertinya berhasil. Perintah yang berguna untuk diingat ...

  • sudo mtpfs -h ... daftar opsi perangkat. Ini tampaknya hanya berfungsi sebelum Anda memasang perangkat. Jadi, periksa dulu, mungkin.
  • mtp-detect ... menunjukkan banyak barang tentang perangkat (bagian dari mtp-tools).

Juga saya pikir Anda memerlukan ponsel / perangkat "di", buka screen saver jika Anda memilikinya sehingga perangkat dapat terhubung.

Saya memperhatikan bahwa pemasangan USB saya sebagai:

  • / media / will /Usbdrive

Jadi mungkin lebih masuk akal untuk me-mount di bawah nama pengguna Anda, bukan "mtp" rintisan. Juga tinjau pos: "Memasang kartu SD Android MTP Anda di Ubuntu", ini memiliki beberapa saran dan ekstra yang berguna.

referensi:

Saya memimpin saya dari dua posting ini:


7
2018-01-11 20:11



Hai meskipun ini berhasil, saya masih menemukan MTP terlalu lambat dan sering itu seolah-olah PC Linux saya telah terkunci. Saya mendukung komentar lebih lanjut tentang menggunakan FTP. Saya melakukan beberapa penggalian dan merekomendasikan sshelper aplikasi. Ini sangat berguna, bersumber terbuka, dan matang. Akan bekerja dengan Windows, Linux dan Mac - Atau apa pun yang mendukung SSH. Mudah digunakan juga. Mencobanya. - will


Ini bukan jawaban langsung untuk masalah, tetapi solusi tetap.

Setelah mengalami ketidakkonsistenan dengan konektivitas USB, saya melewati sistem .gvfs dan USB secara bersamaan.

Saya menginstal server ftp sederhana di android dan voila! Hubungkan ke server (baik ftp dengan login atau tanpa, tergantung pada bagaimana Anda memilih) dari Nautilus / nemo / thunar dan jauh Anda pergi.

Sinkronisasi folder ditangani melalui OwnCloud dan / atau BitTorrentSync.

Dan FTP melalui nirkabel jauh lebih cepat daripada koneksi USB.


6
2017-10-27 02:11





Saya mendapat telepon LG2 dan saya menjalankan Xubuntu 15.10.

Ini adalah cara saya memasang perangkat ke direktori mnt di bawah pengguna saya.

  1. Pertama pastikan Anda memiliki paket-paket berikut yang terinstal di sistem Anda.

    sudo apt-get install jmtpfs mtp-tools
    
  2. Hubungkan ponsel Anda sebagai perangkat MTP dan ketik perintah berikut di terminal Anda.

    mtp-detect
    
  3. Hapus komentar user_allow_other dalam file /etc/fuse.conf.

  4. Buat direktori mnt di direktori home Anda.

    mkdir mnt
    
  5. Pasang perangkat.

    jmtpfs ~/mnt
    
  6. Itu dia. Sekarang perangkat Anda sudah terpasang di bawah mnt direktori yang dibuat di langkah 4.

Catatan: Mungkin ada beberapa langkah yang tidak perlu. Tetapi mengikuti langkah-langkah di atas berhasil untuk saya.

Referensi: https://wiki.archlinux.org/index.php/MTP


6
2017-12-16 06:00





MTP adalah protokol, seperti FTP atau SSH. Ini mengambil file ketika pengguna memintanya. Dengan demikian tidak ada sistem file yang terpasang di komputer.

Gunakan mtpfs untuk membuatnya tampak seperti sistem file yang dipasang.

mtpfs <a_folder_to_mount>

Tidak perlu menentukan perangkat. Jika Anda hanya memiliki satu perangkat yang terhubung, maka tidak ada ambiguitas. Saya belum mengujinya dengan beberapa perangkat yang terhubung ke komputer saya.


4
2018-02-13 08:05





Saya tidak tahu persis untuk melintasi ke lokasi MTP melalui terminal. Namun, saya menemukan bahwa kita dapat mengklik kanan pada penyimpanan internal / kartu SD dan memilih opsi "Buka di Terminal". Melakukannya lokasi langsung dibuka di Terminal.


2
2018-04-16 10:48



Screenshot nyata (framebuffer internal) akan jauh lebih baik daripada foto layar (dengan kamera eksternal). - David Foerster