Pracowałem z AppleScript i Automatorem, aby uruchomić tę funkcję, ale po prostu nie wydaje mi się, żeby mi się to udało. Jeśli ktoś mógłby mi pokazać przykład lub dać mi wskazówki, jak ustawić aplikację, aby zamknęła się w określonym czasie, a następnie uśpić lub zamknąć komputer, byłoby to bardzo mile widziane.
applescript
sleep-wake
script
applications
Tomás Richardson
źródło
źródło
at
nie jest tym, czego chcesz.cron
lublaunchd
. Jeśli potrzebujesz prostszego interfejsu do konfiguracji, być może Lingon 3 pomoże.Odpowiedzi:
Zakładam, że chcesz zainicjować tę procedurę, a nie jej regularne uruchamianie.
Moim podejściem byłoby zainicjowanie tego z wiersza poleceń, ale wszelkie polecenia można uruchamiać w komponencie skryptu powłoki skryptu Automator z pewnymi modyfikacjami. Poniższe podejście łączy kilka składników w celu wykonania zadania:
tell
Polecenie, aby zamknąć aplikację1. Powiedzenie aplikacji, aby wyjść
Może to być tak proste, jak:
2. Przełączanie komputera w tryb uśpienia
Spójrz na
pmset
więcej szczegółów, ale wydanie następującego polecenia spowoduje przejście komputera w tryb uśpienia:3. Planowanie uruchomienia operacji o określonej godzinie
Spójrz na komendę at . To polecenie umożliwia określenie czasu uruchomienia polecenia. Musisz włączyć tę funkcję, ponieważ nie jest ona domyślnie. Aby włączyć
atrun
demona, uruchom następującą komendę [odniesienie na SU] :Po włączeniu
atrun
można wydać dowolne polecenie na określony czasco działa, ponieważ domyślnie
at
pobiera dane wejściowestdin
. Prostszym podejściem jest uruchamianie poleceń wymienionych w pliku. Plik można wykonać za pomocą-f
flagi, a następnie nazwy skryptu, który ma zostać uruchomiony w następujący sposób:Kładąc wszystko razem
Poniżej założono, że
atrun
jest włączony. Jako przykład zabawki powiedzmy, że chcę wyjść z Maila i uśpić komputer o 23:00. Chciałbym utworzyć plik zawierający polecenia, które chcę uruchomić w następujący sposób:Zapisz ten plik w,
quit-and-sleep
a następnie uruchom w wierszu poleceniaOstrzeżenia
Nie sprawdziłem, aby upewnić się, że Mail faktycznie został zamknięty. Skrypt zakłada również, że nic więcej nie będzie przeszkadzało w uśpieniu komputera. Uczyniłem to prostym jako punkt wyjścia do tego, czego chcesz.
źródło
Oto wersja ściśle jabłkowa, która osiąga to, biorąc pod uwagę zakodowaną wartość czasu. Możesz oczywiście uczynić tę część interaktywną, jeśli chcesz. Ponadto ta wersja zakłada, że ciąg czasu odnosi się do dnia dzisiejszego.
źródło
Możesz zaplanować wydarzenie raz z:
Lub zaplanuj powtarzanie każdego dnia, edytuj crontab za pomocą
EDITOR=nano crontab -e
i dodaj wpis w ten sposób:źródło
Oto kod, który będzie czekał kilka sekund przed zamknięciem bieżącej aplikacji i przejściem w tryb uśpienia.
źródło