Ubuntu – Won’t Hibernate when Battery Critical

batteryhibernatepower-management

Ubuntu 12.04 64bit refuses to hibernate when battery is critically low. Instead it does a complete shutdown which is unnecessary and can cause loss of data.

I have enabled Hibernate (pm-hibernate) on following the common instructions I tested pm-hibernate it is works fine when run manually.

I have set my power options to hibernate "When Power is Critically Low". This has also been verified by using dconf Editor. Under org > gnome > settings-daemon > plugins > power > critical-battery-action it is set to "hibernate". Under the same schema, time-action is set to "120".

I would like to see what is happening just prior to this shutdown. I would like to know what logs to search to see if pm-hibernate is actually failing, or if it is being ignored entirely.

Barring figuring this out on my own, is there a suggested work around?

Best Answer

I found another solution for my Ubuntu 14.04 system. Maybe it works for you.

First, install laptop-mode-tools

sudo apt-get install laptop-mode-tools

Then, you must enable the auto-hibernate function. You must edit a text file:

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

There, look for ENABLE_AUTO_HIBERNATION parameter and replace the 0 with a 1:

ENABLE_AUTO_HIBERNATION=1

In the same file, you also want to adjust the battery charge percentage when the computer hibernates. For example:

AUTO_HIBERNATION_BATTERY_CHARGE_PERCENT=3

Save the file and test the configuration letting your battery discharge. If it works, you must set laptop-mode-tools as default, by creating a script:

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

Then, in gedit, copy and paste this:

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

Save the file, then restart the system and test again. I hope that it works for you.

In my opinion, it looks like something is interfering with the the gnome-power-manager. If someone else reproduces the problem, then we can report a bug.

References:

Tips for save power by Penalvch https://help.ubuntu.com/community/PowerManagement/ReducedPower#Using_less_power_with_laptop-mode-tools

Re: Getting Ubuntu to automatically suspend on battery low (command-line) by Isamu715 http://ubuntuforums.org/showthread.php?t=2092327&p=12394451#post12394451