MacBook Pro 2010 sous OS X Lion.
Est-il possible d'exécuter des scripts sur les événements de veille et de veille?
Mon application spécifique est que j'ai des volumes Truecrypt synchronisés avec Dropbox que j'utilise régulièrement sur mon MacBook et sur mon iMac. Je ferme rarement mon MBP car fermer le couvercle est beaucoup plus rapide et facile, mais cela signifie que je dois me rappeler de démonter mes volumes Truecrypt et de les laisser se synchroniser avant la fermeture de mon MBP. Il est assez simple de monter / démonter des scripts, mais j'aimerais aller plus loin et faire en sorte que ces scripts s'exécutent automatiquement.
la source
SleepWatcher peut être utile.
De la description: Il peut être utilisé pour exécuter une commande Unix lorsque le Mac ou l’affichage du Mac passe en mode veille ou s’active, après un laps de temps donné, sans interaction de l’utilisateur ou lorsque l’utilisateur reprend l’activité après une pause ou lorsque la fourniture d'un ordinateur portable Mac est attachée ou détachée. Il peut également envoyer le Mac en mode veille ou récupérer le temps écoulé depuis la dernière activité de l'utilisateur.
Cela fonctionne bien pour moi sur 10.6.8. Différentes versions sont disponibles pour prendre en charge les versions 10.1 (!) À 10.7
la source
brew install sleepwatcher
. Et voir ce post , c'est très utile. L'utilitaire SleepWatcher prend également en charge OS X El Capitan (10.11).Ceci est ma propre application, donc considérez cela, mais ControlPlane a la capacité de faire des actions basées sur Sleep / Wake. Vous le trouverez à l' adresse http://www.controlplaneapp.com/ .
ControlPlane est un fork de MarcoPolo et a été mis à jour pour fonctionner sur Snow Leopard et Lion.
la source
J'ai développé le démon de lancement simple suivant pour fournir un déclencheur de «réactivation» pour les scripts sur Leopard:
Vous pouvez remplacer "say w" par votre code. J'écris une date à z mais vous pouvez changer cela pour écrire n'importe quoi. Vous devrez peut-être augmenter «ExitTimeOut» pour certains scripts. Mon démon de lancement réside dans /Library/LaunchDaemons/wake-alert.plist
Le démon de lancement surveille DirectoryService.server.log et écrit dans un fichier temporaire à condition que le fichier soit vide. Le fichier est effacé par une entrée du journal 'Sleep' et par Shut Down.
Si vous utilisez l'option 'Changement rapide d'utilisateur' en veille, vous constaterez que les scripts nécessitant un utilisateur connecté essaieront de s'exécuter trop tôt et échoueront à moins que vous ne modifiiez le démon de lancement - peut-être grep 'Succeeded' dans 'secure.log'.
la source
/Library/Logs/DirectoryService/DirectoryService.server.log
n'existe pas dans High Sierra (10.13).EventScripts est un autre programme que vous pourriez découvrir et que vous pourriez être tenté d'essayer . Bien que ce soit un programme très impressionnant, que je recommanderais en général, après l'avoir testé à cette fin, il ne semble PAS réellement être en mesure de déclencher les scripts assez rapidement pour qu'ils puissent s'exécuter avant que votre Mac ne se mette en veille. ne pas courir avant que le Mac se soit réveillé, ce qui (évidemment) va à l'encontre du but recherché.
J'espère vous épargner, à vous et à quiconque lisant ceci, les heures de tests qu'il m'a fallu pour arriver à cette conclusion. Je suis désolé de devoir dire que cela a échoué, cependant, car à bien des égards, il s'agit d'un programme vraiment bien conçu, assez puissant et flexible. C'est aussi très bon marché (3 $). Les performances de bas niveau ne semblent tout simplement pas être là, cependant, pour exécuter un script avant de dormir.
D'autre part, dans mes tests (jusqu'à présent), somnambule est apparu assez fiable et rapide. C'est aussi gratuit, ce qui est génial. Je vais continuer à tester et si je trouve que cela ne fonctionne pas parfois, je mettrai à jour ma réponse et continuerai à tester d'autres options.
MISE À JOUR Je n'ai pas trouvé somnambule toujours fiable depuis la rédaction de cette réponse, même si au début il semblait fonctionner. Dans mon cas, je n'ai pas besoin d'exécuter des scripts arbitraires, mais simplement d'éjecter des lecteurs externes. J'ai trouvé une petite application bon marché qui fait très bien jusqu'à présent: Jettison . C’est très vite devenu l’une des rares installations sans lesquelles je ne peux pas vivre. Si vos besoins sont les mêmes que les miens, je pense que vous trouverez que cela vaut bien les quelques dollars qu’ils facturent.
la source
WakeWatcher est une simple application de fond sans visage pour OS X que j'ai créée pour résoudre ce problème. Il fonctionne
~/.onwake
chaque fois que le réveil est détecté. Vous pouvez ensuite mettre les commandes pour monter / remonter vos disques dans ce script.WakeWatcher peut être utilisé comme élément de connexion. Ce n'est pas très sophistiqué, mais c'est gratuit et simple.
L'exécution de scripts en veille serait un ajout simple, mais je suis préoccupé par le temps qu'il faut pour que les scripts se terminent avant que le système ne dorme réellement. Si vous en avez vraiment besoin, ouvrez un problème contre le projet github et je l'ajouterai.
la source