MacBook Pro 2010 работает под управлением OS X Lion.
Можно ли запускать сценарии для событий сна и пробуждения?
Мое конкретное приложение состоит в том, что у меня есть тома Truecrypt с синхронизацией Dropbox, которые я регулярно использую как на своем MacBook, так и на iMac. Я редко закрываю свой MBP, так как закрывать крышку намного быстрее и проще, но это означает, что я должен помнить, чтобы отключить мои тома Truecrypt и позволить им синхронизироваться обратно перед закрытием моего MBP. Достаточно тривиально подключать / отключать их по сценариям, но я бы хотел пойти дальше и сделать так, чтобы эти сценарии запускались автоматически.
источник
SleepWatcher может быть полезен .
Из описания: Может использоваться для выполнения команды Unix, когда Mac или дисплей Mac переходит в режим ожидания или просыпается, по истечении заданного времени без взаимодействия с пользователем или когда пользователь возобновляет деятельность после перерыва или когда питание поставка ноутбука Mac прилагается или отсоединяется. Он также может отправить Mac в спящий режим или получить время с момента последней активности пользователя.
У меня нормально работает на 10.6.8. Доступны различные версии для поддержки от 10,1 (!) До 10,7
источник
brew install sleepwatcher
. И посмотрите этот пост , это очень полезно. Утилита SleepWatcher также поддерживает OS X El Capitan (10.11).Это мое собственное приложение, так что учтите это, но ControlPlane имеет возможность выполнять действия, основанные на Sleep / Wake. Вы найдете его на http://www.controlplaneapp.com/ .
ControlPlane является форком MarcoPolo и был обновлен для работы на Snow Leopard и Lion.
источник
Я разработал следующий простой Launch Daemon для обеспечения триггера «пробуждения» для скриптов на Leopard:
Вы можете заменить «сказать w» своим кодом. Я пишу дату в z, но вы можете изменить это, чтобы написать что-нибудь. Возможно, вам придется увеличить «ExitTimeOut» для некоторых сценариев. Мой демон запуска находится по адресу /Library/LaunchDaemons/wake-alert.plist
Демон запуска следит за DirectoryService.server.log и записывает во временный файл, если файл пуст. Файл очищается записью журнала «Sleep» и выключением.
Если вы используете «быстрое переключение пользователей» для перехода в спящий режим, вы обнаружите, что сценарии, для которых требуется вошедший в систему пользователь, попытаются запустить слишком рано и потерпят неудачу, если вы не измените Launch Daemon - возможно, grep «Succeeded» в «secure.log».
источник
/Library/Logs/DirectoryService/DirectoryService.server.log
не существует в Высокой Сьерре (10.13).Другая программа, которую вы можете обнаружить и попробовать - это EventScripts . Несмотря на то, что это очень впечатляющая программа , которую я рекомендовал бы вообще, после тестирования его для этой цели она НЕ на самом деле , как представляется, возможность запуска скриптов достаточно быстро для них , чтобы работать , прежде чем ваш Mac переходит в спящий режим, и вместо того, чтобы сценарий сна будет не запускайте до тех пор, пока не проснется Mac, что (очевидно) побеждает цель.
Я надеюсь спасти вас и всех, кто читает эти часы испытаний, которые потребовались мне, чтобы прийти к такому выводу. Мне жаль говорить, что это не удалось, потому что во многих отношениях это действительно хорошо продуманная, довольно мощная и гибкая программа. Это также довольно недорого (3 доллара). Тем не менее, низкоуровневая производительность, по-видимому, отсутствует для запуска сценария перед сном.
С другой стороны, в моих тестах (до сих пор) лунатик оказался довольно надежным и быстрым. Это также бесплатно, что потрясающе. Я буду продолжать тестирование, и если я обнаружу, что оно иногда не работает, я обновлю свой ответ и продолжу тестировать другие варианты.
ОБНОВЛЕНИЕ Я не обнаружил, что лунатик всегда был надежным с тех пор, как изначально писал этот ответ, хотя изначально он работал. В моем случае мне не нужно запускать произвольные сценарии, а просто извлекать внешние диски. Я нашел небольшое и недорогое приложение, которое делает это очень хорошо: Jettison . Это очень быстро стало одной из немногих утилит, без которых я не могу жить. Если ваши потребности такие же, как и у меня, я думаю, вы найдете, что это стоит тех долларов, которые они берут.
источник
WakeWatcher - это простое безликое фоновое приложение для OS X, которое я создал для решения этой проблемы. Он запускается
~/.onwake
при обнаружении пробуждения. Затем вы можете поместить команды для монтирования / перемонтирования ваших дисков в этот скрипт.WakeWatcher подходит для использования в качестве элемента входа. Это не очень сложно, но это бесплатно и просто.
Выполнение сценариев в спящем режиме было бы простым дополнением, но меня беспокоит время, которое скрипты могут выполнить до того, как система действительно перейдет в спящий режим. Если вам это действительно нужно, откройте проблему с проектом github, и я добавлю ее.
источник