Vraag Waar bevinden zich MTP-gemounte apparaten in het bestandssysteem?


Ik heb een Android-telefoon die via MTP verbinding maakt met mijn computer. Dit werkt prima; Ik kan bestanden met Nautilus bekijken en overbrengen. Ik wil echter vaak de terminal gebruiken om grote aantallen bestanden te verplaatsen en ik kan het apparaat nergens in de structuur van het bestandssysteem vinden. Nautilus rapporteert de locatie als mtp://[usb:003,007]/, maar het is niet onder /media of /mnt.

Weet iemand waar het is?


167
2017-09-06 20:00


oorsprong


Mogelijk duplicaat van Toon 'cd' toegankelijk pad naar mtp-apparaat in Nemo - dimo414


antwoorden:


Zoals je al hebt gedaan kwam erachter, de mountpoints zijn binnen /run/user/$USER/gvfs/ (of /var/run/user/$UID/gvfs) en zijn genoemd naar het protocol, het verbindingstype en het adres dat ze gebruiken. Dat maakt het moeilijker, omdat het verbindingsadres kan veranderen elke keer dat u het apparaat opnieuw aansluit, zelfs als het dezelfde poort is. Als je twee keer hetzelfde apparaat hebt, wordt het nog erger.

Je kunt gebruiken lsusb om alle aangesloten USB-apparaten vanaf de terminal weer te geven:

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

Zoals u gemerkt heeft, geeft Nautilus deze informatie ook via de tooltip. U zult de gecodeerde vorm van b.v. mtp://[usb:002,025] in /run/user/$USER/gvfs (of /var/run/user/$UID/gvfs) als mtp:host=%5Busb%3A002%2C025%5D


Asker's bewerking: dit lijkt een nieuwere versie van libmtp en / of gvf's te vereisen dan standaard beschikbaar is in 13.04. Rennen sudo add-apt-repository ppa:langdalepl/gvfs-mtp en update voordat je iets anders doet.


Bewerken: PPA niet meer nodig in saucy / 13.10 en nieuwer, bestandsnamen worden vermeld in terminal zoals ze zijn in Nautilus.

Wijzig 2016-01-11: Ik heb het script verwijderd dat eerder in dit antwoord was opgenomen vanwege gebrek aan tijd voor onderhoud en verbeteringen. Je kunt het nog steeds vinden in de revisiegeschiedenis.


124
2017-09-07 13:25



Bedankt voor je antwoord. Helaas werkt het niet omdat de feitelijke mapnamen (bijvoorbeeld / DCIM / Camera /) alleen zichtbaar zijn in Nautilus, niet in de terminal. Daarom is $ Path / DCIM / Camera niet toegankelijk met rsync. - bessman
Het pad is slechts een voorbeeld en is anders voor Android-telefoons. De telefoon moet ook via het vergrendelscherm worden ontgrendeld om toegang tot de gegevens mogelijk te maken. - LiveWireBT
Het pad /DCIM/Camera/ bestaat op mijn telefoon, maar in de terminal wordt het genoemd /2404/2407/. Dat is het probleem. Als ik cd in /2404/2407/ en loop nautilus ., dan /DCIM/Camera/ is geopend. De telefoon is ontgrendeld, anders zou ik er via Nautilus geen toegang toe hebben, toch? - bessman
Merk op dat om dit allemaal te laten werken, u de gvfs-fusepakket geïnstalleerd. Niet alle versies / smaken van Ubuntu hebben dit standaard (bijvoorbeeld Ubuntu MATE 14.10 doet dit niet). Zonder dit wordt het MTP-apparaat niet gekoppeld als een lokaal pad en kan het alleen worden gebruikt door toepassingen die gvfs-URI's ondersteunen. - user149408
ik vond de gvfs/ map uiteindelijk. In plaats van $ USER is het pad op deze pc echter: /run/user/1000/gvfs/mtp:host=%5Busb%3A003%2C003%5D - Voor anderen stel ik voor dat je gewoon een kijkje neemt, als je het niet meteen vindt. - will


Het geheugen van mijn Nexus-apparaat is toegankelijk via:

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

Dus als je $ UID is 1000, je vindt het misschien door het te doen

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

of (voor de exacte locatie in een voorbeeld ervan uitgaande dat uw UID 1000 is),

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

78
2018-02-15 07:39



Deze zou het geaccepteerde antwoord moeten zijn, omdat het niet vereist dat er extra software wordt geïnstalleerd. Heel erg bedankt gebruiker2529583! - NH.
Enig idee als het mtp* bestandsnaam kan worden hernoemd voor gebruik in Wine-toepassingen? Naief mv geeft me mv: cannot move 'mtp:host=%5Busb%3A001%2C065%5D' to 'mtp': No such file or directory (merk op dat de bestandsnaam tab-voltooid is) - Mark Jeronimus
@Mark elk teken is een geldige bestandsnaam in linux. Kijk of er een manier is om het zonder mv te hernoemen. - Babken Vardanyan
Geweldig. Het werkt prima en bespaarde me veel "uitproberen" op Raspbian Wheezy en Jessie - Zimano


MTP gemonteerd apparaat is meestal te vinden in: /run/user/1000/gvfs/


voor bijvoorbeeld als uw Nautilus-adresbalk wordt weergegeven mtp://[usb:001,006]/, dan heb je toegang door:

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

nu op terminal kun je bestanden of mappen kopiëren:

  • cd in map -> cd /run/user/1000/gvfs/mtp\:host=%5Busb%3A001%2C006%5D/
  • kopieer vervolgens de vereiste mappen naar de huidige map -> cp -r ~/videos/ .

21
2018-03-10 04:07



Het werkt precies zoals je zegt. Maar wanneer ik 'ls-a' maak, is het leeg. - ycc_swe


Type mount. Dat zal elk actief bestandssysteem vermelden.


10
2017-09-06 21:50



Nee, het apparaat verschijnt niet in de uitvoer. - LiveWireBT
Hmm. Dat soort werkte. Ik vond het onder / run / user / myusername / gvfs /. Alle mapnamen zijn echter alleen getallen in plaats van de werkelijke namen die ik in Nautilus zie. Als zodanig lost het mijn probleem niet echt op omdat ik de terminal nog steeds niet gemakkelijk kan gebruiken om bestanden naar het apparaat te verplaatsen. - bessman
Wanneer Nautilus het MTP-apparaat open heeft, gebruikt u de opdrachten lsof -c nautilus | less om alle bestanden te tonen die Nautilus open heeft. - waltinator
Dat loste het voor mij op :) - marlar


Dit werkt met:

  • Linux Mint 17.3
  • Samsung Galaxy S5

probeer dit:

  1. apt-get install mtpfs
  2. apt-get install mtp-tools
    • # ja kan één regel zijn (dit is facultatief)
  3. sudo mkdir -p /media/mtp/phone
  4. sudo chmod 775 /media/mtp/phone
    • # Persoonlijk beperk ik de toegangsrechten tot NO-eXecute
    • # Op dit punt ben ik niet zeker wat is genoeg opsteigen.
  5. Koppel de telefoon micro-USB en plug-in los en vervolgens ...
  6. sudo mtpfs -o allow_other /media/mtp/phone
  7. ls -lt /media/mtp/phone

output:

 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

output:

 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

Vermelding van toegang tot de SD-kaart op mijn Android-telefoon. "afspeellijsten"is een virtuele map met de naam" / Playlists "die uw afspeellijsten als .m3u-bestanden bevat (per man mtpfs)

Dat lijkt de truc te doen. Handige commando's om te onthouden ...

  • sudo mtpfs -h ... geeft een lijst met de opties van het apparaat. Dit lijkt alleen te werken voordat je het apparaat hebt aangekoppeld. Dus controleer het eerst, misschien.
  • mtp-detect ... laat veel zien spul over het apparaat (onderdeel van mtp-tools).

Ik denk ook dat je de telefoon / het apparaat nodig hebt "op", open de schermbeveiliging als u die hebt, zodat het apparaat verbinding kan maken.

Ik heb gemerkt dat mijn USB-s mount als:

  • / Media / wil /USB-poort

Het kan dus logischer zijn om onder je gebruikersnaam te klikken in plaats van de "mtp" -stub. Bekijk ook de post: "Bevestiging van uw MTP Androids SD-kaart op Ubuntu", het heeft een paar nuttige suggesties en extra's.

referenties:

Ik heb mijn leiding genomen vanuit deze twee berichten:


7
2018-01-11 20:11



Hallo hoewel dit werkt, vind ik de MTP nog steeds te traag en vaak ook alsof mijn Linux-pc is vergrendeld. Ik steun de verdere opmerkingen over het gebruik van FTP. Ik heb wat gegraven en beveel de sshelper app. Het is erg handig, open source en volwassen. Werkt met Windows, Linux en Mac - of alles dat SSH ondersteunt. Makkelijk te gebruiken. Geef het een kans. - will


Dit is geen direct antwoord op het probleem, maar toch een oplossing.

Na het ervaren van inconsistenties met USB-connectiviteit, miste ik het .gvfs- en USB-systeem allemaal samen.

Ik installeerde een eenvoudige ftp-server op de Android en voila! Maak verbinding met de server (ofwel ftp met login of zonder, afhankelijk van hoe u kiest) van Nautilus / nemo / thunar en u vertrekt.

Syncronisatie van mappen wordt afgehandeld via OwnCloud en / of BitTorrentSync.

En de FTP via draadloos is veel sneller dan de USB-verbinding was.


6
2017-10-27 02:11





Ik heb een LG2-telefoon en ik gebruik Xubuntu 15.10.

Dit is hoe ik de mnt-directory van het apparaat heb aangekoppeld onder mijn gebruiker.

  1. Controleer eerst of de volgende pakketten in uw systeem zijn geïnstalleerd.

    sudo apt-get install jmtpfs mtp-tools
    
  2. Verbind uw telefoon als MTP-apparaat en typ de volgende opdracht in uw terminal.

    mtp-detect
    
  3. uncomment user_allow_other in bestand /etc/fuse.conf.

  4. Maak een map mnt in je thuismap.

    mkdir mnt
    
  5. Monteer het apparaat.

    jmtpfs ~/mnt
    
  6. Dat is het. Nu is uw apparaat onder de mnt map aangemaakt in stap 4.

Opmerking: er kunnen enkele stappen zijn die niet nodig zijn. Maar het volgen van de bovenstaande stappen werkte voor mij.

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


6
2017-12-16 06:00





MTP is een protocol, net als FTP of SSH. Het haalt bestanden op wanneer de gebruiker erom vraagt. Er is dus geen gekoppeld bestandssysteem op de computer.

Gebruik mtpfs om het op een gemount bestandssysteem te laten lijken.

mtpfs <a_folder_to_mount>

Het is niet nodig om het apparaat op te geven. Als er maar één apparaat is aangesloten, is er geen onduidelijkheid. Ik heb het niet getest met meerdere apparaten die op mijn computer zijn aangesloten.


4
2018-02-13 08:05