二〇〇九年 十一月 二十八日(

旧暦 十月十二日 先負
己丑年 十月十二日

EeePC + Ubuntu9.04 でハイバネーション

EeePC+Ubuntuだと起動もそこそこ速いので、はじめのころは「これならサスペンドとかハイバネーションとか必要ないなー」、などと思っていたのだけど、慣れてくると編集中のテキストとかをそのままにしてしばらく置いておきたい状況とかが結構出てくる。

そんなとき、サスペンドを使うのがもっとも素早くて便利。再起動も10秒ぐらいしかかからなくて素敵なのだけど、バッテリ容量のそれほど大きくないEeePC900Aだと、スリープ状態でも電気を使っているのが、どうももったいなくて仕方がない。(ケチくさいなー)

で、次善の策としてハイバネーションを使ってみようと考えた。しかし、EeePCにUbuntuをインストールした当初、「swapなんかいらんやろー」ということで僕のEeePCにはswap領域が用意されていない。しかし、ハイバネーションにはswap領域が必要だ。インストール当初はハイバネのことまでまったく考えていなかったから、仕方がない。

そこで、16GBのSSDの一部をswap用にパーティションを分割してみることにした。
gpartedで2GBほどをlinux-swapとして分割し、いろいろ調べながら、swapとして利用できるようになるところまでは到達した。

しめしめと思いながら、システム終了のダイアログで「ハイバネーション」を選択。するとSSDのアクセスランプが点灯し、画面が消えてハイバネート状態に移行か、・・・と思ったのもつかの間、電源は切れずに元のデスクトップが再度表示されてしまう。

いろいろ試してみたものの、結局この状況は解決できず、「いっそのこと最初からswapを作ってインストールし直そう」ということに。なんか本末転倒な気もしなくはないが、多分解決にはそれが一番速かろうと。

そんなわけで、Ubuntu9.04を再度インストール。swap領域も手動で2GBほど指定した。
やはり、こうしてインストールしなおすと、ハイバネーションは問題なく機能する。再起動までの時間はそれほど速くないが、普通に起動するときとそれほど変わらないので、まあヨシとしよう、と言えるレベル。

さて、次は用意したswap領域を通常は利用せず、ハイバネーションのときだけ利用するためにどうすればいいかを考える。

これもいろいろ調べたのだけど、結局、次の2つのページが役に立った。

Ubuntu日本語フォーラム ハイバネートを機能させるには何が必要ですか?
http://wiki.geteasypeasy.com/Fix:_hibernate

まず、起動時に自動的にswaponされてしまうのを防ぐため、 /etc/fstabのswapの行にnoautoを追加する。

UUID=************** none swap sw,noauto 0 0

これで起動時にはswapとしては利用されない。
ハイバネーションしたい場合は、

$ sudo swapon /dev/sda3

などとしてswapを有効にしてからハイバネーションすると成功する。
しかし、いちいちこのコマンドを打ってから終了ではハイバネーションの意味がない。
というのも、「とりあえず今はさっさとパソコン閉じて、やりかけの作業はあとでしよう」というのが目的なのだから。

で、2つ目のリンクのページを参考に、システム終了時に実行されるスクリプトを追加して、ハイバネのときにswapが有効になるようにした。

まず、/etc/pm/sleep.d/ 以下に 20swapctl というファイルを追加する。その内容は以下のとおり。


#!/bin/bash
#/etc/pm/sleep.d/20swapctl
case "$1" in
hibernate|suspend)
swapon /dev/sda3
;;
thaw|resume)
swapoff /dev/sda3
;;
*)
;;
esac

で、これを実行可能なファイルにする。

sudo chmod +x /etc/pm/sleep.d/20swapctl

以上。もちろん/dev/sda3というのはswapの領域。(UUIDで指定するのが本当なんだろうな・・・)

これで当初の目的はほぼ達成。めでたしめでたし。

Posted by mura at 2009年11月28日 15:54 | トラックバック
コメント
コメントする









名前、アドレスを登録しますか?






トラックバック
このエントリのトラックバックURL

http://www.villagewood.net/mt/mt-tb.cgi/632

◇このサイトのサーバの調子によって、トラックバックを送信してもエラーが表示されたり、すぐにこのページに反映できないときがあります。ですが、トラックバック自体は送られていますので、重ねて送っていただかなくても大丈夫です。こちらでも出来るだけ早く反映できるようにrebuildしますので、ご容赦ください。
参照元URL
関連エントリ