Mantieni sveglio il Mac da riga di comando con il CLI keepresso
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:
0il Mac viene mantenuto sveglio1non lo è2l'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 stop
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.
Correlati
- Controlla Keepresso da Shortcuts, Raycast o uno script copre le azioni Shortcuts e lo schema URL
keepresso://per l'automazione senza terminale. - Un'alternativa a caffeinate per macOS spiega come Keepresso si relaziona al comando integrato
caffeinate.
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