如何在交换机上自动运行脚本
因此,当我开始使用AC时,我不想运行它,而当开始使用电池工作时,这个或更好的其他脚本
我试过了
- /etc/acpi/power.sh
- 将符号链接添加到/ etc / laptop-mode / battery-start
它似乎不起作用
您应该能够使用/etc/pm/power.d
的脚本执行所需的操作。 引用pm-utils
的HOWTO.hooks
文件:
如何编写pm-utils钩子:
参数
pm-utils钩子只是一个可接受至少一个参数的可执行文件。
对于power.d中的钩子,该参数的潜在值为:
- true – 当系统转换为电池电源时,挂钩必须执行适当的操作。
- false – 当系统从电池电源转换时,挂钩必须执行适当的操作。
您可能还想阅读/usr/lib/pm-utils/power.d
一些现有电源挂钩,以获取有关如何构建脚本的想法。
请注意,如果您使用pm-utils
接口,您将被告知是否通过第一个参数使用交流电源:如果$1
为true
,那么您将切换到电池电量,如果它是false
那么你正在切换回主电源。
我通过使用acpi实现了类似的目标。
使用/ usr / bin / acpi_listen来捕获你想要的acpi事件,在我的lapttop上,切换到电池时触发的事件是“ac_adapter ACPI0003:00 00000080 00000000”。 所以我创建了一个新事件:/ etc / acpi / events / switch-to-battery,下面是内容:
event=ac_adapter ACPI0003:00 00000080 00000000 action=/etc/acpi/switch-to-battery.sh
只需在ac_adapter.sh中执行任何操作即可。 如果安装了acpi-support,可以找到更多示例。
最后,执行此命令以使新事件生效。
sudo service acpid restart
这不是真正正确的问题。 我得到一些错误,但现在我纠正了我的power.sh并且它有效
if on_ac_power; then echo 0 > /home/riad/1 #on ac else echo 1 > /home/riad/1 #on battery fi
它的工作原理