Вук написал:
Вы можете использовать
pmset schedule wake "01/01/2012 20:00:00"
чтобы разбудить спящий дисплей на «проснувшемся» Mac. Замените часть даты / времени на текущее время, конечно.
Однако, это не сработало для меня на iMac 2008 года с 10.9.1 или в конце 2010 MacBook Air с 10.9.2. Я не уверен, имеет ли это какое-то отношение к управлению энергией Mavericks или аппаратному обеспечению, или как.
Я смог заставить его работать, установив время пробуждения на 15 секунд в будущем. Иногда мне удавалось заставить его работать с настройками всего 12 или 13, но ненадежно. Но, возможно, были и другие факторы, которые я тогда не осознавал, но 15 сработало, поэтому я использовал 15.
Но как вы рассчитываете 15 секунд в будущее программно?
Я использовал gdate
из пакета GNU Coreutils ( date
в OS X может быть в состоянии сделать это, но если это возможно, я не знаю, как, и я уже gdate
установил):
[использовать date
вместо gdate
псевдонима set_wake_time = 'date' -v + $ {OFFSET} S "" +% D% T "']
Вот скрипт, который я использовал:
#!/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
Все после "#################################################### ######### 'можно удалить после завершения тестирования.