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

Macで作業中、勝手にスリープさせたくない時に使えるちょっとしたコマンド

Macで作業をしていて、サイトをじっくり読んでいる時や、ちょっと席を離れた時にMacがスリープしてしまうのが鬱陶しく感じたことはありませんか?

この記事では、Macのスリープ機能を簡単に無効化、有効化するコマンドを紹介します。

この記事はMacOSでスリープを抑止する方法を紹介しています。
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を。



関連記事