Ich bin mir bewusst, dass ich (sudo?) shutdown -h hh:mm
In einem Terminalfenster verwenden kann, um ein System herunterzufahren. Der angemeldete Benutzer ist jedoch ein Kioskbenutzer, der so gesperrt ist, dass das Terminal (oder ein anderes Fenster als Firefox) kann nicht geöffnet werden.
Meine Frage ist:
Gibt es eine Möglichkeit, dies zu tun, ohne dass ein Terminalfenster geöffnet wird? Ich habe über Cron gelesen, kann es aber nicht ganz herausfinden.
Wie kann ich die Ausschaltzeit ändern, abhängig von dem Tag, an dem es ist?
Antworten:
Cron wird dafür sehr gut funktionieren.
Fügen Sie die folgende Zeile (mit Anpassungen) an das Ende von
/etc/crontab
:Um 23:30 Uhr (23:30 Uhr) wird der Kiosk geschlossen. Unabhängig davon, welcher Benutzer angemeldet ist, wird der Befehl shutdown als root ausgeführt.
(Wenn Sie die globale crontab nicht verwenden möchten, melden Sie sich als root an und verwenden Sie
crontab -e
. Verwenden Sie dieselbe Syntax wie oben ohneroot
).Cron-Format:
MM
: Minute, 0-59HH
: 24-Stunden-StundeDD
: Tag des MonatsOO
: MonatWW
: Wochentag (Sonntag ist 0, Montag ist 1)command
: Selbsterklärendquelle
-h
und-s
?-s
scheint keine "richtige Syntax" zu sein.-h
bedeutet, das System anzuhalten oder herunterzufahren (Systemwahl - Herunterfahren bevorzugt)Ein Cronjob scheint der beste Weg zu sein, da Sie verschiedene Zeiten für verschiedene Tage angeben können. Auf Gnome-basierten Systemen können Sie nur installieren GNOME Shedule Tasks mithilfe von
und konfigurieren Sie dann den Cronjob über die GUI.
sonst müsstest du verwenden
sudo crontab -e
die folgenden Zeilen und dann hinzufügenDies würde den PC von Montag bis Freitag um 11:30 Uhr und am Samstag und Sonntag um 10:30 Uhr herunterfahren. Die Struktur ist sehr einfach:
Weitere Informationen hierzu finden Sie auch in CronHowto
quelle
/sbin/shutdown
stattdessen speziell verwenden,shutdown
weil mein Root-Cron-Pfad anders war als in dem Terminal, in dem ich mein Skript ausprobiert habe.Wir können zum angegebenen Zeitpunkt automatisch herunterfahren, indem wir einfach command
sudo poweroff
in ausführencrontab
.Wenn Sie das System täglich um 18:30 Uhr herunterfahren möchten. Geben Sie das Terminal ein:
bearbeiten
quelle
poweroff
überspringen Shutdown-Skripte, die wichtig sein können, um beispielsweise Ihre Datenbank oder was auch immer sicher herunterzufahren, und Sie haben einesudo
in einer Root-Crontab, die nicht benötigt wird. Sie haben auch nicht angesprochen, wie auf verschiedene Wochentage verwiesen werden soll, als die Frage gestellt wurde. Nein, dies ist keine alternative Methode. So wie es ist, sind es zwei Fehler und eine Unterlassung. Die beiden anderen Antworten, die Sie ein Jahr zuvor erhalten haben, sind richtig und funktionieren tatsächlich.