Keepresso
Keepresso
Utiliser Keepresso

Garder son Mac éveillé en ligne de commande

György
Vérifié par
György
Mis à jour Jul 23, 2026 4 min

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 :

  • 0 le Mac est maintenu éveillé
  • 1 il ne l'est pas
  • 2 l'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 -w $!   # reste éveillé jusqu'à la fin de l'encodage

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.

Baux d'automatisation, pour scripts et agents

Un start sans stop peut maintenir le Mac éveillé pour toujours si le script plante. Pour une automatisation sans surveillance, prenez plutôt un bail : une concession limitée avec une durée de vie que le propriétaire doit renouveler sans cesse. Si l'outil meurt, le bail expire et le Mac peut de nouveau s'endormir.

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

Les baux actifs apparaissent dans le menu avec des comptes à rebours, Keepresso les réunit tous, et une durée de vie maximale (plafonnée à 7 jours) est un plafond que les battements ne peuvent pas prolonger. Le protocole complet, le serveur MCP et la compétence d'agent en un clic sont détaillés dans laissez les agents IA garder votre Mac éveillé.

Calendrier de réveil

La CLI peut aussi lire les réveils planifiés du système, et, avec votre permission, les modifier :

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 fonctionne pour tout le monde. set et clear appliquent un changement à l'échelle du système via l'assistant administrateur, donc ils ne fonctionnent que si Autoriser l'automatisation à modifier le calendrier de réveil est activé sous Préférences, Automatisation. C'est désactivé par défaut.

Voir aussi

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

Garder son Mac éveillé pour une durée définie
Démarrez une session minutée de maintien éveillé pour que votre Mac reste actif le temps d'un téléchargement ou d'un rendu, puis se mette en veille de lui-même.
Garder son MacBook éveillé capot fermé
Empêchez votre MacBook de se mettre en veille quand vous fermez le capot, sur batterie, sans écran externe et sans câble d'alimentation, grâce à une appli gratuite et open source.
Éveillé seulement si besoin, déclencheurs intelligents
Définissez des conditions pour que Keepresso garde votre Mac éveillé seulement pendant qu'une app tourne, qu'un appel est en cours, que vous êtes sur secteur, et plus. Jamais actif quand il ne le devrait pas.
Agents IA et baux d'automatisation gardent le Mac éveillé
Donnez aux agents IA et aux scripts un moyen sûr de garder votre Mac éveillé. Les baux d'automatisation sont limités dans le temps et expirent d'eux-mêmes, avec un serveur MCP et une compétence d'agent intégrée qui apprennent tout le protocole à votre agent.