Як отримати ім'я пристрою MTP


11

... Я спробував пошук, але це дає тони "як підключити пристрої MTP"

Мені просто хочеться дізнатися, як отримати назву підключеного пристрою типу (Nexus 10 або Galaxy S5), яке я бачу у списку пристроїв Nautilus.

Відповіді:


13

Я вважав це напрочуд жорстким. У мене Nexus 5 і KDE ( libmtpя думаю, що він використовує ) відображає його як Nexus 5. Першим моїм інстинктом було те, що KDE просто переглядав апаратну базу даних. Це відображає рядки постачальників та продуктів від USB-пристроїв до відомих імен. Ось проблема:

$ lsusb
Bus 002 Device 011: ID 18d1:4ee1 Google Inc. Nexus 4

Мій Nexus 5 щойно зменшився! Тож KDE не отримує його звідти.

Ми можемо використовувати udevadmдля запиту пристроїв. У цьому випадку нам потрібно передати його посиланням на пристрій. Я буду використовувати номери шини / пристрою зверху (їх потрібно %03dвідформатувати, тому 1 стає 001, 20 стає 020 тощо):

$ 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
...

Там багато інших лайна, але, ID_MODELздається, те, що ми хочемо. Якщо вам потрібно додатково витягти та обробити це, ви можете запустити його awk(або інше), щоб очистити його та замінити підкреслення:

$ ... | awk -F'=' '/ID_MODEL=/{gsub("_"," ");print $2}'
Nexus 5

оскільки я запускаю його з скрипту udev / правила $ env {ID_MODEL} працює як шарм, дякую
Андрій Матук

Ах, ще краще.
Олі

8

Ви можете проаналізувати вихід mtp-detect.

Перша установка mtp-tools:

sudo apt-get install mtp-tools

І біжіть:

$ mtp-detect 2>/dev/null | grep Model:
    Model: Nexus 7 (2013) Wi-Fi

Я намагався уникати залежностей, але все-таки дякую
Андрій Матук

Я подивився, mtp-detectале знайшов це серйозно повільно. Тут знадобилося 40 секунд.
Олі

@Oli: Щойно підключений мій Nexus 7, це майже миттєво, дивно. Але дивлячись на udev - це також хороший вибір :)
Сільвен Піно
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.