Mac von der Kommandozeile aus wach halten
Keepresso liefert ein kleines Kommandozeilen-Tool, mit dem du es aus dem Terminal, einem Shell-Skript, einem Makefile oder einem CI-Job steuern kannst, ohne zur Menüleiste zu greifen. Der Befehl heißt keepresso, und er funktioniert auf zwei Arten: Er kann mit der Menüleisten-App sprechen, oder er kann den Mac ganz von allein wach halten wie das eingebaute caffeinate.
Den Befehl installieren
Hast du Keepresso mit Homebrew installiert, ist der keepresso-Befehl schon in deinem PATH, nichts zu tun:
brew install --cask gyorgysh/keepresso/keepresso
Hast du die App stattdessen aus der DMG installiert, steckt das Tool im App-Bundle, und dein PATH weiß noch nichts davon. Verlink es einmal:
sudo ln -s /Applications/Keepresso.app/Contents/Helpers/keepresso /usr/local/bin/keepresso
Prüf, ob es funktioniert:
keepresso version
Die App steuern
Diese Befehle werden an die Keepresso-App geschickt und starten sie, falls sie nicht schon läuft. Sie sind das skriptbare Gegenstück zum Menü.
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
So kann ein langer Job den Mac beim Start wecken und beim Ende schlafen lassen:
keepresso start
make release
keepresso stop
Den Status auslesen
keepresso status sagt dir, ob eine Sitzung läuft, und sein Exit-Code macht es leicht, in einem Skript darauf zu verzweigen:
0der Mac wird wach gehalten1wird er nicht2die App läuft nicht
keepresso status && echo "awake" || echo "asleep"
Füg --json hinzu für eine maschinenlesbare Antwort:
keepresso status --json
Derselbe Sitzungsstatus wird auch in eine Datei gespiegelt, damit ein Menüleisten-Tool, eine Statuszeile oder ein Widget ihn auslesen kann, ohne etwas zu starten:
~/Library/Application Support/Keepresso/status.json
Sie enthält den aktuellen Status und ISO-8601-Zeitstempel.
Eigenständige Holds, ganz ohne App
Manchmal willst du die App gar nicht involvieren, du willst einfach, dass diese eine Shell den Mac wach hält, genau wie caffeinate. In diesem Modus hält der keepresso-Prozess selbst die Power Assertion, und der Mac darf wieder schlafen, sobald er beendet wird.
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
Das nützlichste Muster ist, die Wachheit an die Lebensdauer eines Befehls oder einer Shell zu binden:
keepresso -w $$ & # stay awake as long as this shell lives
ffmpeg -i in.mov out.mp4 & keepresso -w $! # bleibt wach, bis die Kodierung fertig ist
Weil diese Holds echte macOS-Power-Assertions sind, tauchen sie in pmset -g assertions auf, und auch in Keepressos eigenem Aktivitäts-Bereich, direkt neben jeder anderen App, die den Mac wach hält.
Automatisierungs-Leases, für Skripte und Agenten
Ein start ohne stop kann den Mac für immer wach pinnen, wenn das Skript abstürzt. Für unbeaufsichtigte Automatisierung nimm stattdessen eine Lease: eine begrenzte Erteilung mit Zeitlimit, die der Besitzer immer wieder erneuern muss. Stirbt das Tool, läuft die Lease aus und der Mac darf wieder schlafen.
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
Aktive Leases erscheinen im Menü mit Countdowns, Keepresso vereint sie alle, und eine maximale Lebensdauer (auf 7 Tage gedeckelt) ist eine Obergrenze, die Heartbeats nicht verlängern können. Das vollständige Protokoll, der MCP-Server und der Ein-Klick-Agenten-Skill werden in KI-Agenten deinen Mac wach halten lassen behandelt.
Aufweckplan
Die CLI kann auch die geplanten System-Aufwecke auslesen und, mit deiner Erlaubnis, ändern:
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 funktioniert für jeden. set und clear wenden eine systemweite Änderung über den Administrator-Helper an, sie funktionieren also nur, solange Automatisierung darf den Aufweckplan ändern unter Einstellungen, Automatisierung an ist. Standardmäßig ist es aus.
Verwandte Themen
- Keepresso von Shortcuts, Raycast oder einem Skript aus steuern behandelt die Shortcuts-Aktionen und das
keepresso://URL scheme für Automatisierung ganz ohne Terminal. - Keepresso vs Amphetamine, KeepingYouAwake und caffeinate erklärt, wie Keepresso sich zum eingebauten
caffeinate-Befehl verhält.
Keepresso holen
Kostenlos und Open Source, für macOS 14 und neuer. Installiere es und halte deinen Mac wach, zu deinen Bedingungen.
Mehr in Keepresso verwenden
