Hibernation is still missing from menu in 13.10 after enabling via polkit. How to enable?

14.04 and beyond

Mitch points out in his answer for 14.04 and 16.04 that you should check 10-vendor.d/com.ubuntu.desktop.pkla before modifying anything. Also check that you have Secure Boot disabled and if that brings the menu option back.

Re-enabling the hibernation option in the menu

To re-enable the hibernation option in the menu, your /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla should be modified to look like the following in saucy (13.10):

[Re-enable hibernate by default in upower]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes

[Re-enable hibernate by default in logind]
Identity=unix-user:*
Action=org.freedesktop.login1.hibernate
ResultActive=yes

Then reboot or run killall indicator-session-service in your session and you should have your hibernate functionality/menu option back. Create the file if it doesn't exist already.

Investigation from bug report

Citation from Jeffery To's post on Launchpad Bug Report #1232814:

For Saucy, indicator-session was updated to use logind (org.freedesktop.login1) instead of upower.

If you check /var/lib/polkit-1/localauthority/10-vendor.d/com.ubuntu.desktop.pkla, you'll see that hibernate is disabled by default in both upower and logind.

So the first step to re-enable the Hibernate option is to edit /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla to something like:

[Re-enable hibernate by default in upower]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes

[Re-enable hibernate by default in logind]
Identity=unix-user:*
Action=org.freedesktop.login1.hibernate
ResultActive=yes

After rebooting, the login screen session menu should have a Hibernate option.

[...]

All thanks and credit go to Jeffery!

Why was hibernation disabled?

There exists a bug report on launchpad that suggests disabling suspend/hibernate instead of tracking which hardware "certifies" for which power modes. It's claimed to be a more scalable approach.

Another thing to mention is that using UEFI Secure Boot and hibernation appears to be possible but may be a risk to circumvent the former. (1, 2) As a reminder, when you use hibernation you store everything in RAM to disk without encryption, this includes passwords for encrypted filesystems and containers.

At some point with 16.04 I had to disable Secure Boot to be able to hibernate my laptops. In my case I used uswsusp and testing with s2disk returned the message below. This may give you a hint that your issue, why you can't hibernate although everything else is in place, is related to Secure Boot:

s2disk: Could not open the snapshot device. Reason: Operation not permitted 

However, please understand that this is not a place to complain and please be nice.

Related questions

  • How can I tell Ubuntu to do nothing when I close my laptop lid? (or tell Ubuntu to hibernate when closing the laptop lid)

If you still have problems in making hibernate work, check comment #58 on this bug report:

I found a workaround on ubuntu gnome 13.10: just install hibernate:

sudo apt-get install hibernate

The only problem is that apport will issue three errors when starting up after normal Power Off. For this you can disable apport:

sudo -H gedit /etc/default/apport

Then change enabled=0.

To change settings from hibernate edit files in /etc/hibernate.

Installing hibernate package seems to make the right changes and it worked very well for me in ubuntu gnome 13.10 x64