Watch

caffeinateを使ってコマンドラインからMacのスリープを無効にする

caffeinateを使ってコマンドラインからMacのスリープを無効にする

CaffeinateはMacのコマンドライン経由でスリープを回避する

これまでも、pmset noidle コマンドやホットコーナーを使用して、Mac が一時的にスリープ状態にならないようにすることは可能でしたが、Mac OS X の最新バージョンでは、人気の Caffeine アプリによく似たスリープ防止専用のコマンドライン ツールが Apple によってバンドルされており、適切に caffeinate と名付けられています。

caffeinate の最もシンプルな使い方は、単にスリープを完全に停止することですが、様々なフラグを使ってコマンドを変更することで、ディスプレイのみのスリープを防止したり、スリープを回避する時間を指定したり、コマンド実行中のスリープを防止したりすることができます。以下に、いくつかの便利な例を示します。

Macで「caffeinate」コマンドを使ってスリープを無効にする方法

スリープ設定に関係なくスリープ機能を一時的に無効にするには、MacOS / Mac OS X のターミナルから次のコマンドを実行します。

caffeinate

コマンドのコアとなる基本機能では、 caffeinate だけが必要なので、 caffeinate がアクティブな間は、それが実行されなくなるまでスリープは防止されます。

caffeinate を停止して通常のスリープ動作に戻すには、このように実行中に「Control+C」を押して caffeinate を終了するか、必要に応じて「killall caffeinate」コマンドで強制終了することができます。

また、事前に決められた時間だけ caffeinate を実行して、指定した時間ブロック (たとえば、何かをダウンロードしている間の 4 時間) のスリープを防止し、次に & を追加してバックグラウンドで実行することもできます。

caffeinate -t 144000 &

-t フラグに付加される数字は、Mac でスリープが無効になる時間 (秒) です。

Caffeinate を他のコマンドに接続して、特定のコマンドの実行中に Mac がスリープ状態にならないようにすることもできます

caffeinate [command_to_run] -arguments

これにより、Mac は提供されたコマンドを実行する間だけスリープを回避し、その後は通常のスリープ ルールが適用されます。

これらの後者のトリックを使用すると、バックグラウンドでカフェインテークを実行していてキャンセルしたい場合、プロセスを終了する最も簡単な方法は、参照プロセスIDに対してkillコマンドを発行するか、単に「killall caffeinate」を実行することです。

caffeinate コマンドを使用するには、かなり新しいバージョンの Mac OS X を実行している必要があります。この機能は 10.8 Mountain Lion で導入され、10.9 Mavericks、10.10 Yosemite、macOS Big Sur、macOS Ventura 以降でも継続されています。

ヒントはMacWorldへ