udevルール80-wacom.rulesがあります。
SUBSYSTEM=="usb", ACTION=="add", RUN+="/usr/local/bin/wacom.sh"
wacom.sh
私が理解しているのは、USBデバイスが接続されている限り実行されることです。
実際に実行時間をファイルに記録して実行されたことを確認しました。
#!/bin/bash
/usr/bin/date >> /tmp/udev.log;
/usr/bin/xsetwacom set `/usr/bin/xsetwacom --list |grep -i stylus |awk {'print $6'}` MapToOutput HEAD-0;
/usr/bin/xsetwacom set `/usr/bin/xsetwacom --list |grep -i eraser |awk {'print $6'}` MapToOutput HEAD-0
デバイスが接続されるたびに、タイムスタンプはログファイルに書き込まれますが、他の重要な2行のコードは実行されていません。
スクリプトを直接実行すると、タイムスタンプがログファイルに表示され、残りの2行のコードが期待どおりに実行されます。
したがって、udev ルールが実行されます。スクリプトが実行されます。ただし、udevルールによって実行されるスクリプトは期待どおりに実行されません。スクリプトの先頭に遅延を追加してみましたが、問題は解決しませんでした。
私は何をすべきかわかりません。どんな洞察力でも大変感謝いたします。