wuc написав:
Можна використовувати
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 = 'дата "-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
Все після '################################################## ######### 'Ви можете видалити, як тільки ви закінчите тестування.