2

On Mac OS a laptop will suspend to RAM when you shut the lid, when its been asleep for a certain (configurable) amount of time it will hibernate. This is generally good, since you get the fast sleep/wake advantages of suspend and the power saving goodness of hibernate.

Is there any similar thing for Ubuntu?

[I'm currently using Kubuntu 18.04 and loving it, though even suspend doesn't seem to work properly on my XPS 9560, but I guess that's another question]

  • “its been asleep for a certain (configurable) amount of time it will hibernate” Can you provide a source? This contradicts my experience with Mac laptops, at least it does not depend on time (moreover, configurable?!) but on the battery status. See apple.stackexchange.com/q/260578/90319. And I think firmware (BIOS) support is required for reaction to low battery. – Melebius Jun 20 '18 at 10:04
  • 1
    @user68186 That’s exactly what my older MacBook (Late 2007) does. It’s easier than waking up when the battery gets low. And I think you could expand your comment a little and convert it to an answer. You can then ping me for a free upvote. – Melebius Jun 20 '18 at 11:10
  • I'm going to guess part of the misconception here is that Mac OS is not actually going to sleep the moment the lid is closed its probably just turning the monitor and devices off before some time passes in which it will go into hybrid sleep which works funtionally the same as Linux and Windows where the system state is saved both in RAM and the HDD. – jdwolf Jun 20 '18 at 11:45
  • 1
    Melebius: I don't have a source, I'm not going to spend time googling it so you don't have to! But I did use Macs at work for years and tweaked the "time delay before deep sleep" using the command pmset -a standbydelay $delay_seconds. Just to be clear, I was citing Macs as an example of the sort of thing that can be done, I'm not saying they're better or worse, just that I'd like for my Linux laptop not to run out of charge overnight. It's possible there's something else stopping it from sleeping properly. – pogul Jun 20 '18 at 12:22
  • @pogul Thank you for mentioning the pmset command, I was able to find some reference using it. – Melebius Jun 20 '18 at 13:10
5

In Ubuntu 18.04 LTS and above suspend-then-hibernate works similarly

In this mode laptop sleeps or suspends to RAM when the lid is closed of a button is pressed. After a certain time that has been pre-set, the laptop will wake up and write the data in RAM to disk, and enter hibernate mode.

The advantage is, the laptop suspends (sleeps) more quickly when close the lid. If you wake it up before the pre-set time it resumes quickly as well. If you don't wake the it up before the pre-set time it automatically saves battery in hibernate mode shut-down.

In Ubuntu 17.10 and below hybrid-sleep was the closest

In this mode the data in RAM is written to disk for hibernating before the laptop entered sleep (also known as suspend) mode. If the battery gets critically low while sleeping, the laptop goes into hibernation before turning off power, so the data in RAM is not lost.

In case the battery is drained out while the laptop was in hybrid sleep mode, plugging it into the power socket and powering it up will bring it back to the state when the lid was closed to put the laptop to sleep.

See What is hybrid suspend for some more explanations.

From the Ubuntu manpage on systemd power-saving mode:

systemd supports four general power-saving modes:

suspend
    a low-power state where execution of the OS is paused, and complete power loss might
    result in lost data, and which is fast to enter and exit. This corresponds to suspend,
    standby, or freeze states as understood by the kernel.

hibernate
    a low-power state where execution of the OS is paused, and complete power loss does
    not result in lost data, and which might be slow to enter and exit. This corresponds
    to the hibernation as understood by the kernel.

hybrid-sleep
    a low-power state where execution of the OS is paused, which might be slow to enter,
    and on complete power loss does not result in lost data but might be slower to exit in
    that case. This mode is called suspend-to-both by the kernel.

suspend-then-hibernate
    A low power state where the system is initially suspended (the state is stored in
    RAM). If not interrupted within the delay specified by HibernateDelaySec=, the system
    will be woken using an RTC alarm and hibernated (the state is then stored on disk).

Settings in these files determine what strings will be written to /sys/power/disk and
/sys/power/state by systemd-sleep(8) when systemd(1) attempts to suspend or hibernate the
machine.

See this answer if you want to enable either suspend-then-hibernate or hybrid-sleep in your Ubuntu laptop.

Hope this helps.

  • @Melebius Thanks for pushing me to answer and quick edits. – user68186 Jun 20 '18 at 13:07
  • In Ubuntu 18.04+, systemd supports suspend-then-hibernate which is similar to the power-saving mode described in the question. Source (18.04 systemd-sleep.conf.d manpage). – pizzapants184 Jan 10 at 4:48
  • @pizzapants184 Thanks for the comment. I will update my answer. – user68186 Jan 10 at 14:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.