wuc escribió:
Puedes usar
pmset schedule wake "01/01/2012 20:00:00"
para activar una pantalla inactiva en una Mac que de otra manera está "despierta". Reemplace la parte de fecha / hora con la hora actual del curso.
Sin embargo, eso no funcionó para mí en un iMac de 2008 aproximadamente con 10.9.1 o un MacBook Air de 2010 con 10.9.2. No estoy seguro de si esto tiene algo que ver con la administración de energía o el hardware de Mavericks, o qué.
Pude hacer que funcionara configurando la hora de despertar en 15 segundos en el futuro. Ocasionalmente pude hacer que funcionara con la configuración tan baja como 12 o 13, pero no de forma confiable. Pero puede haber otros factores que no me di cuenta en ese momento, pero 15 funcionaron, por lo que utilicé 15.
¿Pero cómo calculamos 15 segundos en el futuro programáticamente?
Usé gdate
del paquete GNU Coreutils ( date
en OS X podría hacer esto, pero si puede, no sé cómo, y ya tenía gdate
instalado):
[para usar date
en lugar de gdate
use el alias set_wake_time = 'date "-v + $ {OFFSET} S" "+% D% T"']
Aquí está el script que utilicé:
#!/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.