Keepresso
Keepresso
Usare Keepresso

Mantieni sveglio il Mac da riga di comando

György
Revisionato da
György
Aggiornato Jul 23, 2026 4 min

Keepresso include un piccolo strumento da riga di comando così puoi controllarla dal terminale, da uno script di shell, da un Makefile o da un job di CI, senza passare dalla barra dei menu. Il comando è keepresso, e funziona in due modi: può parlare con l'app da barra dei menu, oppure può mantenere sveglio il Mac da solo come il comando integrato caffeinate.

Installa il comando

Se hai installato Keepresso con Homebrew, il comando keepresso è già nel tuo PATH, niente da fare:

brew install --cask gyorgysh/keepresso/keepresso

Se invece hai installato l'app dal DMG, lo strumento si trova dentro il pacchetto dell'app e il tuo PATH non lo conosce ancora. Collegalo una volta:

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

Verifica che sia collegato:

keepresso version

Controlla l'app

Questi comandi vengono inviati all'app Keepresso, avviandola se non è già in esecuzione. Sono il gemello scriptabile del menu.

keepresso start                 # avvia una sessione senza scadenza
keepresso start --for 90        # avvia una sessione di 90 minuti
keepresso start --until 18:00   # resta attivo fino a un orario preciso
keepresso stop                  # termina la sessione corrente
keepresso toggle                # attivala o disattivala

Così un lavoro lungo può svegliare il Mac quando inizia e lasciarlo sospendere quando finisce:

keepresso start
make release
keepresso stop

Leggi lo stato

keepresso status ti dice se una sessione è in esecuzione, e il suo codice di uscita rende facile fare diramazioni in uno script:

  • 0 il Mac viene mantenuto sveglio
  • 1 non lo è
  • 2 l'app non è in esecuzione
keepresso status && echo "sveglio" || echo "addormentato"

Aggiungi --json per una risposta leggibile da una macchina:

keepresso status --json

Lo stesso stato della sessione è anche rispecchiato in un file, così uno strumento da barra dei menu, una status line o un widget possono leggerlo senza avviare nulla:

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

Contiene lo stato attuale e timestamp in formato ISO 8601.

Sessioni autonome, nessuna app necessaria

A volte non vuoi coinvolgere l'app per niente, vuoi solo che questa shell mantenga sveglio il Mac, esattamente come caffeinate. In questa modalità è il processo keepresso stesso a mantenere la power assertion, e il Mac è libero di sospendersi di nuovo nel momento in cui il processo termina.

keepresso -i            # resta attivo finché non premi Ctrl-C
keepresso -t 3600       # resta attivo per un numero di secondi
keepresso -w 5123       # resta attivo finché il processo 5123 non termina
keepresso -d            # mantiene sveglio anche il display (combinabile con quanto sopra)
keepresso -u            # dichiara attività utente: riattiva subito il display

Lo schema più utile è legare la veglia alla vita di un comando o di una shell:

keepresso -w $$ &       # resta sveglio finché questa shell è viva
ffmpeg -i in.mov out.mp4 & keepresso -w $!   # resta sveglio finché la codifica non finisce

Poiché queste sessioni sono vere power assertion di macOS, compaiono in pmset -g assertions e nel pannello Attività di Keepresso stesso, insieme a ogni altra app che mantiene sveglio il Mac.

Lease di automazione, per script e agenti

Uno start senza stop può inchiodare sveglio il Mac per sempre se lo script va in crash. Per l'automazione non supervisionata, prendi invece un lease: una concessione a durata limitata con un limite di tempo che il proprietario deve continuare a rinnovare. Se lo strumento muore, il lease scade e il Mac può tornare a dormire.

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

I lease attivi compaiono nel menu con un conto alla rovescia, Keepresso li unisce tutti, e una durata massima (limitata a 7 giorni) è un tetto che gli heartbeat non possono estendere. Il protocollo completo, il server MCP e la skill per agenti a un clic sono trattati in lascia che gli agenti IA mantengano sveglio il Mac.

Programmazione di risveglio

Il CLI può anche leggere i risvegli programmati del sistema e, con il tuo permesso, modificarli:

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 funziona per chiunque. set e clear applicano una modifica a livello di sistema tramite l'helper amministratore, quindi funzionano solo mentre Consenti all'automazione di modificare la programmazione di risveglio è attivo in Preferenze, Automazione. È disattivato per impostazione predefinita.

Correlati

Ottieni Keepresso

Gratuita e open source, per macOS 14 e versioni successive. Installala e mantieni il Mac sveglio come vuoi tu.

Altro in Usare Keepresso

Mantieni sveglio il Mac per un tempo prestabilito
Avvia una sessione a tempo di mantenimento sveglio così il tuo Mac resta acceso per un download o un render, poi si sospende da solo.
Mantieni sveglio il MacBook a coperchio chiuso
Impedisci al MacBook di sospendersi quando chiudi il coperchio, a batteria, senza schermo esterno e senza cavo di alimentazione, usando un'app gratuita e open source.
Resta sveglio solo quando serve, con trigger intelligenti
Imposta condizioni così Keepresso mantiene sveglio il Mac solo mentre un'app è in esecuzione, una chiamata è in corso, sei a corrente, e altro. Mai attivo quando non dovrebbe esserlo.
Lascia che gli agenti IA tengano sveglio il Mac
Dai agli agenti IA e agli script un modo sicuro per tenere sveglio il Mac. I lease di automazione hanno durata limitata e scadono da soli, con un server MCP e una skill per agenti integrata che insegnano al tuo agente l'intero protocollo.