Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
— | anwenderwiki:linuxclient:ubuntu-herunterfahren [2015/05/18 22:36] (aktuell) – angelegt - Externe Bearbeitung 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | Ubuntuclients herunterfahren nach Dominik Förderer: | ||
+ | Das Skript benutzt die Bibliothek libnotify um Meldungen über das Ubuntu-notify-system anzuzeigen. | ||
+ | Alternativ bietet Zenity dem Benutzer die Möglichkeit das Herunterfahren abzubrechen. In diesem Fall bitte 1.) bis 3.) durch 1a.) bis 3a.) ersetzen. | ||
+ | Die Einrichtung funktioniert folgendermaßen: | ||
+ | |||
+ | 1.) Installation des Pakets libnotify-bin (sudo apt-get install libnotify-bin)\\ | ||
+ | 2.) Anlegen einer leeren Datei (touch herunterfahren)\\ | ||
+ | 3.) Folgenden Inhalt in die Datei einfügen und speichern: | ||
+ | |||
+ | #!/bin/bash | ||
+ | notify-send -u critical -i / | ||
+ | sleep 60 | ||
+ | notify-send -u critical -i / | ||
+ | sleep 60 | ||
+ | notify-send -u critical -i / | ||
+ | sleep 15 | ||
+ | shutdown -h now | ||
+ | exit 0 | ||
+ | | ||
+ | | ||
+ | 1a.) Falls Zenity nicht installiert ist in der Konsole: sudo apt-get install zenity\\ | ||
+ | 2a.) Anlegen einer leeren Datei (touch herunterfahren)\\ | ||
+ | 3a.) Folgenden Inhalt in die Datei einfügen und speichern: | ||
+ | |||
+ | #!/bin/bash | ||
+ | zenity --question --timeout=30 --text=" | ||
+ | if [ $STATUS = " | ||
+ | echo "" | ||
+ | else | ||
+ | zenity --info --timeout=120 --text "Der Rechner wird in 2 Minuten heruntergefahren. Bitte | ||
+ | fi | ||
+ | |||
+ | 4.) Datei ausführbar machen (sudo chmod +x herunterfahren)\\ | ||
+ | 5.) Datei nach /usr/bin kopieren (cp / | ||
+ | 6.) Datei ausführbar machen (sudo chmod +x herunterfahren)\\ | ||
+ | 7.) Datei nach /usr/bin kopieren (cp / | ||
+ | 8.) Automatisierte Ausführung des Skripts in die Systemweite crontab (/ | ||
+ | Beispielzeile crontab: | ||
+ | |||
+ | # m dom mon | ||
+ | 30 17 * * * | ||
+ | |||
+ | Erklärung: täglich um 17.30 Uhr wird das Skript herunterfahren ausgeführt. Der Displaybefehl ist nötig, da die Ausgabe über den x-server erfolgen soll. | ||
+ | |||
+ | < | ||
+ | |||
+ | #!/bin/bash | ||
+ | user=$(w -sh | grep -v adm | cut -d" " -f1 | uniq) # Wer ist angemeldet ? | ||
+ | if [ ${#user} -gt 0 ] ; then # wenn ein User gefunden ist | ||
+ | export DISPLAY=:0 | ||
+ | sudo -u $user xhost +si: | ||
+ | / | ||
+ | STATUS=$? | ||
+ | if [ $STATUS = " | ||
+ | echo "" | ||
+ | else | ||
+ | / | ||
+ | shutdown -hP now | ||
+ | fi | ||
+ | else # Niemand angemeldet | ||
+ | shutdown -hP now | ||
+ | fi |