Garder son Mac éveillé en ligne de commande avec la CLI keepresso
Keepresso fournit un petit outil en ligne de commande pour la piloter depuis le terminal, un script shell, un Makefile, ou une tâche CI, sans passer par la barre des menus. La commande est keepresso, et elle fonctionne de deux façons : elle peut parler à l'app de la barre des menus, ou maintenir le Mac éveillé toute seule comme le caffeinate intégré.
Installer la commande
Si vous avez installé Keepresso avec Homebrew, la commande keepresso est déjà sur votre PATH, rien à faire :
brew install --cask gyorgysh/keepresso/keepresso
Si vous avez installé l'app depuis le DMG, l'outil se trouve à l'intérieur du bundle de l'app et votre PATH ne le connaît pas encore. Créez le lien une fois :
sudo ln -s /Applications/Keepresso.app/Contents/Helpers/keepresso /usr/local/bin/keepresso
Vérifiez que tout est en place :
keepresso version
Piloter l'app
Ces commandes sont transmises à l'app Keepresso, en la lançant si elle ne tourne pas déjà. Ce sont les jumelles scriptables du menu.
keepresso start # démarre une session sans limite de durée
keepresso start --for 90 # démarre une session de 90 minutes
keepresso start --until 18:00 # tourne jusqu'à une heure donnée
keepresso stop # termine la session en cours
keepresso toggle # bascule activé ou désactivé
Ainsi une longue tâche peut réveiller le Mac quand elle commence et le laisser s'endormir quand elle termine :
keepresso start
make release
keepresso stop
Lire le statut
keepresso status indique si une session est en cours, et son code de sortie permet de brancher facilement dessus dans un script :
0le Mac est maintenu éveillé1il ne l'est pas2l'app ne tourne pas
keepresso status && echo "awake" || echo "asleep"
Ajoutez --json pour une réponse exploitable par une machine :
keepresso status --json
Le même état de session est aussi reflété dans un fichier, pour qu'un outil de barre des menus, une barre de statut, ou un widget puisse le lire sans rien lancer :
~/Library/Application Support/Keepresso/status.json
Il contient l'état actuel et des horodatages ISO 8601.
Maintiens autonomes, sans app nécessaire
Parfois vous ne voulez pas impliquer l'app du tout, vous voulez juste que ce shell garde le Mac éveillé, exactement comme caffeinate. Dans ce mode, le processus keepresso lui-même détient l'assertion d'alimentation, et le Mac est libre de se rendormir dès qu'il se termine.
keepresso -i # maintient jusqu'à ce que vous appuyiez sur Ctrl-C
keepresso -t 3600 # maintient pendant un nombre de secondes
keepresso -w 5123 # maintient jusqu'à ce que le processus 5123 se termine
keepresso -d # garde aussi l'écran éveillé (à combiner avec ce qui précède)
keepresso -u # déclare une activité utilisateur : réveille l'écran maintenant
Le motif le plus utile est de lier l'éveil à la durée de vie d'une commande ou d'un shell :
keepresso -w $$ & # reste éveillé tant que ce shell vit
ffmpeg -i in.mov out.mp4 && keepresso stop
Comme ces maintiens sont de véritables assertions d'alimentation macOS, ils apparaissent dans pmset -g assertions et dans le panneau Activité de Keepresso, aux côtés de toute autre app maintenant le Mac actif.
Voir aussi
- Piloter Keepresso depuis Shortcuts, Raycast ou un script couvre les actions Shortcuts et le schéma d'URL
keepresso://pour l'automatisation sans terminal. - Une alternative à caffeinate pour macOS explique comment Keepresso se situe par rapport à la commande
caffeinateintégrée.
Obtenir Keepresso
Gratuit et open source, pour macOS 14 et versions ultérieures. Installez-le et gardez votre Mac éveillé, selon vos règles.
Plus dans Utiliser Keepresso