ラップトップをスリープさせる

ラップトップをスリープさせる機能は、適切な電源管理の一部である。ACPIスリープとは、システムが技術的には電源オンの状態にありながら、スクリーンとハードディスクは電源オフになっていて、RAMの内容を保持しておくのに必要な電力だけをコンピュータが使用している状態と定義されている。Ubuntuの開発チームは、ACPI電源管理を適切に機能させるために多大な努力をしてきた。現在のUbuntuは、最近追加されたgnome-power-managerパッケージのおかげで、細かい設定なしに簡単に電源管理を行うことができる。

※本稿は、最近出版された書籍からの抜粋である。
copyright 2006 Kyle Rankin, Jonathan Oxer, and Bill Childers. All rights reserved. Used with permission.

「Dapper Drake」と呼ばれるUbuntu Linuxの最新リリースには、新しいgnome-power-managerパッケージが含まれている。このパッケージは、Windowsのシステムトレイの電源アプレットと同様のACPIスリープを可能にする。ついにLinuxでもスリープが使用できるようになったのだ。gnome-power-managerアプレットは自動的に起動するよう設定されており、GNOMEのパネル通知領域にアイコンが表示される。小さなバッテリーのアイコンを右クリックするとポップアップメニューが表示され、[Suspend]または[Hibernate]、[Preferences]を選択できる。

これは一見すると単純なアプリケーションに見えるが、実はラップトップのスリープ動作を細かく制御することができる。[Preferences]をクリックすると、[Power Management Preferences]ダイアログボックスが表示される。このダイアログボックスの[Sleep]タブでは、AC電源使用時とバッテリー使用時でそれぞれ異なる動作を設定できる。最も興味深い機能の1つは、マシンの電力状況に応じてラップトップのスクリーンのバックライトの明るさを調節できるというものだ。つまり、バッテリー使用時には自動的にバックライトを暗くすることができ、それによってラップトップの稼働時間を引き伸ばすことが可能になる。

[Options]タブでは、どの種類のスリープをシステムのデフォルトにするかと、どんなアクションが行われたときにスリープ機構を働かせるかを設定できる。デフォルトのスリープの種類は[Suspend]に設定されており、これはACPIスリープのことである([Hibernate]はまったく異なる種類のスリープ機構であり、詳しくは後述する)。必要であれば、このダイアログボックスの[Actions]セクションで、ラップトップの蓋を閉めたときに自動的にスリープに入るよう設定できる。これは外回りのときに便利な機能である。蓋を閉めて急いで次のアポイント先に行き、そこで蓋を開ければ、何事もなかったかのようにマシンが使用可能な状態になっているのだ。

Ubuntu Hacks
[Advanced]タブでは、通知アイコンの動作を制御できる。バッテリーの充電中または電力消費中のみアイコンを表示したい場合や、アイコンを一切表示したくない場合は、ここで設定を変更する。

通知アイコンは、AC電源を使用しているときには基本的に表示されない。このアプレットを常に表示したい場合は、AC電源をしばらく抜いておき、アイコンが表示されたら、[Advanced]タブを使用して通知アイコンの設定を変更する。

すべての設定を行ったら、[Close]ボタンをクリックしてダイアログボックスを閉じ、設定内容を保存する。

これで、スリープモードをテストできる状態になる。AC電源ではなくバッテリーを使用していることを確認し、ラップトップの蓋を閉じて、何が起きるかを確認してみよう。ハードディスクの電源がオフになる音がし、電源ランプが点滅するなどして、電源の状態の変化が示されるはずである。

マシンが正しくスリープすることを確認したら、次は正しくスリープから復帰できるかどうかを確認してみよう。蓋を開けるだけで、スリープからの復帰処理が始まるはずだ。マシンが使用可能な状態になると、gnome-screensaverからシステムパスワードが要求される。パスワードを入力すると、前回スリープに入ったときとまったく同じ状態が再現されるはずである。

ラップトップのハイバネート

ACPIスリープは、CPUとRAMを稼動させておくために常に少量の電力を必要とするので、すべての状況に適しているわけではない。ACPIスリープの欠点を補うために考え出されたのがハイバネート(Hibernate)である。ハイバネートでは、RAMの内容をシステムのスワップパーティションに保存する。そのため、ハイバネート状態を維持するのに電力は一切必要ない。

ただし、ハイバネートにも欠点はある。電源をオフにする前にRAMの内容を保存し、リブートの際にはカーネルのロード後にRAMの内容を読み込む必要があるため、ハイバネート状態に入ったりハイバネート状態から復帰したりするのに時間がかかるのだ。それでも、マシンの電源をオフにして再起動するよりは短時間で済むし、アプリケーションの状態を保存できるという副次的メリットもある。

ハイバネートではRAMの内容をスワップパーティションに保存するので、スワップパーティションのサイズは、マシンに搭載されているRAMのサイズよりも大きくなければならない。Ubuntuのデフォルトインストールを行った場合は、これが自動的に設定されるようになっている。しかし、インストール時にデフォルトのパーティションを変更する場合には、この点を頭に入れておく必要がある。

ハイバネートの設定と使い方

ハイバネートとスリープはよく似た機能であり、ベースとしてLinux ACPIサブシステムを使用しているので、オプションの設定と制御を行うときはどちらもgnome-power-managerを使用する。gnome-power-managerの設定ダイアログボックスでデフォルトのスリープの種類を[Hibernate]に変更することができるが、ハイバネートモードに入るときや復帰するときにかかる時間のことを考えると、デフォルトは[Suspend]のままにした方がよいだろう。この設定を変更するには、gnome-power-managerのアイコンを右クリックし、[Preferences]を選択して、[Options]タブをクリックする。

ハイバネートの設定を終えたら、実際に試してみよう。gnome-power-managerの標準的なUbuntuプリファレンスを使用している場合は、gnome-power-managerアイコンを右クリックして[Hibernate]を選択することでハイバネート状態に入る。この操作を行うと、スクリーンがすぐに暗くなり、ハードディスクに書き込みが行われている音が聞こえるはずである。ディスクへの書き込みが終わると、システムの電源がオフになる。この時点でシステムはハイバネートモードに入り、バッテリーの電力を一切使わずにこの状態を永続的に保つようになる。

ハイバネート状態から復帰するには、通常どおりシステムの電源をオンにするだけでよい。ブートローダーが起動し、カーネルが起動するところまではいつもと同じである。ここでスワップパーティションにRAMイメージがあることが検出されると、システムはそのRAMイメージを読み込み、前回ハイバネートモードに入ったときと同じ状態が再現される。ハイバネートモードに入るまでにかかる時間は30秒~1分で、ハイバネートモードから復帰するのにかかる時間(BIOSテストも含む)もほぼ同じである。

ここで1つ注意がある。複数のオペレーティングシステムを起動できるマルチブートシステムの場合は、ハイバネートを使用する際に注意が必要である。理論上は、Ubuntuシステムからハイバネートモードに入り、そこから別のオペレーティングシステムを起動することも可能である。しかし、これは基本的にはリスクの高い操作である。もしもUbuntuパーティションのどこかを変更した場合には、厄介なトラブルが発生するからだ。また、Ubuntuと別のLinuxディストリビューションの間でスワップパーティションを共有していた場合には、別のLinuxディストリビューションを起動するときに、それまでのハイバネートされた状態が消去されてしまう(またはハイバネートされている状態から起動しようとする)ため、さらに困った状態に陥ることになる。安全第一を心がけ、ハイバネートモードに入ったら、そのハイバネートしたシステム以外のシステムでは起動しないように注意してほしい。

スリープとハイバネートを使いこなせるようになれば、電源管理機能を有意義に利用できるはずである。

NewsForge.com 原文