...検索を試しましたが、「MTPデバイスを接続する方法」がたくさんあります
Nautilusデバイスリストに表示される(Nexus 10またはGalaxy S5)などの接続デバイス名を取得する方法を知りたいだけです。
...検索を試しましたが、「MTPデバイスを接続する方法」がたくさんあります
Nautilusデバイスリストに表示される(Nexus 10またはGalaxy S5)などの接続デバイス名を取得する方法を知りたいだけです。
回答:
これは驚くほど難しいことがわかりました。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
の出力を解析できます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秒かかりました。