Macで自動スリープを簡単に止める方法

Macで作業をしていて、サイトをじっくり読んでいる時や、ちょっと席を離れた時にMacがスリープしてしまうのが鬱陶しく感じたことはありませんか?
この記事では、Macのスリープ機能を簡単に無効化、有効化するコマンドを紹介します。
WindowsやLinuxのスリープ抑止方法ではない点にご注意ください。
目次 - CLICKで開閉します -
MacOS純正コマンドでスリープを抑止する
Macのスリープを制御する方法はいくつかありますが、使い方によってはパソコンの設定やパフォーマンスに影響を及ぼすものもあります。
ここでは、比較的影響の少ない、シンプルにスリープを止めるためのコマンドcaffeinateを使ってスリープを抑止する方法を紹介します。
以下のコマンドでヘルプが表示できます。
man caffeinate
各オプションの意味
| オプション | 処理効果 |
|---|---|
-d | ディスプレイのスリープを抑止します |
-i | アイドル状態になった時のシステムのスリープを抑止します |
-m | 内臓ディスクのスリープを抑止します |
-s | 電源接続時にシステムのスリープを抑止します。 |
-u | 任意のスリープまでの時間を設定、-tと一緒に指定します |
-t | -uが指定された場合に指定時間経過するまでスリープを抑止します |
-w | 指定したプロセスIDが終了するまでスリープを抑止します |
caffeinateコマンドを実行してスリープを抑止する
以下は電源接続時にディスプレイ、アイドル状態、内属ディスクのスリープを抑止するコマンドです。
電源接続時であれば、このオプションでスリープを抑止できます。
&をつけることでバックグラウンドで実行できます。&をつけない場合は待受状態となるので、CTRL+Cでスリープ抑止を解除できます。
caffeinate -dims &
スリープ抑止を解除する
バックグラウンドで起動したジョブはKILLコマンドでプロセスIDを止める必要があります。
pgrepでcaffeinateのプロセスIDを取得、killコマンドをSIGKILLオプション指定で実行します。
(kill -9 または、kill -s KILL)
pgrep caffeinate | xargs kill -9
スリープ抑止・解除をもう少し簡単に実行する
前項で紹介したコマンドは少し長いので、エイリアスに登録しておくと便利です。
エイリアスに登録する
zshをお使いであれば ~/.zshrc, ~/.zsh_aliases ファイル等にエイリアスを登録します。
alias drink='caffeinate -dims &'
alias decaf='pgrep caffeinate | xargs kill -9'
エイリアスを追加したら、exec -l $SHELLを実行してログインシェルをリロードします。drinkコマンドでスリープ抑止を実行、decafコマンドで抑止解除できるようになります。
おまけ
MacOS用のスリープ抑止スクリプトを作成してGitHubにアップロードしました。
やっていることは同じですが、参考になれば幸いです。
以下コマンドで抑止と抑止解除を実行できます。
# caffeinateが実行されていなければスリープを抑止します。
caffein.sh drink
# スリープ抑止中であればスリープ抑止を解除します。
caffein.sh decaf
以上、MacOS向けスリープ抑止コマンドの紹介でした。
それでは、良いCoffeeを。
関連記事
- ブログを改良しました。
- 1プログラマーがMacBookProを注文した後に準備したこと
- 1プログラマーがMacBookProを買うことに決めた最大の理由
- GitCast あると便利なもの。
- hugoのsyntax highlightを簡易カスタマイズ