MTP takılı aygıtlar dosya sisteminde nerede bulunur?


207

Bilgisayarıma MTP üzerinden bağlanan bir Android telefonum var. Bu iyi çalışıyor; Nautilus ile dosyaları görebilir ve aktarabilirim. Ancak, terminali çok sayıda dosyayı taşımak için sık sık kullanmak istiyorum ve aygıtı dosya sistemi ağacında hiçbir yerde bulamıyorum. Nautilus, yeri bildirir mtp://[usb:003,007]/, ancak /mediaya da altında değildir /mnt.

onun Nerede olduğunu bilen var mı?


Yanıtlar:


154

Zaten gibi öğrendim , Mountpoints olan /run/user/$USER/gvfs/(veya /var/run/user/$UID/gvfs) ve kullandıkları protokol, bağlantı türüne ve adres adını taşır. Bu, işleri daha da zorlaştırır, çünkü bağlantı adresi, cihazı her taktığınızda, aynı bağlantı noktası olsa bile değişebilir. Aynı cihaza iki kez sahipseniz, daha da kötüleşir.

lsusbBağlı olan tüm USB cihazlarını terminalden görüntülemek için kullanabilirsiniz :

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

Sizin de fark ettiğiniz gibi Nautilus bu bilgiyi araç ipucu ile de verir. Sen örn kodlanmış formu bulacaksınız mtp://[usb:002,025]içinde /run/user/$USER/gvfs(veya /var/run/user/$UID/gvfs) olarakmtp:host=%5Busb%3A002%2C025%5D


Askerin düzenlemesi: Bu, 13.04'te varsayılana göre daha yeni bir libmtp ve / veya gvfs sürümü gerektiriyor. sudo add-apt-repository ppa:langdalepl/gvfs-mtpBaşka bir şey yapmadan önce çalıştırın ve güncelleyin.


Düzenleme: PPA artık sosyetikte / 13.10'da gerekmemektedir ve daha yeni, dosya adları Nautilus'ta olduğu gibi terminalde listelenmiştir.

Düzenleme 2016-01-11: Bakım ve iyileştirme için zaman yetersizliğinden dolayı bu cevaba daha önce dahil olan senaryoyu kaldırdım. Halen revizyon geçmişinde bulabilirsiniz.


Cevabınız için teşekkür ederim. Ne yazık ki, bu işe yaramaz çünkü asıl klasör adları (örneğin / DCIM / Kamera /) Nautilus'ta terminalde değil görünür. Bu nedenle, $ Path / DCIM / Kamera rsync ile erişilemez.
bessman,

2
Yol sadece bir örnek ve Android telefonlar için farklı. Verilere erişebilmek için telefonun kilit ekranı aracılığıyla da açılması gerekir.
LiveWireBT

Yol /DCIM/Camera/telefonumda var, ancak terminalde buna denir /2404/2407/. İşte sorun bu. Eğer cdiçine /2404/2407/girip kaçarsam nautilus ., /DCIM/Camera/açılır. Telefonun kilidi açık, aksi takdirde Nautilus üzerinden erişemedim, değil mi?
bessman

5
Tüm bunların çalışması için, gvfs-fusepaketin kurulu olması gerektiğini unutmayın . Ubuntu'nun tüm sürümleri / lezzetleri varsayılan olarak yoktur (örn. Ubuntu MATE 14.10 yoktur). Onsuz MTP cihazı yerel bir yol olarak kurulmaz ve yalnızca gvfs URI'lerini destekleyen uygulamalar tarafından kullanılabilir.
user149408

2
gvfs/Sonunda dizini buldum . Ancak $ USER yerine bu bilgisayardaki yol şudur: /run/user/1000/gvfs/mtp:host=%5Busb%3A003%2C003%5D- Diğerleri için, hemen bulamazsanız, sadece bir şey hakkında düşünmenizi öneririz.
olacak

94

Nexus cihazımın belleğine şu adresten erişilebilir:

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

$ UID'niz 1000öyleyse, bunu yaparak da bulabilirsiniz

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

veya (UID'nizin 1000 olduğunu varsayan bir örnekteki tam konum için),

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

2
Bu , ek bir yazılım yüklemeyi gerektirmediğinden kabul edilen cevap olmalıdır. Çok teşekkür ederim user2529583!
NH.

mtp*Şarap uygulamalarında dosya adı yeniden adlandırılabilir mi, herhangi bir fikir ? Naive mvbana verir mv: cannot move 'mtp:host=%5Busb%3A001%2C065%5D' to 'mtp': No such file or directory(dosya
adının

@Mark herhangi bir karakter linux'da geçerli bir dosya adıdır. Mv olmadan yeniden adlandırmak için bir yol olup olmadığına bakın.
Babken Vardanyan

Muhteşem. Mükemmel çalışıyor ve beni Raspbian Wheezy ve Jessie ile “denemek” için çok kurtardı
Zimano

1
Ubuntu 16.04 ve Onur 9 Lite. Telefon /run/user/1000/gvfsklasörünü bağladıktan sonra boş.
LRDPRDX

25

MTP monte edilmiş cihaz genellikle aşağıdaki yerlerde bulunur: /run/user/1000/gvfs/


örneğin, eğer Nautilus adres çubuğunuz gösteriliyorsa mtp://[usb:001,006]/, şunlara erişebilirsiniz:

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

şimdi terminalde dosya veya klasörleri kopyalayabilirsiniz:

  • cd klasörüne -> cd /run/user/1000/gvfs/mtp\:host=%5Busb%3A001%2C006%5D/
  • sonra gerekli klasörleri geçerli dizine kopyala -> cp -r ~/videos/ .

2
Aynen dediğin gibi çalışıyor. Ama 'a-a' yaptığımda boş.
ycc_swe 20:17

10

Yazın mount. Bu her aktif dosya sistemini listeler.


14
Hayır, cihaz çıkışta görünmüyor.
LiveWireBT

1
Hmm. Bu tür çalıştı. / Run / user / myusername / gvfs / altında buldum. Ancak tüm kat isimleri, Nautilus'ta gördüğüm gerçek isimler yerine sadece rakamlardır. Bu nedenle, sorunumu gerçekten çözmüyor çünkü dosyaları cihaza taşımak için hala terminali kullanamıyorum.
bessman

Nautilus'un MTP aygıtı açık olduğunda, lsof -c nautilus | lessNautilus'un açtığı tüm dosya dosyalarını listelemek için komutları kullanın.
Walt

1
Bu benim için çözdü :)
marlar

10

Bu şununla çalışıyor:

  • Linux Nane 17.3
  • Samsung Galaxy S5

bunu dene:

  1. apt-get install mtpfs
  2. apt-get install mtp-tools
    • #evet bir satır olabilir (bu isteğe bağlıdır )
  3. sudo mkdir -p /media/mtp/phone
  4. sudo chmod 775 /media/mtp/phone
    • #Şahsen ben izinleri NO-eXecute ile kısıtlıyorum
    • #Bu noktada ne monte etmek için yeterli olduğundan emin değilim .
  5. Telefonun mikro-USB fişini ve prizi çıkarın, sonra ...
  6. sudo mtpfs -o allow_other /media/mtp/phone
  7. ls -lt /media/mtp/phone

çıktı:

 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

çıktı:

 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

Android telefonumdaki SD kartına erişim. " Çalma listeleri ", çalma listelerinizi .m3u dosyaları olarak içeren "/ Çalma Listeleri" adı verilen sanal bir dizindir. (başına man mtpfs)

Bu hile yapmak gibi görünüyor. Hatırlamak için yararlı komutlar ...

  • sudo mtpfs -h... cihazın seçeneklerini listeler. Bu, yalnızca cihazı monte etmeden önce işe yarıyor gibi görünüyor. Bu yüzden, belki ilk önce kontrol edin.
  • mtp-detect... cihazla ilgili birçok şey gösterir (mtp araçlarının bir kısmı).

Ayrıca telefon / cihaza " açık " ihtiyacınız olduğunu düşünüyorum , cihazın bağlanabilmesi için bir ekran koruyucuyu açın.

USB-lerimin şu şekilde monte edildiğini fark ettim:

  • / medya / irade / usbdrive

Bu nedenle, "mtp" saplaması yerine kullanıcı adınızın altına bağlanmak daha mantıklı olabilir. Ayrıca şu yazıyı da gözden geçirin : " MTP Androidler SD-Kartınızı Ubuntu'ya Monte Etme ", birkaç faydalı önerisi ve ekstraları vardır.

Referanslar:

Bu iki direkten liderliği aldım:


Bu çalışmasına rağmen Merhaba, ben hala MTP çok yavaş bulmak ve genellikle o sanki benim Linux PC kilitledi. FTP kullanımı hakkında daha fazla yorum yapıyorum. Bazı kazma yaptım ve sshelper uygulamasını tavsiye ederim . Çok kullanışlı, açık kaynaklı ve olgun. Windows, Linux ve Mac ile çalışacak - Ya da SSH'yi destekleyen herhangi bir şey. Kullanımı da kolaydır. Bir şans ver.
olacak

8

Bir LG2 telefonum var ve Xubuntu 15.10 kullanıyorum.

Bu şekilde, cihazı mnt dizinine kullanıcımın altına bağladım.

  1. Öncelikle sisteminizde aşağıdaki paketlerin kurulu olduğundan emin olun.

    sudo apt-get install jmtpfs mtp-tools
    
  2. Telefonunuzu MTP aygıtı olarak bağlayın ve terminalinize aşağıdaki komutu yazın.

    mtp-detect
    
  3. user_allow_otherDosyadaki uncomment /etc/fuse.conf.

  4. mntAna dizininizde bir dizin oluşturun .

    mkdir mnt
    
  5. Cihazı monte et.

    jmtpfs ~/mnt
    
  6. Bu kadar. Artık cihazınız 4. adımdamnt oluşturulan dizinin altına monte edilmiştir .

Not: Gereksiz olan bazı adımlar olabilir. Ancak yukarıdaki adımları izleyerek benim için çalıştı.

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


6

Bu, soruna doğrudan bir cevap değil, yine de bir çözümdür.

USB bağlantısıyla tutarsızlık yaşadıktan sonra, .gvfs ve USB sistemini hep birlikte atladım.

Android ve işte basit bir ftp sunucusu kurdum! Nautilus / nemo / thunar'dan sunucuya bağlanın (ya giriş yaparak ya da olmadan ftp ile) ve uzağa gidin.

Klasörlerin senkronizasyonu OwnCloud ve / veya BitTorrentSync üzerinden gerçekleştirilir.

Kablosuz üzerinden FTP, USB bağlantısından çok daha hızlı.


5

MTP, FTP veya SSH'ye çok benzeyen bir protokoldür. Kullanıcı istediğinde dosyaları alır. Böylece bilgisayarda bağlı dosya sistemi yoktur.

Monte edilmiş bir dosya sistemi gibi görünmesi için mtpfs kullanın.

mtpfs <a_folder_to_mount>

Cihazı belirtmenize gerek yok. Bağlı tek bir cihazınız varsa, o zaman belirsizlik yoktur. Bilgisayarıma bağlı birden fazla cihazla test etmedim.


4

Terminalden MTP lokasyonuna geçmeyi tam olarak bilmiyorum. Ancak, Dahili depolama / SD kartına sağ tıklayıp "Terminalde Aç" seçeneğini seçebileceğimizi öğrendim. Bu şekilde konum doğrudan Terminal'de açılır.


2
Gerçek bir ekran görüntüsü (dahili çerçevenin) ekranın bir fotoğrafından (harici bir kamerayla) çok daha iyi olurdu.
David Foerster

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.