Empêcher le sommeil du système pendant qu'un processus ou une commande est active dans Mac OS X

De nombreux utilisateurs Mac utilisent des utilitaires pour empêcher temporairement leur ordinateur de dormir, reposant souvent sur des coins de sommeil, l'outil tiers appelé Caffeine, pmset, ou plus récemment, l'utilitaire de ligne de commande qui est maintenant associé à OS X appelé caffeinate. Par défaut, l'élément Caffeine menubar et la commande caffeinate empêchent le mode de veille tant qu'ils sont activés individuellement, très utile pour les utilisateurs de bureau sous Mac, mais pas particulièrement utile si vous souhaitez utiliser la fonction de veille OS X dépend de l'achèvement d'un processus ou d'une tâche spécifique.

C'est ce que nous allons aborder ici en utilisant la ligne de commande, qui a une prévention du sommeil dépendante du processus qui bloque seulement la fonction de sommeil Mac pendant qu'une commande, une tâche ou un processus spécifié est en cours ou actif, et quand c'est fini, le l'ordinateur restaurera les habitudes de sommeil traditionnelles.


Pour éviter le sommeil spécifique à la commande, nous allons utiliser une variante de la commande caféine, qui peut empêcher le sommeil de plusieurs façons. Nous allons passer en revue quelques exemples, mais la page de manuel de caféine fournit quelques options supplémentaires qui peuvent être souhaitables pour d'autres situations aussi.

Pour notre propos ici de rendre la prévention du sommeil dépendante de l'accomplissement d'une commande ou d'un processus spécifique, vous utiliserez l'option -i flag comme suit:

caffeinate -i [command / process]

Cela peut déjà être évident, mais l'exécution de la commande caffeinate comme ceci lancera également la commande ou le processus spécifié dans l'argument.

Par exemple, si vous voulez que le Mac évite de dormir lorsque la commande "make" est active, vous devez utiliser la syntaxe de commande suivante:

caffeinate -i make

Ou peut-être vous voulez juste empêcher le sommeil pendant qu'une connexion ssh est active à un serveur spécifique, et vous voulez envoyer la commande caffeinate en arrière-plan, alors vous appliqueriez une esperluette à la fin comme si:

caffeinate -i ssh coffeebeans &

Vous pouvez même lancer ceci avec vos propres scripts ou commandes à un autre endroit:

caffeinate -i /private/tmp/./whatisthis.sh

Ou pour activer la prévention du sommeil tant que le navigateur Web Safari s'exécute dans l'interface graphique, utilisez la syntaxe suivante, notez que vous devez spécifier le chemin d'accès complet au fichier binaire dans le fichier .app:

caffeinate -i /Applications/Safari.app/Resources/MacOS/Safari

L'indicateur -i empêche la mise en veille du système, mais vous pouvez utiliser d'autres indicateurs pour créer des assertions afin d'empêcher le disque ou l'affichage de s'endormir également. Pour empêcher la mise en veille de l'écran (c'est-à-dire, l'écran s'éteint et passe en mode verrouillé ou un économiseur d'écran), l'indicateur -d est nécessaire:

caffeinate -d [command / process]

Comme l'indicateur -i, cela peut s'appliquer à n'importe quelle tâche système, qu'elle soit exécutée à partir de la ligne de commande ou de l'interface graphique, assurez-vous simplement de spécifier le nom correct avec la casse appropriée. Un autre exemple:

caffeinate -d telnet towel.blinkenlights.nl

Cette commande signifie que tant que telnet vers le film Star Wars ASCII est actif, l'affichage des Mac ne sera pas en veille. Si telnet est désactivé ou si Star Wars a terminé sa lecture, le système peut se mettre en veille comme d'habitude, défini par les paramètres de veille et d'énergie sous OS X.

Bien sûr, puisque la caféine est entièrement basée sur la ligne de commande, elle ne sera pas applicable à tous les utilisateurs, mais pour ceux qui passent beaucoup de temps dans le Terminal, cela peut être une bonne astuce. Pour les utilisateurs Mac qui sont plus à l'aise dans l'interface utilisateur graphique, un coin anti-sommeil efficace et l'utilisation de l'application Caffeine sont toujours les meilleurs moyens d'effectuer des fonctions similaires.

Si vous souhaitez effectuer une tâche similaire au processus mais en évitant le Terminal et la ligne de commande, l'application Wimoweh accomplit la même chose qu'une barre de menu déroulante, bien que ce soit une application payante qui peut la rendre moins désirable pour certains utilisateurs. et il n'offre pas un processus général ou un argument d'achèvement de tâche basé sur une ligne de commande. Ainsi, la caféine avec un drapeau approprié est encore préférée par beaucoup.