这脚本过去有效,然后针对 14.04 进行了更新。
#!/bin/bash
while true; do
val=$(sensors | awk '/temp1/ {print $2}')
max="+75.0"
if [[ "$val" > "$max" ]]; then
dbus-send --system --print-reply --dest="org.freedesktop.UPower" /org/freedesktop/UPower org.freedesktop.UPower.Suspend
fi
sleep 10
clear
sensors
done
exit 0
在 16.04 中会出现错误:
Error org.freedesktop.DBus.Error.UnknownMethod: No such method 'Suspend'
它可以更新以便在 16.04 中运行吗?
答案1
我决定投票关闭此问题并彻底更新另一个问题,我期待得到答案。
由于错误Error org.freedesktop.DBus.Error.UnknownMethod: No such method 'Suspend'
,在评论之后尼克西利托在这个问题下链接到这答案是,我以一种我认为相当野蛮的方式修改了脚本(我自己是 CL 文盲);我只是简单地替换了整个部分:
dbus-send --system --print-reply --dest="org.freedesktop.UPower" /org/freedesktop/UPower org.freedesktop.UPower.Suspend
和
systemctl suspend
正如评论中指出的那样怀安德雷亚:sleep 10
或者不应删除类似的值(正如我最初所做的那样);如果没有该行,修改后的脚本将使用更多的电量,因为它不是每 10 秒运行一次,而是尽可能快地运行 - 每秒运行几十次。
此时,当超过设定的水平时,系统将进入睡眠状态
max="+75.0"
因为我想要一个更高的值,82,所以我使用的脚本是:
#!/bin/bash
while true; do
val=$(sensors | awk '/temp1/ {print $2}')
max="+82.0"
if [[ "$val" > "$max" ]]; then
systemctl suspend
fi
sleep 10
clear
sensors
done
exit 0