如何让我的 Ubuntu 12.04 在电池充满电时自动关机?

如何让我的 Ubuntu 12.04 在电池充满电时自动关机?

如果有人能给我一个脚本或类似的东西来实现我在标题中描述的功能,我会很高兴...

答案1

这是一个小型 Python 程序,它使用终端查看文件中的电池状态并使用定义的函数处理操作。这在一般情况下有效,但可能会有一点问题。它使用acpi监控电池状态的包“”。该程序是:

import commands
import pynotify
from threading import Timer


def battery_check():

    rem = float(commands.getoutput("grep \"^remaining capacity\" /proc/acpi/battery/BAT0/state | awk '{ print $3 }'"))
    full = float(commands.getoutput("grep \"^last full capacity\" /proc/acpi/battery/BAT0/info | awk '{ print $4 }'"))
    state = commands.getoutput("grep \"^charging state\" /proc/acpi/battery/BAT0/state | awk '{ print $3 }'")

    percentage = int((rem/full) * 100)

    if percentage == 100:
        pynotify.init("Battery Full! Now shutting down")
        os.system("sudo shutdown now -h -k") //shutdown command issued

    timer = Timer(300.0,battery_check)
    timer.start()

if __name__ == "__main__": battery_check()

相关内容