电池严重不足时不会休眠


21

电池电量严重不足时,Ubuntu 12.04 64bit拒绝休眠。而是执行完全关闭,这是不必要的,并且可能导致数据丢失。

我已按照我测试pm-hibernate 的常见说明启用了Hibernate(pm-hibernate),当手动运行时它可以正常工作。

我已将电源选项设置为休眠“电源严重不足时”。使用dconf编辑器也对此进行了验证。在org> gnome> settings-daemon>插件>电源> Critical-battery-action下,将其设置为“休眠”。在相同的模式下,时间动作设置为“ 120”。

我想看看关机之前发生了什么。我想知道要搜索哪些日志,以查看pm-hibernate实际上是否失败,或者是否被完全忽略了。

除非我自己弄清楚,是否有建议的解决方法?


发布的解决方案不考虑充电状态,如果您已接通电源,则可以继续工作。即:如果功率水平低于阈值且recharge_state不充电,则pm休眠(或pm暂停)。
user1956808 2013年

Answers:


14

我为我的Ubuntu 14.04系统找到了另一个解决方案。也许对您有用。

首先,安装笔记本电脑模式工具

sudo apt-get install laptop-mode-tools

然后,您必须启用自动休眠功能。您必须编辑一个文本文件:

sudo gedit /etc/laptop-mode/conf.d/auto-hibernate.conf

在此处查找ENABLE_AUTO_HIBERNATION参数,并将0替换为1:

ENABLE_AUTO_HIBERNATION = 1

在同一文件中,您还想在计算机休眠时调整电池充电百分比。例如:

AUTO_HIBERNATION_BATTERY_CHARGE_PERCENT = 3

保存文件并测试配置,以使电池放电。如果可行,则必须通过创建脚本将laptop-mode-tools设置为默认值:

sudo touch /etc/pm/sleep.d/10-laptop-mode-tools
sudo chmod a+x /etc/pm/sleep.d/10-laptop-mode-tools
sudo gedit /etc/pm/sleep.d/10-laptop-mode-tools

然后,在gedit中,复制并粘贴以下内容:

case $1 in
    hibernate)
        /etc/init.d/laptop-mode stop
        ;;
    suspend)
        /etc/init.d/laptop-mode stop
        ;;
    thaw)
        /etc/init.d/laptop-mode start
        ;;
    resume)
        /etc/init.d/laptop-mode start
        ;;
    *)
        echo Something is not right.
        ;;
esac

保存文件,然后重新启动系统并再次测试。我希望它对您有用。

我认为,这似乎在干扰gnome-power-manager。如果其他人重现了问题,那么我们可以报告错误。

参考文献:

Penalvch节省电量的提示 https://help.ubuntu.com/community/PowerManagement/ReducedPower#Using_less_power_with_laptop-mode-tools

回复:Isamu715让Ubuntu自动将电池电量不足(命令行)挂起http://ubuntuforums.org/showthread.php?t=2092327&p=12394451#post12394451


1
请注意那些必须安装笔记本电脑模式工具的用户:拔下笔记本电脑2秒后,鼠标可能会关闭。我通过打开/etc/laptop-mode/conf.d/usb-autosuspend.conf并将其更改AUTOSUSPEND_USBTYPE_BLACKLIST=""为来解决此问题AUTOSUSPEND_USBTYPE_BLACKLIST="usbhid usb-storage"。详细说明在这里
汇总

3

我/曾经在12.04非精确功率监控中遇到过相同的问题,有一些可能性:(
切入正题,避免修辞学读到最后一点-令人讨厌的是,需要“修复”来恢复这种平凡的普通功能)

  1. Unity和12.04不提供10.04的功能,该功能具有更强大的可靠性,尤其是电源管理,因此我选择使用回归。计算系统环境(Debian,GNU,Linux等)的复杂成熟要求高度可比的严格规范来一致地保留和修改功能。因此,包括电源管理在内的几种完善的软件范例已经退化并受到损害。

  2. 参考:
    错误#993440“电源处于临界状态时没有暂停选项...”:错误:“ gnome-control-center”软件包:Ubuntu:
    解决方案:(手动劳动密集型)
    lp:〜jlangvand / ubuntu / quantal / gnome -control-center / fix-for-993440

  3. 写一个脚本使用(更多手动劳动密集型)pm-hibernatepm-suspend), ,,watchupowergrep等,以监视电池状态并在必要时采取行动。

    伪代码概述:每隔几分钟
    使用watch一次,以在超过阈值时定期将grep upower -d电池状态gsettings get org.gnome.settings-daemon.plugins.power percentage-critical与进行比较sudo pm-hibernate

    原始(仅在原型中,不可执行)草稿:(任何电池的暂停百分比<10%)
    upower --monitor-detail | grep "percentage[^\d]+\d\.\d*\%" | bash pm-suspend

    优雅的解决方案

    • 中止进一步watch中止
    • 检查所有瞬态电源:UPS,三次电池,太阳能电池板(在黄昏和云层时功率会减少)等。
    • 允许受限用户进行非特权暂停(/休眠)

参考:

电池性能可通过以下方法检查:

  • upower
    • watch -d upower -i /org/freedesktop/UPower/devices/battery_BAT0
    • upower --monitor-detail | grep percentage
  • gnome-power-statistics

如何使用终端检查电池状态?
如何找到电池的放电率?


acpi还可以获取电池电量。
同构2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.