GNU/Linux >> Linux の 問題 >  >> Linux

udev ルールを使用して USB 挿入時にスクリプトを実行する

私も同じ問題を抱えていました。これは私のために働いた:

スクリプトを /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 として実行されているため、通知を送信できません。


Linux
  1. cronラッパースクリプトの使用

  2. bash スクリプトを使用した telnet セッションの自動化

  3. ログイン後に bash スクリプトを実行する

  1. サーバーでスケジューラを使用してノードjsスクリプトを自動的に実行するにはどうすればよいですか

  2. 転送された X11 セッションで実行する最速のブラウザー

  3. Udev :ネットワーク インターフェイスの名前を変更する

  1. USBデバイスが削除されたときにシェルスクリプトでイベントをトリガーする方法は?

  2. インタラクティブシェルのセッションのプロセスとスクリプトのプロセス?

  3. スクリプトを実行する方法??