私も同じ問題を抱えていました。これは私のために働いた:
スクリプトを /usr/local/bin
にコピーしてみてください .rules
のディレクトリを変更します ファイル。
また、SYSFS が何かはわかりませんが、ATTR プロパティを使用したいと思います。
次の行は、私の .rules
の内容です ファイル:
ACTION=="add", SUBSYSTEM=="block", KERNEL=="sd[a-z]1", ATTRS{vendor}=="SanDisk ", RUN+="/usr/local/bin/backup.sh"
notify-send
DBus セッション バスへのアクセスが必要ですが、次の 2 つの理由でアクセスできません:
-
セッションに関する情報はありません。 udev で起動すると、スクリプトは何も認識しません ログインしている場所、またはログインしているかどうかについて。 X11 でのマルチシートはまだトリッキーですが、ユーザーの切り替えは X11 とコンソール セッションの両方で機能します。また、多くの人がネットワーク上で SSH、VNC、および NX を使用しています。
(
DISPLAY=:0
半分の時間は機能しますが、それはまだ 推測 です せいぜい。) -
DBus ポリシーにより拒否されました。スクリプトが何らかの方法で X11 セッションを見つけたとしても、スクリプトが
root
として実行されているため、通知を送信できません。