... Próbowałem wyszukać, ale daje mnóstwo „jak podłączyć urządzenia MTP”
Chcę tylko wiedzieć, jak uzyskać nazwę podłączonego urządzenia, takiego jak (Nexus 10 lub Galaxy S5), które widzę na liście urządzeń Nautilus.
... Próbowałem wyszukać, ale daje mnóstwo „jak podłączyć urządzenia MTP”
Chcę tylko wiedzieć, jak uzyskać nazwę podłączonego urządzenia, takiego jak (Nexus 10 lub Galaxy S5), które widzę na liście urządzeń Nautilus.
Odpowiedzi:
Zaskoczyło mnie to. Mam Nexusa 5 i KDE ( libmtp
myślę, że go używa ) wyświetla go jako Nexusa 5. Mój pierwszy instynkt polegał na tym, że KDE po prostu patrzyło na sprzętową bazę danych. Odwzorowuje ciągi znaków dostawców i produktów z urządzeń USB na znane nazwy. Oto problem:
$ lsusb
Bus 002 Device 011: ID 18d1:4ee1 Google Inc. Nexus 4
Mój Nexus 5 właśnie został obniżony! Więc KDE nie otrzymuje tego stamtąd.
Możemy użyć udevadm
do zapytania urządzeń. W takim przypadku musimy przekazać mu odniesienie do urządzenia. Będę używał numerów magistrali / urządzeń z góry (muszą być %03d
sformatowane, więc 1 zmienia się na 001, 20 zmienia się na 020 itd.):
$ udevadm info --name=/dev/bus/usb/002/011
...
E: ID_MODEL=Nexus_5
E: ID_MODEL_ENC=Nexus\x205
E: ID_MODEL_FROM_DATABASE=Nexus 4
...
Jest tam wiele innych bzdur, ale ID_MODEL
wydaje się, że tego chcemy. Jeśli potrzebujesz go wyodrębnić i przetworzyć, możesz go uruchomić awk
(lub inny), aby go wyczyścić i zastąpić podkreślenie:
$ ... | awk -F'=' '/ID_MODEL=/{gsub("_"," ");print $2}'
Nexus 5
Możesz przeanalizować dane wyjściowe z mtp-detect
.
Pierwsza instalacja mtp-tools
:
sudo apt-get install mtp-tools
I biegnij:
$ mtp-detect 2>/dev/null | grep Model:
Model: Nexus 7 (2013) Wi-Fi
mtp-detect
, ale okazało się, że poważnie powoli. Wykonanie tutaj zajęło 40 sekund.