On Sat, Oct 18, 2014 at 12:48:08PM +0000, Mike Gabriel wrote: > If killer works reliably, then: yes (for diskless workstations). Otherwise, > diskless workstations (not sure about thin clients, actually) will not get > affected by shutdown-at-night if users forgot to log out. > > The expected behaviour would be for diskless workstations: > > o killer ends still-running / not-logged-off sessions after 6h of session > duration > o shutdown-at-night turns of the diskless machine within the next hour You could use xprintidle for the first goal. Put the script as 'timed-logout' into /usr/local/bin and call it in the users .xsessionrc like this: '/usr/local/bin/timed-logout &' ------------------------------------------------------ #!/bin/bash # # Force logout after $IDLE/1000 sec inactivity. # IDLE=3600000 # unit: millisec. # # Wait until the session is running. sleep 3 # For Xfce, KDE Plasma, Gnome, LXDE. while true; do if [ "$(xprintidle)" > $IDLE ]; then if [ -x /usr/bin/xfce4-session-logout ] && [ $(ps ax | grep xfce | wc -l) -gt 1 ] ; then xfce4-session-logout --logout # Xfce elif [ -x /usr/bin/ksmserver ] && [ $(ps ax | grep ksmserver | wc -l) -gt 1 ] ; then qdbus org.kde.ksmserver /KSMServer logout 0 0 0 # KDE elif [ -x /usr/bin/gnome-session-quit ] && [ $(ps ax | grep gnome-settings | wc -l) -gt 1 ] ; then gnome-session-quit --logout --no-prompt # Gnome elif [ -x /usr/bin/lxsession ] && [ $(ps ax | grep lxsession | wc -l) -gt 1 ] ; then pkill lxsession # LXDE fi break fi sleep 1 done --------------------------------------------------------------- For console sessions put this as timeout.sh into /etc/profile.d --------------------------------------------------------------- # For bash shell, useless for X. # # Time in sec. TMOUT=1200 # Optiobal: don't allow users to change the timeout value. #readonly TMOUT export TMOUT --------------------------------------------------------------- Untested. Wolfgang
Attachment:
signature.asc
Description: Digital signature