Mam telefon z Androidem, który łączy się z moim komputerem przez MTP. To działa dobrze; Widzę i przesyłam pliki za pomocą Nautilus. Jednak często chcę używać terminala do przenoszenia dużej liczby plików i nie mogę znaleźć urządzenia w dowolnym miejscu w drzewie systemu plików. Nautilus zgłasza lokalizację jako mtp://[usb:003,007]/
, ale nie znajduje się pod /media
lub /mnt
.
Czy ktoś wie gdzie to jest?
mtp
mountpoint
bessman
źródło
źródło
Odpowiedzi:
Jak już się dowiedziałeś , punkty montowania znajdują się w
/run/user/$USER/gvfs/
(lub/var/run/user/$UID/gvfs
) i są nazwane na podstawie protokołu, typu połączenia i adresu, którego używają. Co sprawia, że jest trudniej, ponieważ adres połączenia może się zmieniać za każdym razem, gdy ponownie uruchamiasz urządzenie, nawet jeśli jest to ten sam port. Jeśli masz to samo urządzenie dwa razy, staje się jeszcze gorzej.Możesz użyć
lsusb
do wyświetlenia wszystkich podłączonych urządzeń USB z terminala:Jak zauważyłeś, Nautilus podaje również te informacje za pomocą podpowiedzi. Znajdziesz zakodowaną formę np.
mtp://[usb:002,025]
W/run/user/$USER/gvfs
(lub/var/run/user/$UID/gvfs
) asmtp:host=%5Busb%3A002%2C025%5D
Edycja pytającego: Wydaje się, że wymaga to nowszej wersji libmtp i / lub gvfs niż domyślnie dostępna w 13.04. Uruchom
sudo add-apt-repository ppa:langdalepl/gvfs-mtp
i zaktualizuj, zanim zrobisz cokolwiek innego.Edycja: PPA nie jest już potrzebne w saucy / 13.10 i nowszych, nazwy plików są wymienione w terminalu, tak jak w Nautilusie.
Edytuj 2016-01-11: Usunąłem skrypt, który był wcześniej zawarty w tej odpowiedzi z powodu braku czasu na konserwację i ulepszenia. Nadal można go znaleźć w historii zmian.
źródło
/DCIM/Camera/
istnieje w moim telefonie, ale nazywa się w terminalu/2404/2407/
. To jest problem. Jeślicd
wejdę/2404/2407/
i ucieknęnautilus .
, to/DCIM/Camera/
zostanie otwarty. Telefon jest odblokowany, inaczej nie byłbym w stanie uzyskać do niego dostępu za pomocą Nautilusa, prawda?gvfs-fuse
zainstalowany pakiet. Nie wszystkie wersje / smaki Ubuntu mają to domyślnie (np. Ubuntu MATE 14.10 nie ma). Bez niego urządzenie MTP nie zostanie zamontowane jako ścieżka lokalna i będą mogły być używane tylko przez aplikacje obsługujące identyfikatory URI gvfs.gvfs/
katalog. Jednak zamiast $ USER, ścieżka na tym komputerze to:/run/user/1000/gvfs/mtp:host=%5Busb%3A003%2C003%5D
- Dla innych sugeruję, abyś po prostu się wyśmiewał, jeśli nie znajdziesz go od razu.Dostęp do pamięci mojego urządzenia Nexus można uzyskać pod adresem:
Jeśli więc masz $ UID
1000
, możesz go znaleźć, wykonując jedno z tych działańlub (dla dokładnej lokalizacji w przykładzie przy założeniu, że UID to 1000),
źródło
mtp*
nazwa pliku może zostać zmieniona w celu użycia w aplikacjach Wine? Naiwnymv
daje mimv: cannot move 'mtp:host=%5Busb%3A001%2C065%5D' to 'mtp': No such file or directory
(pamiętaj, że nazwa pliku jest uzupełniona tabulatorami)/run/user/1000/gvfs
folder telefonu jest pusty.MTP
zamontowane urządzenie zwykle można znaleźć w:/run/user/1000/gvfs/
na przykład jeśli wyświetla się pasek adresu Nautilus
mtp://[usb:001,006]/
, możesz uzyskać dostęp poprzez:teraz na terminalu możesz kopiować pliki lub foldery:
cd /run/user/1000/gvfs/mtp\:host=%5Busb%3A001%2C006%5D/
cp -r ~/videos/ .
źródło
Typ
mount
. Spowoduje to wyświetlenie listy każdego aktywnego systemu plików.źródło
lsof -c nautilus | less
aby wyświetlić listę wszystkich plików plików otwartych przez Nautilus.Działa to z:
Spróbuj tego:
apt-get install mtpfs
apt-get install mtp-tools
#
tak może być jedna linia (jest to opcjonalne )sudo mkdir -p /media/mtp/phone
sudo chmod 775 /media/mtp/phone
#
Osobiście ograniczyłem uprawnienia do NO-eXecute#
W tym momencie nie jestem pewien, co wystarczy do zamontowania.sudo mtpfs -o allow_other /media/mtp/phone
ls -lt /media/mtp/phone
wynik:
ls -lt /media/mtp/phone/Card
wynik:
Dostęp do karty SD na moim telefonie z Androidem. „ Listy odtwarzania ” to wirtualny katalog o nazwie „/ Listy odtwarzania”, który zawiera listy odtwarzania w postaci plików .m3u. (za
man mtpfs
)To wydaje się załatwić sprawę. Przydatne polecenia do zapamiętania ...
sudo mtpfs -h
... wyświetla opcje urządzenia. Wydaje się, że działa to tylko przed zamontowaniem urządzenia. Więc sprawdź najpierw.mtp-detect
... pokazuje wiele rzeczy na temat urządzenia (część narzędzi mtp).Myślę też, że potrzebujesz włączonego telefonu / urządzenia , otwórz wygaszacz ekranu, jeśli taki masz, aby urządzenie mogło się połączyć.
Zauważyłem, że mój uchwyt USB-s jako:
Dlatego może być bardziej sensowne montowanie pod nazwą użytkownika zamiast kodu pośredniczącego „mtp”. Przeczytaj także post: „ Montowanie karty SD z Androidem MTP na Ubuntu ”, zawiera kilka przydatnych sugestii i dodatków.
Bibliografia:
Objąłem prowadzenie z tych dwóch postów:
źródło
Mam telefon LG2 i korzystam z Xubuntu 15.10.
W ten sposób podłączyłem urządzenie do katalogu mnt pod moim użytkownikiem.
Najpierw upewnij się, że masz zainstalowane następujące pakiety w systemie.
Podłącz telefon jako urządzenie MTP i wpisz następujące polecenie w swoim terminalu.
Odkomentowanie
user_allow_other
w pliku/etc/fuse.conf
.Utwórz katalog
mnt
w swoim katalogu domowym.Zamontuj urządzenie.
Otóż to. Teraz urządzenie jest zamontowane w
mnt
katalogu utworzonym w kroku 4 .Uwaga: niektóre kroki mogą być niepotrzebne. Ale wykonanie powyższych kroków działało dla mnie.
Odniesienie: https://wiki.archlinux.org/index.php/MTP
źródło
To nie jest bezpośrednia odpowiedź na problem, ale rozwiązanie.
Po doświadczeniu niespójności z łącznością USB, ominąłem wszystkie .gvfs i system USB.
Zainstalowałem prosty serwer ftp na Androida i voila! Połącz się z serwerem (ftp z loginem lub bez, w zależności od wyboru) z Nautilus / nemo / thunar i gotowe.
Synchronizacja folderów jest obsługiwana przez OwnCloud i / lub BitTorrentSync.
A FTP przez sieć bezprzewodową jest znacznie szybszy niż połączenie USB.
źródło
MTP jest protokołem, podobnie jak FTP lub SSH. Pobiera pliki, gdy użytkownik o to poprosi. Dlatego na komputerze nie ma zamontowanego systemu plików.
Użyj mtpfs, aby wyglądał jak podłączony system plików.
Nie trzeba określać urządzenia. Jeśli masz podłączone tylko jedno urządzenie, nie ma dwuznaczności. Nie testowałem tego z wieloma urządzeniami podłączonymi do mojego komputera.
źródło
Nie wiem dokładnie, jak przechodzić do lokalizacji MTP przez terminal. Dowiedziałem się jednak, że możemy kliknąć prawym przyciskiem myszy kartę Pamięć wewnętrzna / SD i wybrać opcję „Otwórz w terminalu”. W ten sposób lokalizacja zostanie otwarta bezpośrednio w terminalu.
źródło
Jestem w stanie zarządzać plikami na MTP podłączone urządzenia z systemem Android przy użyciu
gvfs-*
poleceń (npgvfs-cp
,gvfs-move
...), które są również wymienione w poniższym artykule Wikipedia : Gvfs .Napisałem proste narzędzie CLI do synchronizacji plików do / z urządzenia z systemem Android: https://github.com/DusanMadar/PySyncDroid
źródło