Old Sunset Days

Macがスリープするのを阻止するにはFermata

日付 タグ mac カテゴリ mac

目次

君には眠らずに働き続けてもらうよ、24時間戦えますか?

いつの頃のCMだったか、かなり昔の栄養ドリンク剤で「24時間戦えますか?」を謳い文句にしたCMがありましたね。もうそんなことしていると、ブラック企業だと言われる時代になってきていますが。

Macに休まず働き続けてもらう、スリープに入らないようにしてもらうのに便利なアプリがFermata。

https://github.com/iccir/Fermata - macOS app to deactivate the lid close sensor

Fermata Fermata is a small macOS utility which prevents Lid Close Sleep under certain conditions:

The user manually checks the “Prevent Lid Close Sleep” menu item. A specified application is launched. A specified application prevents Idle Sleep (which is common for music-playing applications).

Lid Close Sleepとは蓋を閉じた時のスリープのこと。Fermataを使えば、強制的にスリープを回避することができる。

つまりMacbookの蓋を閉めたままの状態でYoutubeをBGM的に流し続けるとかができるのだ。

そもそもこのソフトを知ったのは、仕事でgit cloneをするのが異常に時間がかかるプロジェクトがあり、帰り際にgit cloneをかけて、朝になったら、終わっているかと思ったら、朝になっても終わっておらず、途中で進まなくなっていたっぽいことが何度かあった。あれ、これってMacがスリープに入ってしまったのか?ということで、このFermateを試しに使ったら大丈夫だったというのがある。

その他にもブラウザ経由でダウンロードしていたのが、スリープに入ってダウンロードに失敗することが何度かあった時も、このFermataを使ったりする。

Fermataのインストール方法

アプリはFermataのGithubのreleaseページからダウンロードする

https://github.com/iccir/Fermata/releases

最新版のzipファイル(本日時点での最新版はFermata 1.2)をダウンロード。

ダウンロードしたzipを解凍すると、Fermata.appが出てくるので、これを/Applicationへ移動する。

あとは、Fermata.app起動時にセキュリティの確認と、

ヘルパーインストールが出てくるので、それを許可する。

Fermataでスリープ防止

さあ、インストールしたFermataからスリープ防止をONにするには、

「Prevent Lid Close Sleep」を選択。

するとどうだろう、もともとはMacのメニューであった「スリープ」の項目がこうあったのが、

以下のように「スリープ」の選択自体グレーアウトされ、できないようになった。

この状態になったところで、例えば、ブラウザでYoutubeを開く、BGM的な動画を何か再生したままでMacbookの天板のカバーを閉じても、そのままBGMが流れたままになる。

これで実際に蓋を閉めてもスリープに入らないようになったのが確認できる。

なお、Fermataは内部的にはpmsetというコマンドと同様のことをしているらしく、

pmset -g

で状態を調べたところ、(-gは設定値を出力するオプション)

「Prevent Lid Close Sleep」をチェック前

$ pmset -g
System-wide power settings:
 SleepDisabled		0
Currently in use:
 standbydelaylow      10800
 standby              1
 halfdim              1
 hibernatefile        /var/vm/sleepimage
 gpuswitch            2
 powernap             0
 disksleep            0
 standbydelayhigh     86400
 sleep                1
 autopoweroffdelay    28800
 hibernatemode        3
 autopoweroff         1
 ttyskeepawake        1
 displaysleep         2
 Standby Battery Threshold 50
 acwake               0
 lidwake              1

「Prevent Lid Close Sleep」をチェック後

$ pmset -g
System-wide power settings:
 SleepDisabled		1
Currently in use:
 standbydelaylow      10800
 standby              1
 halfdim              1
 hibernatefile        /var/vm/sleepimage
 gpuswitch            2
 powernap             0
 disksleep            0
 standbydelayhigh     86400
 sleep                1 (sleep prevented by Fermata)
 autopoweroffdelay    28800
 hibernatemode        3
 autopoweroff         1
 ttyskeepawake        1
 displaysleep         2
 Standby Battery Threshold 50
 acwake               0
 lidwake              1

SleepDisabledの項目に違いが出ていることが確認できた。

なお、「Prevent Lid Close Sleep」をオンにしっぱなしだと、スリープに入らず、バッテリーがどんどん消費されるので、必要のない時は再度OFFに戻しておくことを忘れずに。

OFFに戻す手順は簡単で、「Prevent Lid Close Sleep」を再度選択して、先ほどまでチェックが入っていたのが、チェック無し状態になっていることが確認できればOK。

pmsetコマンドを直に使えば、同様の制御はできる思うが、Fermataを使って素早く設定できるのは便利だ。

自分のケースのようにgit cloneを長時間に渡って実行させる場合とか、ダウンロードに時間かかっていてスリープに入っちゃうとなぜか途中で失敗する時とかにも使ってみて、問題が解決するか試してみると良いだろう。