- Bearbeitet
Hallo,
ich habe ein sonderbares Problem mit meiner Udev Regel. Diese soll abhaengig vom Ladezustand meines Laptops ein Skript starten. Soweit so schoen:
In journalctl -b findet sich kein Hinweis:
Folgende Regel fuehrt den echo Command uebrigens auch nicht aus:
ich habe ein sonderbares Problem mit meiner Udev Regel. Diese soll abhaengig vom Ladezustand meines Laptops ein Skript starten. Soweit so schoen:
[orschiro@thinkpad ~]$ udevadm monitor
monitor will print the received events for:
UDEV - the event which udev sends out after rule processing
KERNEL - the kernel uevent
KERNEL[5852.805124] change /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/ACPI0003:00/power_supply/AC (power_supply)
UDEV [5852.815563] change /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/ACPI0003:00/power_supply/AC (power_supply)
KERNEL[5852.904798] change /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00/power_supply/BAT0 (power_supply)
UDEV [5852.905531] change /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00/power_supply/BAT0 (power_supply)
KERNEL[5852.905685] change /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00/power_supply/BAT0 (power_supply)
UDEV [5852.906481] change /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00/power_supply/BAT0 (power_supply)
KERNEL[5858.631618] change /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/ACPI0003:00/power_supply/AC (power_supply)
UDEV [5858.653955] change /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/ACPI0003:00/power_supply/AC (power_supply)
KERNEL[5858.733221] change /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00/power_supply/BAT0 (power_supply)
UDEV [5858.734939] change /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00/power_supply/BAT0 (power_supply)
Meine Regel(n):
#/etc/udev/rules.d/50-powersave-1.rules
ACTION=="change", SUBSYSTEM=="power_supply", ENV{POWER_SUPPLY_ONLINE}=="0", RUN+="/home/orschiro/Scripts/powersaving battery"
ACTION=="change", SUBSYSTEM=="power_supply", ENV{POWER_SUPPLY_ONLINE}=="1", RUN+="/home/orschiro/Scripts/powersaving AC"
#/etc/udev/rules.d/50-powersave-2.rules
SUBSYSTEM=="power_supply", ENV{POWER_SUPPLY_ONLINE}=="0", RUN+="/home/orschiro/Scripts/powersaving battery"
SUBSYSTEM=="power_supply", ENV{POWER_SUPPLY_ONLINE}=="1", RUN+="/home/orschiro/Scripts/powersaving AC"
Das Skript wird nicht ausgefuehrt, funktioniert wenn ich es manuell starte aber einwandfrei.In journalctl -b findet sich kein Hinweis:
Feb 16 09:41:15 thinkpad kernel: thinkpad_acpi: EC reports that Thermal Table has changed
Feb 16 09:41:18 thinkpad hdapsd[615]: parking
Feb 16 09:41:18 thinkpad kernel: thinkpad_acpi: EC reports that Thermal Table has changed
Feb 16 09:41:19 thinkpad hdapsd[615]: un-parking
Feb 16 09:41:21 thinkpad kernel: e1000e 0000:00:19.0: irq 44 for MSI/MSI-X
Feb 16 09:41:21 thinkpad sudo[11379]: orschiro : TTY=pts/1 ; PWD=/home/orschiro ; USER=root ; COMMAND=/usr/bin/journalctl -b
Feb 16 09:41:21 thinkpad sudo[11379]: pam_unix(sudo:session): session opened for user root by orschiro(uid=0)
Feb 16 09:41:51 thinkpad sudo[11406]: orschiro : TTY=pts/5 ; PWD=/home/orschiro ; USER=root ; COMMAND=/usr/bin/udevadm control --reload
Feb 16 09:41:51 thinkpad sudo[11406]: pam_unix(sudo:session): session opened for user root by orschiro(uid=0)
Feb 16 09:41:51 thinkpad sudo[11406]: pam_unix(sudo:session): session closed for user root
Feb 16 09:41:54 thinkpad sudo[11379]: pam_unix(sudo:session): session closed for user root
Feb 16 09:41:55 thinkpad kernel: thinkpad_acpi: EC reports that Thermal Table has changed
Feb 16 09:41:58 thinkpad kernel: thinkpad_acpi: EC reports that Thermal Table has changed
Feb 16 09:41:59 thinkpad sudo[11547]: orschiro : TTY=pts/1 ; PWD=/home/orschiro ; USER=root ; COMMAND=/usr/bin/journalctl -b
Feb 16 09:41:59 thinkpad sudo[11547]: pam_unix(sudo:session): session opened for user root by orschiro(uid=0)
Feb 16 09:42:00 thinkpad kernel: e1000e 0000:00:19.0: irq 44 for MSI/MSI-X
Feb 16 09:42:09 thinkpad sudo[11547]: pam_unix(sudo:session): session closed for user root
Feb 16 09:42:10 thinkpad sudo[11611]: orschiro : TTY=pts/1 ; PWD=/home/orschiro ; USER=root ; COMMAND=/usr/bin/journalctl -b
Feb 16 09:42:10 thinkpad sudo[11611]: pam_unix(sudo:session): session opened for user root by orschiro(uid=0)
Die Regel wird vom System aber definitv erkannt. Habe testweise mal einen Fehler eingebaut und siehe da, sie erscheint im Log:Feb 16 09:41:15 thinkpad systemd-udevd[136]: invalid ACTION operation
Feb 16 09:41:15 thinkpad systemd-udevd[136]: invalid rule '/etc/udev/rules.d/50-powersave.rules:1'
Feb 16 09:41:15 thinkpad systemd-udevd[136]: invalid ACTION operation
Feb 16 09:41:15 thinkpad systemd-udevd[136]: invalid rule '/etc/udev/rules.d/50-powersave.rules:2'
Hat jemand von euch eine Idee, warum die Regel mein Skript nicht ausfuehrt?Folgende Regel fuehrt den echo Command uebrigens auch nicht aus:
ACTION=="change", SUBSYSTEM=="power_supply", ENV{POWER_SUPPLY_ONLINE}=="0", RUN+="/usr/bin/echo test >> /home/orschiro/test"
ACTION=="change", SUBSYSTEM=="power_supply", ENV{POWER_SUPPLY_ONLINE}=="1", RUN+="/usr/bin/echo test2 >> /home/orschiro/test"