Ubuntu 16.04デスクトップで、プラグインするとすぐにMTPを使用してマウントされた電話があります。これが発生するのは望ましくありません。実際には、コンピューターのUSB電源を充電するだけです。他のデバイスを接続するとき、それらを自動マウントしたいので、この特定のデバイスのデフォルトアクションのみを停止します。
どうすればこれを達成できますか?
まず、lsusb
を使用してデバイスのVendorIDとProductIDを見つけます。私のSamsung Galaxy S7 Edgeの場合、適切な行は以下のとおりです。
Bus 001 Device 029: ID 04e8:6860 Samsung Electronics Co., Ltd Galaxy (MTP)
---------------VendorID--^ : ^--ProductID
このデバイスが接続されている場所に関連付けられているディレクトリも必要です。/sys/bus/usb/devices/*/idProduct
を手動で探すか、@radu-rădeanuの この簡単なスクリプト を使用できます。
これを〜/ bin/findUSBbyID.shに保存し、chmod +x
に保存します。
#!/bin/bash
if [ $# -ne 2 ];then
echo "Usage: `basename $0` idVendor idProduct"
exit 1
fi
for X in /sys/bus/usb/devices/*; do
if [ "$1" == "$(cat "$X/idVendor" 2>/dev/null)" -a "$2" == "$(cat "$X/idProduct" 2>/dev/null)" ]
then
echo "$X"
fi
done
~/bin/findUSBbyID.sh 04e8 6860
として実行します。出力は次のようになります。
/sys/bus/usb/devices/1-1.2
この情報を使用して、/etc/udev/rules.d/90-disable-usb-device.rules
という新しいファイルを作成します。ルート権限が必要になるため、必要に応じてSudo
またはgksudo
お気に入りのエディターを使用します。
ファイルには、以下のような1行が含まれている必要があります。デバイスと一致するようにVendorIDとProductIDを修正します。また、findUSBbyID.shスクリプトで見つかった製品と一致するように/sys/bus/usb/devices/$something/authorized
パスを修正します。
ACTION=="add", ATTR{idVendor}=="04e8", ATTR{idProduct}=="6860", RUN="/bin/sh -c 'echo 0 > /sys/bus/usb/devices/1-1.2/authorized'"
「MTPデバイスをマウントできません」という別のポップアップが表示される場合があります。その問題は ここで議論されている です。