电池电量不足时不会休眠

swy*_*cki 21 battery hibernate power-management

当电池电量严重不足时,Ubuntu 12.04 64bit 拒绝休眠。相反,它会完全关闭,这是不必要的,可能会导致数据丢失。

按照我测试过的常用说明启用了休眠(pm-hibernate)pm-hibernate 它在手动运行时工作正常。

我已将电源选项设置为“当电源严重不足时”休眠。这也已通过使用 dconf 编辑器进行了验证。在 org > gnome > settings-daemon > plugins > power > critical-battery-action 下,它被设置为“休眠”。在相同模式下,time-action 设置为“120”。

我想看看在这次关闭之前发生了什么。我想知道要搜索哪些日志以查看 pm-hibernate 是否真的失败了,或者它是否被完全忽略了。

除非我自己解决这个问题,是否有建议的解决方法?

小智 14

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

首先,安装laptop-mode-tools

sudo apt-get install laptop-mode-tools
Run Code Online (Sandbox Code Playgroud)

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

sudo gedit /etc/laptop-mode/conf.d/auto-hibernate.conf
Run Code Online (Sandbox Code Playgroud)

在那里,查找 ENABLE_AUTO_HIBERNATION 参数并将 0 替换为 1:

ENABLE_AUTO_HIBERNATION=1

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

AUTO_HIBERNATION_BATTERY_CHARGE_PERCENT=3

保存文件并测试配置,让您的电池放电。如果可行,您必须通过创建脚本将 notebook-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
Run Code Online (Sandbox Code Playgroud)

然后,在 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
Run Code Online (Sandbox Code Playgroud)

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

在我看来,看起来有些东西正在干扰 gnome-power-manager。如果其他人重现了该问题,那么我们可以报告错误。

参考:

Penalvch 的省电技巧https://help.ubuntu.com/community/PowerManagement/ReducedPower#Using_less_power_with_laptop-mode-tools

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


小智 3

我对 12.04 非精确电源监控也有同样的问题,有一些可能性:
\n(切入正题并避免言辞,请阅读最后一点 - 需要“修复”来恢复如此平凡和普通功能)

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

  2. \n
  3. 参考:
    \n Bug #993440 \xe2\x80\x9c在 pow 中没有关键电池状态的暂停选项...\xe2\x80\x9d : Bug : \xe2\x80\x9cgnome-control-center\xe2\x80\x9d 包: Ubuntu:
    \n解决方案: (手动劳动密集型)
    \n lp:~jlangvand/ubuntu/quantal/gnome-control-center/fix-for-993440

  4. \n
  5. pm-hibernate使用( pm-suspend)、watchupower等编写脚本(更加手动劳动密集型)grep来监视电池状态并在需要时采取操作。

    \n\n

    伪代码大纲:
    \nwatch每隔几分钟使用 定期将grep upower -d电池统计信息与进行比较gsettings get org.gnome.settings-daemon.plugins.power percentage-critical,并在超过阈值时进行比较sudo pm-hibernate

    \n\n

    粗略(仅在原型设计中,不可执行)草稿:(因电池电量百分比< 10%而暂停)
    \nupower --monitor-detail | grep "percentage[^\\d]+\\d\\.\\d*\\%" | bash pm-suspend

    \n\n

    一个优雅的解决方案

    \n\n
      \n
    • 中止进一步watch暂停
    • \n
    • 检查所有瞬态电源:UPS、三级电池、太阳能电池板(黄昏和云层时功率会减弱)等。
    • \n
    • 允许受限用户的非特权暂停(/休眠)
    • \n
  6. \n
\n\n

参考文献:

\n\n\n\n

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

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

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

\n