Fedoraブログ

Linuxのディストリビューション、FedoraCoreに関して日々感じたことを綴っています。

Tips: サスペンドをしよう

2006-01-05 20:14:19 | FC Tips
 FCではACPIを利用してサスペンドやハイバネーション(休止状態)を行うことが出来ます。
ちなみにサスペンドは状態をメモリに保存するタイプで、ハイバネーションは状態をディスクに保存するタイプです。
つまりハイバネーション中は電力を必要としませんが、サスペンド中はメモリの保持のために若干の電力を必要とします。
まずはACPIの状況を調べてみましょう。

 最初にFC起動時のカーネルオプションで
acpi=off
なっていないことを確認してください。

 次に以下のコマンドを入力してください。
$ cat /proc/acpi/sleep
僕の環境では出力結果は
S0 S3 S4 S5
となりました。

 これは
S3 はH/Wによるサスペンド
S4 はOSによるハイバネーション
S5 はシャットダウン
がサポートされていることを示しています。

 早速サスペンドを行ってみましょう。
# echo -n 3 > /proc/acpi/sleep
これでサスペンドに入ります。

 次にレジューム(回復)です。
コマンドではなく普通に電源ボタンを押してください。 (^^;
次にシステムクロックをハードウェアクロックに合わせます。
# /sbin/hwclock --hctosys
これでレジューム終了です。
ドライバ関連でエラーが起こるかもしれませんが、その時は適宜必要なコマンドを実行する、ということで。 (汗)
折角なのでシェルスクリプト(sus.sh)でも作りましょうか。


#!/bin/sh

# rootでsus.shを実行させる
who=`whoami`
if [[ $who != "root" ]]; then
echo "Please input root password"
su -c $0
exit
fi

# HDDにキャッシュを書き込む。
sync
sync

sleep 2

# サスペンドするためのコマンド。
echo -n 3 > /proc/acpi/sleep

# サスペンド復帰後は、ここから下が実行される。
sleep 2

# システムクロックをハードウェアクロックに合わせる
/sbin/hwclock --hctosys

 acpidを利用して、電源ボタンを押すとサスペンドする、ということも可能ですが今回は紹介を控えます。
というより、僕の環境ではacpidを使っていないので、その作業をしていないのです。 (^^;
シェルスクリプトを作ってしまえば、1つのコマンドでOKなので必要ないかなぁ~って。
と言う訳で、acpidを利用したい方はご自分でお調べください。 (なげやり)


 実は。
FCのカーネルはデフォルトでハイバネーションをサポートしていません
ですから
# echo -n 4 > /proc/acpi/sleep
としても何も起こりません。 (^^;
ハイバネーションを行うにはカーネルの再構築が必要なのです。
……と言いたいところですが、実はカーネルの再構築をせずにハイバネーションを行う方法があります。
この方法については次回のTipsでご紹介しましょう。


参考サイト
FIVA MPC-205でLinux WS - ハイバネーションの設定


最新の画像もっと見る