如何更新脚本(在给定的cpu temp下进入睡眠状态)为16.04

这个脚本过去有效,然后更新为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工作吗?

我决定投票结束这个并从根本上更新另一个问题 ,我希望得到答案。


由于错误是Error org.freedesktop.DBus.Error.UnknownMethod: No such method 'Suspend' ,在Nick Sillito根据这个问题链接到这个答案的评论之后,我已经修改了我希望是一个相当的脚本野蛮的方式(我自己是CL-illiterate); 我只是替换了整个部分:

  dbus-send --system --print-reply --dest="org.freedesktop.UPower" /org/freedesktop/UPower org.freedesktop.UPower.Suspend 

  systemctl suspend 

如wjandreea的评论所示 :不应该删除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