[Mac] スリープとハイバネーションを使い分ける - Alfred から実行する方法も

このエントリーをはてなブックマークに追加 Pocket

今回は電源管理のお話です。 パソコンを長時間使用しない場合、どうしますか?

シャットダウン/スリープ/ハイバネーション

シャットダウン

長時間使用しない場合はシャットダウンするという方は多いのではないでしょうか。

シャットダウンした場合、 次回使用時は OS のブート・ログイン・ログイン項目の実行を経て使用可能な状態となるため、 作業の再開に時間がかります。

スリープ

スリープはメモリの状態を維持したまま CPU などを低消費電力モードとすることで、 消費電力量を抑えながら素早く作業可能状態に復帰できるのがメリットです。

しかし、スリープ中も僅かながらバッテリーを消費するので、 長時間使用しない場合はスリープは向いていません。 いざ使用しようと思ったときにバッテリー切れで使えないということが起き得るからです。

ハイバネーション

メモリの内容をハードディスクに書き出して電源を完全にオフにし、 次回起動時はハードディスクに書きだしておいた内容からメモリの内容を復元するのがハイバネーションです。

ハイバネーションはスリープよりも復帰に時間が掛かりますが、 バッテリーの消費を最小限とし、 再び使用する際に以前の作業状態を復元することができるため、 長時間使用しない場合はハイバネーションが便利です。

Mac のシステム終了時の選択肢

Mac のシステム終了ダイアログの選択肢は [再起動]/[スリープ]/[キャンセル]/[システム終了] です。

Loginwindow

ハイバネーションはないんですよね。

なお、システム終了ダイアログは以下の方法で表示させることができます。

  • ?メニューから [システム終了…] を選択する
  • Ctrl+Eject キーを押す
  • 電源ボタンを押す(ノートブックの場合のみかも)

ノート型 Mac のスリープについて

ノート型 Mac のスリープはセーフスリープという、 スリープとハイバネーションを組み合わせたものになっています。
最近の Windows には同様のハイブリッドスリープがありますね。

Mac OS X 10.6 Help: セーフスリープについて

一部のノート型 Mac コンピュータは、「セーフスリープ」という機能を備えています。セーフスリープでは、コンピュータがスリープ状態になるたびに、開いているアプリケーションや書類など、コンピュータの現在の状態がハードディスクに保存されます。これにより、バッテリーの電力がなくなったり、バッテリーを交換したりした場合など、スリープ中にコンピュータが完全にシステム終了したときでも、情報が失われるのを回避することができます。

コンピュータがスリープ解除するときに、保存された状態を読み出す必要がある場合は、コンピュータが使用できる状態になるまで進行状況バーが表示されます。

上記は OS X 10.6 のヘルプですが、10.7 のヘルプセンターでも同じ内容が確認できます。

セーフスリープはバッテリー切れへの対策ですね。 先述したスリープのデメリットが軽減されます。

セーフスリープによって作業内容を失うことはなくなりそうですが、 それによって不使用時の消費電力量が変わるわけではありません。

ですので、やっぱりハイバネーションが使いたいのです。

Dashboard ウィジェット Deep Sleep

Deep Sleep という Dashboard ウィジェットを使えば、 Mac でも簡単にハイバネーションを使うことができます。

内部的なことに興味がある方はターミナルで man pmset を実行して hibernatemode について調べてみるといろいろとわかります。

Deep Sleep

Deep Sleep はノートブックを閉じた場合などとウィジェットからスリープを実行した場合の動作をそれぞれ指定することができます。

通常はセーフスリープ、 ウィジェットからはハイバネーション(Deep Sleep)が実行されるようにするのがオススメです。

DeepSleep

ちょっとだけ作業を中断するときはセーフスリープを、 今日はもうオシマイにする場合はハイバネーション(Deep Sleep)を実行すると、 バッテリー消費と利便性のバランスがよいと思います。

Alfred から Deep Sleep を起動する

最初はここまでで満足していましたが、ウィジェットからハイバネーションを実行することが面倒になってきました。

そんなとき、 Deep Sleep のウィジェットパッケージの中にコマンドラインプログラムがあることがわかりました。 これを直接起動すればよさそうです。
ウィジェットパッケージにはソースコードも含まれています。

私は Alfred というランチャアプリから起動するようにしたいと思いました。

Alfred 1.0 (無料)App
カテゴリ: 仕事効率化, ユーティリティ
販売元: Running with Crayons Ltd - Running with Crayons Ltd(サイズ: 1 MB)
全てのバージョンの評価: (99件の評価)

Alfred から起動できるようにするため、 Automator で Deep Sleep を起動するアプリケーションを作成しました。 シェルスクリプトで Deep Sleep のコマンドラインプログラムを起動する単純なものです。

Deepsleep automator

私は Alfred ですが、deepsleep コマンドを実行できればよいだけなので、 他のランチャアプリでも同様のことはできるでしょう。

まとめ

作業を中断するときは MacBook Pro を閉じる。
→セーフスリープなので万が一の場合でも作業内容が失われることはなく、 MBP を開けばすぐに作業を再開することができる。

さて今日はここまでというときは、Alfred から deepsleep を実行して MBP を閉じる。
→ハイバネーションが完了するまでに時間がかかりますが放っておいてもおk。 電源断なので不使用時に消費する電力量は最小限で、 再開時は MBP の電源ボタンを押してしばらく待てば前回の状態から作業を再開することができる。

なんてことができるようになりました。

デスクトップ型 Mac でもハイバネーションはできると思いますので、 iMac ユーザにもオススメかも?

関連記事

0 コメント: