Можливо запускати сценарії уві сні і прокидатися?


48

MacBook Pro 2010 з ОС X X Lion.

Чи можливо запускати сценарії в режимі сну і будити?

Моя конкретна програма полягає в тому, що я отримую синхронізовані Dropbox томи Truecrypt, які я регулярно використовую як на моєму MacBook, так і на iMac. Я рідко вимикаю свій MBP, оскільки закриття кришки відбувається набагато швидше і простіше, але це означає, що я повинен пам’ятати, щоб демонтувати томи Truecrypt і дозволити їм синхронізуватись перед закриттям MBP. Це досить тривіально для монтажу / демонтажу сценаріїв, але я хотів би зробити крок далі і автоматичні запуск цих сценаріїв.

Відповіді:


17

Здається, що в міру роботи ОС, режим сну / пробудження не може запускати сценарії , але розроблені рішення сторонніх розробників.

Я не маю особистого досвіду роботи з цими програмами чи їхніми постачальниками.


2
Сценарій, здається, робить те, що я шукаю. Дякую!
sh-beta

У мене був сценарій, щоб запустити яблучний сценарій, який вистрілює сценарій bash і voilá.
повторне

Щоб закінчити програму, просто введіть це у новому вікні AppleScrip і збережіть його у папці SleepScripts: скажіть програмі "CodeBox" вийти з кінця
Tell

24

SleepWatcher може бути корисним.

З опису: Він може використовуватися для виконання команди Unix, коли Mac або дисплей Mac переходить у сплячий режим або прокидається, через певний час без взаємодії з користувачем або коли користувач відновить діяльність після перерви або коли живлення Поставка ноутбука Mac додається або від'єднується. Він також може пересилати Mac у сплячий режим або отримувати час з часу останньої активності користувача.

Для мене це добре працює 10.6.8. Доступні різні версії для підтримки 10.1 (!) До 10.7


Ось купа підказок Mac OSX, які використовують SleepWatcher.
studgeek

4
Ви можете встановити SleepWatcher від Homebrew , наприклад brew install sleepwatcher. І дивіться цю публікацію , це дуже корисно. Утиліта SleepWatcher також підтримує OS X El Capitan (10.11).
Rockallite

11

Це власне додаток, тому врахуйте це, але ControlPlane має можливість робити дії, засновані на режимі сну / пробудження. Ви знайдете його за адресою http://www.controlplaneapp.com/ .

ControlPlane - це роздріб MarcoPolo і оновлений для роботи на Snow Leopard та Lion.


1
Дуже класна звукова утиліта, її надмірна кількість тільки для цього, але якщо у вас є необхідність спрацьовувати більше, ніж прокидатися / спати, то це звучить досить круто. Мені подобається підтримка Growl, щоб ви знали, що це робить. І це безкоштовно :).
studgeek

2
Має бути прийнятою відповіддю, оскільки її безкоштовно
Кевін Паркер

чи можна це використовувати для монтажу та відключення приводів у режимі сну та неспання? чи потрібно писати сценарії автоматизатора?
bicepjai

1
через кілька років керуючий літак тепер не підтримується через нарощування несумісностей, які Дастін розмістив у своєму блозі, що не встиг виправити. Дуже погано, але має сенс.
lahwran

6

Я розробив наступний простий Launch Daemon, щоб забезпечити тригер 'wake' для сценаріїв Leopard:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>wake-alert</string>
    <key>ProgramArguments</key>
    <array>
        <string>/bin/bash</string>
        <string>-c</string>
        <string>z=/tmp/wake; test -s $z || { date > $z; say w; }; 
tail -1 /Library/Logs/DirectoryService/DirectoryService.server.log | grep -v Sleep || > $z
        </string>
    </array>
    <key>WatchPaths</key>
    <array>
        <string>/Library/Logs/DirectoryService/DirectoryService.server.log</string>
    </array>
    <key>ExitTimeOut</key>
    <integer>2</integer>
    <key>ThrottleInterval</key>
    <integer>1</integer>
</dict>
</plist>

Ви можете замінити "сказати w" своїм кодом. Я записую дату на z, але ви можете змінити це, щоб написати що завгодно. Можливо, вам потрібно буде збільшити "ExitTimeOut" для деяких сценаріїв. Мій запуск Демон проживає в /Library/LaunchDaemons/wake-alert.plist

Запуск Daemon спостерігає DirectoryService.server.log і записує у тимчасовий файл за умови, що файл порожній. Файл очищається за допомогою запису "Сон" і журналом "Вимкнути".

Якщо ви використовуєте "швидке переключення користувачів" для сну, ви виявите, що сценарії, які потребують входу в систему, спробують запуститись занадто рано та не вдасться, якщо ви не модифікуєте запуск Daemon - можливо, греп "Succeded" в "secure.log".


1
/Library/Logs/DirectoryService/DirectoryService.server.logне існує у Високій Сьєррі (10.13).
Nowaker

Можливо, є й інші журнали, які можна використовувати.
Невілл Хіллер

2

Ще одна програма, яку ви можете виявити і спробувати спробувати, це EventScripts . Хоча це дуже вражаюча програма, яку я рекомендував би в цілому, після тестування її для цієї мети НЕ насправді здається, що вона зможе запускати сценарії досить швидко, щоб вони запустилися до того, як ваш Mac перейде до сну, а замість цього сценарій сну буде не запускатись до того моменту, як прокинувся Mac, що (очевидно) перемагає мету.

Я сподіваюся врятувати вас і кого-небудь ще, хто читає це, години тестування знадобилися мені, щоб прийти до цього висновку. Пробачте, можу сказати, що цього не вдалося, оскільки в багатьох аспектах це справді гарно розроблена і досить потужна і гнучка програма. Це також досить недорого ($ 3). Однак для низького рівня продуктивності просто не існує для запуску сценарію перед сном.

З іншого боку, в моїх тестах (поки що) сонник виявився досить надійним і швидким. Це також безкоштовно, що приголомшливо. Я продовжую тестувати, і якщо мені здається, що це не працює, я інколи оновлюю свою відповідь і продовжую тестувати інші варіанти.

ОНОВЛЕННЯ Зчасу написання цієї відповідія не виявив сонника, щоб він був постійно надійним, хоча спочатку, здається, він працював. У моєму випадку мені не потрібно запускати довільні сценарії, а натомість просто витягувати зовнішні диски. Я знайшов невеликий і недорогий додаток, який робить це дуже добре поки що: Jettison . Це дуже швидко стало однією з невеликих кучок комунальних послуг, без яких я не можу жити. Якщо ваші потреби такі ж, як і у мене, я вважаю, що ви вважаєте, що це коштує кількох баксів, які вони стягують.


1

WakeWatcher - це проста програма для безликих фон OS X, яку я створив для вирішення цієї проблеми. Він працює ~/.onwakeщоразу, коли буде виявлено пробудження. Потім ви можете помістити команди, щоб змонтувати / перекомпонувати ваші диски у цьому сценарії.

WakeWatcher підходить для використання в якості елемента для входу. Це не дуже витончено, але це безкоштовно і просто.

Виконання сценаріїв у режимі сну було б простим доповненням, але мене турбує час, необхідний для завершення сценаріїв, перш ніж система насправді спить. Якщо він вам справді потрібен, відкрийте питання проти проекту github, і я додам його.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.