...我尝试搜索,但给出了大量“如何连接MTP设备”的信息
我只想知道如何在Nautilus设备列表中看到已连接的设备名称(如Nexus 10或Galaxy S5)。
...我尝试搜索,但给出了大量“如何连接MTP设备”的信息
我只想知道如何在Nautilus设备列表中看到已连接的设备名称(如Nexus 10或Galaxy S5)。
Answers:
我发现这出奇的艰难。我有一个Nexus 5,而KDE(libmtp
我认为是使用)将其显示为Nexus5。我的第一个直觉是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
您可以解析的输出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秒完成。