最近のMacはSSDストレージの採用や、ファンレス設計、LEDインジケーターの廃止などにより、スリープの状態が区別しづらくなっています。
Appleは「シームレスな体験」として、これでも問題ないと考えているのかもしれませんが、ユーザーからすると実際にスリープしているのかどうか確認したいこともあります。
本日はスリープと復帰を確認するために使用できるMac用のコマンドラインツール「SleepWatcher」を紹介します。
SleepWatcherは、Mac OS X 10.5以上で動作し、Macのスリープ、ウェイクアップ、アイドル状態を監視することができるツールです。MacやMacのディスプレイがスリープモードに入ったりスリープ解除されたりしたとき、ユーザーが操作せずに一定時間経過したとき、ユーザーが休憩後に活動を再開したとき、Macノートブックの電源が着脱されたときに、Unixコマンドを実行することができます。
今回はSleepWatcherを使い、スリープに入ったときと復帰したときの時刻を記録する方法を説明します。
SleepWatcherでスリープ時間を記録
SleepWatcherはHomebrewやMacPortsでインストールすることができます。
Homebrewの場合:
# インストール brew install sleepwatcher # 常駐させる場合 $ brew services start sleepwatcher
MacPortsの場合:
# インストール sudo port install sleepwatcher # 常駐させる場合 $ sudo port load sleepwatcher
スリープ時に実行されるシェルスクリプト~/.sleep
と復帰時に実行されるシェルスクリプト~/.wakeup
を作成します。
~/.sleep
:
#!/bin/bash echo "Sleep at $(date '+%Y-%m-%d %H:%M')" >> ~/.sleepwatcher.log
~/.wakeup
:
#!/bin/bash echo "Wakeup at $(date '+%Y-%m-%d %H:%M')" >> ~/.sleepwatcher.log
それぞれ「chmod + x」で実行権限も付けておきます。どちらもdateコマンドを使い時刻を~/.sleepwatcher.log
に記録していくシンプルなスクリプトです。
準備ができたらAppleメニューから「スリープ」を選びスリープさせ、しばらくたったあとに復帰させます。~/.sleepwatcher.log
が作成されていれば成功です。
実際に1日つかってみたところ次のような記録がとれました。
$ more ~/.sleepwatcher.log Sleep at 2025-05-22 00:14 Wakeup at 2025-05-22 00:15 Sleep at 2025-05-22 00:32 Wakeup at 2025-05-22 08:01 Sleep at 2025-05-22 08:37 Wakeup at 2025-05-22 08:40
手動でスリープさせた時以外にもきちんとスリープしていることが確認できました。
まとめ
SleepWatcherを使ってMacのスリープ時間を記録する方法を説明しました。自分のMacが本当にスリープしているのか知りたいときに使うと便利です。
参考情報: