Mountain Lion にしたら Deep Sleep でハイバネーションから復帰できなくなったので

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

本エントリを今朝公開しましたが手順が足りませんでしたので追記しました。

昨日、ようやく Mountain Lion にアップグレードしました。 @toshiya240 です。

Mountain Lion にしたら Deep Sleep でハイバネーションから復帰できなくなってしまいました。


Deep Sleep

以前書いたように、私はスリープとハイバネーションを使い分けています。

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

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

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

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

これは困ったということで調べてみると、Deep Sleep がシステムに設定する内容に問題がありそうです。





何が問題か

Deep Sleep でハイバネーションを実行した場合に pmset コマンドで hibernatemode の値を確認すると 5 になります。

pmset の man ページを見ると、この hibernatemode の値は 0, 3, 25 のいずれかにするように説明されています。

We do not recommend modifying hibernation settings. Any changes you make are not supported. If you choose to do so anyway, we recommend using one of these three settings. For your sake and mine, please don't use anything other 0, 3, or 25.
via pmset(1) OS X Manual Page

Deep Sleep のソースコードを確認すると、確かに 5 を設定しています。

Lion のときも同じ状況だったのだと思いますが、たまたまうまく動いていたのでしょう。
下位のビットの値は正しい値と同じですし

Deep Sleep を修正したったw

ハイバネーションできなくなるのは困るので、hibernatemode の値が 0, 3, 25 のいずれかになるように Deep Sleep を修正しました。

Mountain Lion でハイバネーションから復帰できることを確認しています。
Alfred からハイバネーションを実行できることも確認済みです。

オリジナルと区別がつくように、バージョンは 1.2tn1 としました。 DeepSleep のライセンスは GPLv3 です。

こちら からダウンロードできます。

zip ファイルを展開して、作成された "Deep Sleep.wdgt" を ~/Library/Widgets に置いてください。
(GateKeeper の初期値では "Deep Sleep.wdgt" をダブルクリックしてインストールすることができません。)

追記

"Deep Sleep.wdgt" を置いたら、Dashboard にウィジェットを追加して、 ウィジェットの右下の「i」ボタンをクリックしてください。 そしてパスワードを入力して [OK] ボタンをクリックしてください。
DeepSleepSetting

追記終わり

なお、Lion 以前ではオリジナルの 1.2 が使用できるので、Mountain Lion でしか動作を確認していません。

関連記事

0 コメント: