5

電源を接続/切断するときに、udevにいくつかの小さなスクリプトを実行させようとしています。/etc/udev/rules.d/50-caff.rulesに次のコードがあります:

SUBSYSTEM=="power_supply", ENV{POWER_SUPPLY_STATUS}=="Charging", RUN+="/home/haukur/rules/off.sh"
SUBSYSTEM=="power_supply", ENV{POWER_SUPPLY_STATUS}=="Discharging", RUN+="/home/haukur/rules/on.sh"

これがon.shです:

#!/bin/sh
caffeine -a

およびoff.sh:

#!/bin/sh
caffeine -d

とにかく、私はこれらを書きudevadm control --reload-rules、bashに書き、そして...何も起こりませんでした。電源を抜き差ししてもカフェインがまったく効かないようです。

/var/log/syslog(Ubuntuの代わりの)によると、/var/log/messagesudevはプラグを抜くと次のように認識します。

Feb 26 08:44:52 (none) udevd[3838]: starting '/home/haukur/rules/off.sh'

しかし、off.sh(それ自体がカフェインを実行しようとします)を実行しようとすると、次のエラーが返されます。

udevd[2719]: '/home/haukur/rules/off.sh'(err) '** (caffeine:3840): WARNING **: Command line `dbus-launch --autolaunch=62907743a139af9b3c86412e00000026 --binary-syntax --close-stderr' exited with non-zero exit status 1: Autolaunch error: X11 initialization failed.\n'

これを回避する方法を知っていますか?xmonadWMでUbuntu12.04LTSを実行します。

4

1 に答える 1