udev ルールが機能しません。

udev ルールが機能しません。

udevルールについてもっと知りたいので、単純なルールを実装しましたが、私にはうまくいきません。

/etc/udev/rules.d:

KERNEL=="sdb1"
ACTION=="add"

RUN+="~/test/exe.sh"

~/テスト/exe.sh:

#!/bin/bash
echo "USB plugged in" > ~/test/showup.txt

ファイルは.sh実行可能で、フラッシュドライブの名前を確認しましたlsblk。と呼ばれ、パーティションがsdbありますsdb1

別のチュートリアルを見つけましたが、エラーが見つかりませんでした。もしかしたら、私はArch Linuxを使っています。

ベストアンサー1

udevルールはrootによって実行されます。

RUN+="~/test/exe.sh" は "/root/test/exe.sh" と同じですが、udev ルールは "~" を認識しないようです。パスを変更すると、この問題を解決できます。

"/usr/bin/exe.sh"にスクリプトを置く方が良いかもしれません。

おすすめ記事