wuc escribió:
Puedes usar
pmset schedule wake "01/01/2012 20:00:00"
para despertar una pantalla dormida en una Mac "despierta". Reemplace la parte de fecha / hora con la hora actual, por supuesto.
Sin embargo, eso no funcionó para mí en un iMac circa 2008 con 10.9.1 o un MacBook Air de finales de 2010 con 10.9.2. No estoy seguro de si esto tiene algo que ver con la administración de energía de Mavericks o el hardware, o qué.
Pude hacer que funcionara configurando el tiempo de activación en 15 segundos en el futuro. Ocasionalmente pude hacer que funcione con la configuración tan baja como 12 o 13, pero no de manera confiable. Pero puede haber otros factores de los que no me di cuenta en ese momento, pero 15 funcionaron, así que usé 15.
Pero, ¿cómo calculas 15 segundos en el futuro mediante programación?
Utilicé gdate
el paquete GNU Coreutils ( date
en OS X podría hacerlo, pero si puede, no sé cómo, y ya lo había gdate
instalado):
[para usar en date
lugar de gdate
usar alias set_wake_time = 'date "-v + $ {OFFSET} S" "+% D% T"']
Aquí está el script que usé:
#!/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
Todo después de '############################################## ######### 'se puede eliminar una vez que haya terminado la prueba.