
Mir ist bewusst, dass ich (sudo?) in einem Terminalfenster verwenden kann, shutdown -h hh:mm
um ein System herunterzufahren. Allerdings ist der angemeldete Benutzer ein Kioskbenutzer, der so gesperrt ist, dass das Terminal (oder jedes andere Fenster außer Firefox) nicht geöffnet werden kann.
Meine Frage ist:
Gibt es eine Möglichkeit, dies zu tun, ohne ein Terminalfenster geöffnet zu haben? Ich habe über Cron gelesen, komme aber nicht ganz dahinter.
Wie kann ich die Abschaltzeit je nach Wochentag ändern?
Antwort1
Cron eignet sich hierfür sehr gut.
Sie müssen zuerst den vollständigen Pfad zum Shutdown-Befehl finden:
a@ubuntu:~$ which shutdown
/usr/sbin/shutdown
Wenn Sie den Pfad zum shutdown
Befehl kennen, können Sie die folgende Zeile (mit Anpassungen) am Ende hinzufügen /etc/crontab
:
30 23 * * * root /usr/sbin/shutdown -h now
Um 23:30 Uhr wird der Kiosk heruntergefahren. Unabhängig davon, welcher Benutzer angemeldet ist, wird der Shutdown-Befehl 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 ohne root
).
Cron-Format:
MM HH DD OO WW command
MM
: Minute, 0-59
HH
: 24-Stunden-Stunde
DD
: Tag des Monats
OO
: Monat
WW
: Wochentag (Sonntag ist 0, Montag ist 1)
command
: Selbsterklärend
Antwort2
Ein Cronjob scheint die beste Lösung zu sein, da man für verschiedene Tage unterschiedliche Zeiten angeben kann. Auf Gnome-basierten Systemen kann man einfach installierenGNOME-ZeitplanAufgaben mit
sudo apt-get install gnome-schedule
und konfigurieren Sie dann den Cronjob über die GUI.
Andernfalls müssten Sie sudo crontab -e
die folgenden Zeilen verwenden und hinzufügen
30 11 * * 1-5 /sbin/shutdown -h now
30 10 * * 0,6 /sbin/shutdown -h now
Dies 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:
minute (0-59), hour (0-23, 0 = midnight), day (1-31), month (1-12), weekday (0-6, 0 = Sunday), command
Weitere Informationen hierzu finden Sie auch unterCronAnleitung
Antwort3
Wir können zum angegebenen Zeitpunkt automatisch herunterfahren, indem wir einfach den Befehl sudo poweroff
ausführen crontab
.
Wenn Sie das System jeden Tag um 18:30 Uhr herunterfahren möchten, geben Sie im Terminal Folgendes ein:
sudo crontab -e
bearbeiten
30 18 * * * poweroff