ubuntu 12.10 hibernate

https://help.ubuntu.com/community/SwapFaq#line-98

Ubuntu 12.10 をインストールしたネットブックInspiron duo をハイバネートするようにしてみました。ちなみにInspiron duo のディスプレイは、反転した状態でふたをしてもハイバネートやサスペンドしないようにできています。

  1. 目標
    ハイバネートでG1/S4 に遷移した後、元の状態に復帰することが目標です。詳しく知らないのですが、ACPI 電源状態は以下のようです。

G0
S0
起動状態

G1
S1
省電力

S2
CPU 電源OFF

S3
スタンバイ/スリープ(Suspend to RAM)

S4
ハイバネート(Suspend to Disk)

G2
S5
ソフト電源OFF

G3
メカニカル電源OFF

  1. コマンドラインで試してみます
$ sudo pm-hibernate

電源を入れても元の状態に復帰しないので、GRUB を設定することにします。

  1. GRUB の設定
    swap パーティションのUUID は/etc/fstab やgparted で調べておきます。
/etc/default/grub
GRUB_CMDLINE_LINUX="resume=UUID=001d9fdb-7e31-40ab-af01-cb124b8bc710"
$ sudo update-grub
$ sudo update-initramfs -u

これでハイバネート後に復帰するようになりました。

  1. システム設定でハイバネートを選択できるようにします。
/etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
[Re-enable hibernate by default]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes
  1. GNOME Shell のメニューからハイバネート
    https://extensions.gnome.org/extension/5/alternative-status-menu/
    Suspend メニューは表示されますが、Hibernate メニューがでてきませんでした。なぜだろう。
    Edit:
    暫定的に表示するには…
~/.local/share/gnome-shell/extensions/alternative-status-menu@gnome-shell-extensions.gcampax.github.com/extension.js
function updateHibernate(object, pspec, item) {
//item.actor.visible = object.get_can_hibernate() && settings.get_boolean('allow-hibernate');
item.actor.visible = object.get_can_hibernate();
}