長いビルドやコンパイル中もMacをスリープさせない
長いXcodeのアーカイブ、cargo build --release、Gradleやnpmのインストール、ローカルのCI実行は、macOSが「このマシンは暇だ」と判断しやすい典型的な場面です。画面が暗くなり、システムがスリープし、ビルドが止まったり失敗したりします。Keepressoは作業のあいだMacを起こしておき、終われば休ませます。
仕事に合うやり方を選ぶ
1. タイマーセッション(いちばん簡単)
ビルドがだいたいどのくらいで終わるか分かる場合:
- メニューバーのKeepressoのカップをクリックします。
- 長さを選びます(1時間、4時間、カスタム、またはUntil a Time)。
- スリープ防止を開始し、ビルドを開始します。
タイマーが終わると、Keepressoはシステムを起こし続けるのをやめます。詳細はタイマーセッションです。
2. プロセストリガー(手が離れても安心)
ビルドツールが実際に動いているあいだだけ起こしておきます。
- 環境設定 → Triggersを開きます。
- トリガーによる制御をオンにします。
- Process running条件を追加し、たとえば
xcodebuild、swift、cargo、rustc、gradle、java、node、npm、pnpm、make、ninja、cmakeといったコマンドに合わせます。 - ツールが複数ならいずれかで組み合わせます。
プロセスが終了すると(設定した猶予のあと)Keepressoはセッションを終え、Macは再びスリープできます。スマートトリガーを参照してください。
3. CPU負荷トリガー(ツール名に依存しない)
ツール名は変わるが、マシンが明らかに働いている場合:
- CPU above a threshold条件を追加します(50%または75%が良い出発点です)。
- 平滑化はそのままに: 一瞬のスパイクではセッションは始まらず、持続した負荷なら始まります。
混在するツールチェーンや、名前の違う子プロセスを生むIDEビルドに向いています。
4. Media Render / AI Agentプリセット
よくある長い仕事向けの組み込みプリセットがあります。
- Media Renderは
ffmpegの実行中に保持します。 - AI Agentはコーディングエージェント(
claude、codex、geminiなど)が単に開いているだけでなく実際に作業している間保持するので、ノートPCでの夜通しのエージェント作業が完了し、作業が終わればMacはきちんとスリープします。
条件メニューからプリセットを適用すると、現在のルールセットが置き換わり、トリガーがオンになります。
ジョブが終わった瞬間に知りたいですか?環境設定、Automationのイベントフックなら、セッション終了やエージェントのアイドル時にShortcutの実行、webhookへのPOST、シェルコマンドの実行ができ、スマホへのプッシュも含まれます。起きる前にジョブが始まるなら、同じタブのスケジュール起床がMacを間に合うよう起こします。
任意: 画面オフ、ふた閉じ
ビルドに点灯したパネルは要りません。
- システムが起きていればよいならprevent display sleepをオフにします。ガイド: Macをスリープさせない方法。
- MacBookではクローズドディスプレイモードを有効にし、カバンや棚の上でもコンパイルを続けつつ、ふたを閉じたら内蔵パネルをスリープさせます。ガイド: ふたを閉じたまま。
バッテリーの安全
ノートPCでは、忘れたセッションがバッテリーを使い切らないよう、スリープ防止にバッテリー自動一時停止を組み合わせてください。環境設定で下限(例: 20%)を設定すると、充電がその下に落ちたときにKeepressoが一時停止します。詳細: スマートトリガー。
スクリプトとCIマシン
ヘッドレスのビルドマシンやスクリプト化されたパイプライン向け:
# ビルドが実行されている間だけMacを起こしておく(アプリ不要)
your-build-command & keepresso -w $!
# または起動中のアプリを操作
keepresso start --for 120
keepresso stop
無人のパイプラインでは、自動化リースはstartとstopのペアよりも安全です。スクリプトが更新し続ける期限付きの許可なので、クラッシュしたジョブがMacを起こしたまま固定することはできず、リースは単に失効します。
ID=$(uuidgen)
keepresso lease acquire --id "$ID" --tool ci --task "release build" --ttl 600
# ... ビルドの実行中にループでハートビートを送る ...
keepresso lease release --id "$ID"
ジョブがAIエージェントによって動かされている場合は、これを自分で書く必要すらありません。付属のスキルとMCPサーバーが、エージェントにプロトコル全体を教えます。AIエージェントにMacを起こし続けさせるを参照してください。
インストールとPATHの注意: keepresso CLI。ビルド専用のMac miniでは、Headless Setupのチェックリストも実行し、ログインとスリープ方針を常時稼働マシンに合わせてください。
関連
Keepressoの使い方の他の記事
