Ich habe mit AppleScript und Automator herumgespielt, um dieses Ding zum Laufen zu bringen, aber ich kann einfach nicht meinen Kopf darum wickeln. Wenn mir jemand ein Beispiel zeigen oder mir einige Tipps geben könnte, wie ich festlegen kann, dass eine Anwendung zu einem bestimmten Zeitpunkt geschlossen wird und der Computer dann in den Ruhezustand versetzt oder heruntergefahren wird, wäre ich sehr dankbar.
applescript
sleep-wake
script
applications
Tomás Richardson
quelle
quelle
at
ist es nicht das, was Sie möchten , den Job mit zu planen .cron
oderlaunchd
. Wenn Sie eine einfachere Schnittstelle zum Einrichten wünschen, hilft möglicherweise Lingon 3 .Antworten:
Ich gehe davon aus, dass Sie dieses Verfahren einleiten möchten, anstatt es zu einem regelmäßig geplanten Zeitpunkt ausführen zu lassen.
Mein Ansatz wäre, dies über die Befehlszeile zu initiieren, aber alle Befehle können mit einigen Änderungen in einer Shell-Skriptkomponente eines Automator-Skripts ausgeführt werden. Der folgende Ansatz kombiniert einige Komponenten, um die Arbeit zu erledigen:
tell
Befehl zum Beenden der Anwendung1. Fordern Sie die Anwendung auf, das Programm zu beenden
Dies kann so einfach sein wie:
2. Schalten Sie den Computer aus
Werfen Sie einen Blick auf ,
pmset
um weitere Informationen, aber den folgenden Befehl ausgeben wird setzen Sie Ihren Computer zu schlafen:3. Planen eines Vorgangs, der zu einem bestimmten Zeitpunkt ausgeführt werden soll
Schauen Sie sich den Befehl at an . Mit diesem Befehl können Sie eine Zeit angeben, zu der ein Befehl ausgeführt werden soll. Sie müssen diese Funktion aktivieren, da sie nicht standardmäßig aktiviert ist.
atrun
Führen Sie zum Aktivieren des Dämons den folgenden Befehl aus [Referenz auf SU] :Sobald Sie aktiviert haben
atrun
, kann jeder Befehl durch Ausgabe für eine bestimmte Zeit geplant werdenDas funktioniert, weil
at
esstdin
standardmäßig eingegeben wird. Ein einfacherer Ansatz besteht darin, Befehle auszuführen, die in einer Datei aufgeführt sind. Eine Datei kann mithilfe des-f
Flags ausgeführt werden, gefolgt vom Namen des Skripts, das wie folgt ausgeführt werden soll:Alles zusammenfügen
Was folgt, setzt voraus, dass
atrun
aktiviert ist. Nehmen wir als Spielzeugbeispiel an, ich möchte Mail beenden und den Computer um 23:00 Uhr in den Ruhezustand versetzen. Ich würde eine Datei mit den Befehlen erstellen, die wie folgt ausgeführt werden sollen:Speichern Sie diese Datei in
quit-and-sleep
und führen Sie sie in der Befehlszeile ausVorsichtsmaßnahmen
Ich habe nicht überprüft, ob Mail tatsächlich geschlossen wurde. Das Skript geht auch davon aus, dass nichts anderes dem Einschalten des Computers im Wege steht. Ich habe es hier als Ausgangspunkt für das, was Sie wollen, einfach gehalten.
quelle
Hier ist eine streng Applescript-Version, die dies bei einem fest codierten Zeitwert erreicht. Sie können diesen Teil natürlich interaktiv gestalten, wenn Sie möchten. Außerdem geht diese Version davon aus, dass sich die Zeitzeichenfolge auf heute bezieht.
quelle
Sie können eine Veranstaltung einmal planen mit:
Oder um die tägliche Wiederholung zu planen, bearbeiten Sie die Crontab mit
EDITOR=nano crontab -e
und fügen Sie einen Eintrag wie den folgenden hinzu:quelle
Hier ist der Code, der einige Sekunden wartet, bevor er die aktuelle Anwendung beendet und in den Ruhezustand wechselt.
quelle