Hallo,
da hatte ich was:
Am 19.11.2016 16:30 schrieb “Jürgen Horzella”
Hallo,
ich habe das Skript
https://github.com/linuxmuster/linuxmuster-client-extras/blob/master/
shutdown/check-shutdown
etwas modifiziert, so dass die Benutzerabfrage nur kommt, wenn der Rechner
einige Zeit nicht benutzt wurde. Momentan nur zu Hause auf meinem Rechner
getestet. Will ich nächste Woche (wenn Zeit ist) in der Schule
ausprobieren. Spricht da was grundsätzliches dagegen? Man muss noch
xprintidle nachinstallieren.
Viele Grüße
Jürgen
#!/bin/bash
export LANG="de_DE.utf8"
export PATH="/usr/bin:/sbin:/bin"
TARGET_USER="$(who | grep 'tty' | tail --lines 1 | cut --fields 1
--delimiter ' ')"
run_in_user_context="sudo -u ${TARGET_USER}"
## Prüfen, ob ein Benutzer angemeldet ist; wenn nein shutdown, wenn ja...
USERCOUNT=$(who | wc -l)
if [ $USERCOUNT -eq 0 ]; then
shutdown -h now
else
* ## Überprüfen, ob Rechner seit zwei Stunden (7200000ms) unbenutzt*
* export DISPLAY=:0*
* sudo -u $user xhost +si:localuser:root*
* if [ $(xprintidle) -gt 7200000 ]; then*
## Frage an den Benutzer ob das Herunterfahren abgebrochen werden
soll.
$run_in_user_context zenity --question --timeout=120 --text="Der
PC wird in 2 Minuten abgeschaltet. Ist das OK?" --title="PC-Abschaltung"
--ok-label="OK, bitte abschalten" --cancel-label="Nein, ich möchte noch
Arbeiten!"
STATUS=$?
if [ $STATUS -eq 1 ]; then ## Nicht herunterfahren
exit 0
else
for seconds_until_shutdown in $(seq 120 -30 30); do
$run_in_user_context zenity --warning --timeout=30
--text="Der Rechner wird in $seconds_until_shutdown Sekunden
heruntergefahren. Bitte abspeichern." &
sleep 30
done
$run_in_user_context zenity --warning --timeout=5 --text="Der
Rechner wird heruntergefahren. Auf Wiedersehen." &
sleep 5
shutdown -h now
fi
fi
fi
exit 0