Keepresso
Keepresso
Keepressoの使い方

コマンドラインからMacを起こしておく

György
監修
György
更新 Jul 23, 2026 2 min

Keepressoには小さなコマンドラインツールが付属しており、メニューバーに手を伸ばさなくても、ターミナル、シェルスクリプト、Makefile、CIジョブから操作できます。コマンドはkeepressoで、2通りの使い方があります。メニューバーアプリに指示を送る方法と、標準のcaffeinateのようにそれ自体でMacを起こしておく方法です。

コマンドをインストールする

Homebrewでkeepressoをインストールした場合、keepressoコマンドはすでにPATHに入っているので、何もする必要はありません。

brew install --cask gyorgysh/keepresso/keepresso

DMGからアプリをインストールした場合は、このツールはアプリバンドルの中にあり、PATHはまだそれを認識していません。一度だけリンクしてください。

sudo ln -s /Applications/Keepresso.app/Contents/Helpers/keepresso /usr/local/bin/keepresso

正しく設定されているか確認します。

keepresso version

アプリを操作する

これらのコマンドはKeepressoアプリに送られ、まだ起動していなければ起動します。メニューのスクリプト版だと考えてください。

keepresso start                 # start an open-ended session
keepresso start --for 90        # start a 90 minute session
keepresso start --until 18:00   # run until a wall-clock time
keepresso stop                  # end the current session
keepresso toggle                # flip it on or off

これにより、長時間のジョブは開始時にMacを起こし、終了時にスリープさせることができます。

keepresso start
make release
keepresso stop

ステータスを確認する

keepresso statusは、セッションが実行中かどうかを教えてくれます。その終了コードはスクリプト内で分岐させるのに便利です。

  • 0 Macは起こされている
  • 1 起こされていない
  • 2 アプリが実行されていない
keepresso status && echo "awake" || echo "asleep"

機械可読な結果が欲しい場合は--jsonを付けてください。

keepresso status --json

同じセッション状態はファイルにもミラーリングされているので、メニューバーツールやステータスライン、ウィジェットが何も起動せずに読み取ることができます。

~/Library/Application Support/Keepresso/status.json

現在の状態とISO 8601形式のタイムスタンプが記録されています。

アプリなしのスタンドアロン保持

アプリをまったく関与させたくないこともあります。ただこのシェル一つがMacを起こしておいてくれればよく、caffeinateとまったく同じです。このモードではkeepressoプロセス自体がPower Assertionを保持し、終了した瞬間にMacは再びスリープできるようになります。

keepresso -i            # hold until you press Ctrl-C
keepresso -t 3600       # hold for a number of seconds
keepresso -w 5123       # hold until process 5123 exits
keepresso -d            # also keep the display awake (combine with the above)
keepresso -u            # declare user activity: wake the display now

最も便利なパターンは、コマンドやシェルの寿命に起きている状態を結びつけることです。

keepresso -w $$ &       # stay awake as long as this shell lives
ffmpeg -i in.mov out.mp4 & keepresso -w $!   # エンコードが終わるまで起こしておく

これらの保持は本物のmacOS Power Assertionなので、pmset -g assertionsにも、Keepresso自身のアクティビティペインにも、Macを起こしている他のすべてのアプリと並んで表示されます。

スクリプトとエージェント向けの自動化リース

stopのないstartは、スクリプトがクラッシュするとMacを永遠に起こしたまま固定してしまうことがあります。無人の自動化では、代わりにリースを取得してください。所有者が更新し続けなければならない時間制限付きの、期限付きの許可です。ツールが停止すれば、リースは失効し、Macは再びスリープできます。

ID=$(uuidgen)
keepresso lease acquire --id "$ID" --tool my-script --task "nightly render" --ttl 600
keepresso lease heartbeat --id "$ID"   # renew before half the TTL elapses, on a loop
keepresso lease release --id "$ID"     # done, let the Mac rest
keepresso lease list --json            # every live lease, machine-readable

稼働中のリースはカウントダウン付きでメニューに表示され、Keepressoはそれらをすべて統合します。最大寿命(上限7日)は、ハートビートでも延長できない上限です。プロトコル全体、MCPサーバー、ワンクリックのエージェントスキルについては、AIエージェントにMacを起こし続けさせるで扱っています。

起床スケジュール

CLIは、システムのスケジュールされた起床を読み取ることもでき、あなたの許可があればそれを変更することもできます。

keepresso wake status                          # read the schedule, always allowed
keepresso wake set --at "2026-07-24 07:30"     # one-shot wake
keepresso wake set --repeat MTWRF --time 07:30 # repeating wake
keepresso wake clear

statusは誰でも使えます。setclear管理者ヘルパーを通じてシステム全体の変更を適用するため、環境設定、Automation自動化による起床スケジュールの変更を許可がオンのときにのみ動作します。これはデフォルトでオフです。

関連記事

Keepressoを入手

無料でオープンソース、macOS 14以降に対応。インストールして、自分のルールでMacをスリープさせないようにしましょう。

Keepressoの使い方の他の記事

Macを決めた時間だけ起こしておく
タイマー付きのスリープ防止セッションを開始すれば、ダウンロードやレンダリングの間だけMacを起こしておき、その後は自動でスリープさせられます。
MacBookをふたを閉じたまま起こしておく
無料でオープンソースのアプリで、バッテリー駆動で、外部ディスプレイも電源ケーブルもなしに、ふたを閉じたときにMacBookがスリープしないようにしましょう。
スマートトリガーで、必要なときだけ起こしておく
アプリの実行中、通話中、電源接続中など、条件を設定してKeepressoがMacを起こしておくようにしましょう。不要なときはオンになりません。
自動化リースでAIエージェントにMacを起こし続けさせる
AIエージェントやスクリプトに、安全にMacを起こしておく手段を与えましょう。自動化リースは期限付きで自動的に失効し、MCPサーバーと付属のエージェントスキルがエージェントにプロトコル全体を教えます。

人間が主導・確認 · AI支援コンテンツ · AIツールは下書き、編集、保守、文法や分かりやすさの改善に使うことがあります。自動公開は行わず、すべての変更を人間のメンテナーが確認します。