wuc a écrit:
Vous pouvez utiliser
pmset schedule wake "01/01/2012 20:00:00"
pour réveiller un écran de veille sur un Mac autrement "éveillé". Remplacez la partie date / heure par l'heure actuelle bien sûr.
Cependant, cela n'a pas fonctionné pour moi sur un iMac vers 2008 exécutant 10.9.1 ou un MacBook Air fin 2010 exécutant 10.9.2. Je ne sais pas si cela a quelque chose à voir avec la gestion de l'énergie de Mavericks ou le matériel, ou quoi.
J'ai pu le faire fonctionner en définissant l'heure de réveil à 15 secondes dans le futur. Parfois, j'ai pu le faire fonctionner avec un réglage aussi bas que 12 ou 13, mais pas de manière fiable. Mais il y avait peut-être d'autres facteurs que je ne comprenais pas à l'époque, mais 15 ont fonctionné, alors j'ai utilisé 15.
Mais comment calculer 15 secondes dans le futur par programme?
J'ai utilisé à gdate
partir du paquet GNU Coreutils ( date
dans OS X pourrait être en mesure de le faire, mais si c'est le cas, je ne sais pas comment, et j'avais déjà gdate
installé):
[à utiliser date
au lieu d' gdate
utiliser l'alias set_wake_time = 'date "-v + $ {OFFSET} S" "+% D% T"']
Voici le script que j'ai utilisé:
#!/bin/zsh -f
# how many seconds into the future we want to wake the display
# 15 seems to work reliably. YMMV.
OFFSET=15
# to calculate the time, we need `gdate`
alias set_wake_time='/usr/local/bin/gdate --date "+${OFFSET} sec" "+%m/%d/%g %H:%M:%S"'
# this is where we set the wake command
# if it doesn't succeed the script will exit immediately
/usr/bin/sudo /usr/bin/pmset schedule wake "`set_wake_time`" || exit 1
# if you were not testing this, you'd probably want to end at the
# next line. Just remove the leading '#'
#exit 0
#######################################################
### Everything below this line is only needed during testing ###
# this tells the display to sleep
# because we can test waking the screen up unless it's asleep
pmset displaysleepnow
# for testing purposes: now the script will pause for $OFFSET seconds
sleep $OFFSET
# For testing purposes:
# after $OFFSET seconds, this sound will play 3 times.
# by that time, the display should be awake
# I did this to help me know when I had set OFFSET too low
afplay /System/Library/Sounds/Glass.aiff
afplay /System/Library/Sounds/Glass.aiff
afplay /System/Library/Sounds/Glass.aiff
# script is done
exit 0
Tout ce qui se trouve après le '############################################## ######### 'peut être supprimé une fois les tests terminés.