(Ubuntu 16.04).rulesファイル/etc/udev/rules.d/が機能しないようです。

(Ubuntu 16.04).rulesファイル/etc/udev/rules.d/が機能しないようです。

私が達成する計画:

特定のSDカードを挿入すると、自動的にスクリプトを実行しようとします。

事実:

ㅏ。私が実行したいスクリプトは、次のスクリプトを含む/home/vivek/Desktop/Message.shにあります。その権限は実行可能ファイルに設定されます。

#!/bin/sh
echo "Card is now inserted"

b。 /etc/udev/rules.dでは、私のルールファイル名は10-local.rulesで、次のルールが含まれています。

ENV{ID_FS_UUID}=="C097-C12A", ACTION == "add", RUN+="/bin/sh /home/vivek/Desktop/Message.sh"

氏。 udevadmが私のSDカードのENV {ID_FS_UUID}を次のように検出しました。

ここに画像の説明を入力してください。

d。以下の図に示すように、私の/etc/udev/rules.d/にあるルールファイルが処理されており、「udevadm test」によって見つかりました。

ここに画像の説明を入力してください。

質問: SDカードを入れるとうまく設置できました。しかし、私のスクリプトは決して実行されません!助けてくれてありがとう。

乾杯

答え1

問題は、ルールファイルが10-local.rules実行リストに早すぎるのかもしれないと思います。システムが要求する場合は、名前を変更して95-local.rulesルールを再ロードすると、より多くの成功を収めることができます。sudo udevadm control --reloadudevには出力がないため、echoスクリプトの銀ファイルを指す必要があります。

udevadm info最初に表示される値は、前のルールによって設定されたプロパティである可能性がE:あるため、ルールをできるだけ遅く配置する必要があります。ENV{}

関連情報