#!/bin/bash # Christian Birchinger # # Activate the users xscreensaver as root without an X11 environment (acpi events, cronjobs, etc.) defined. export DISPLAY=:0 SAVETYPE="lock" # "lock" or "activate" while read pid user command; do if [ "${command}" = "xscreensaver" ]; then export XAUTHORITY="`eval echo ~${user}/.Xauthority`" # xauth can't resolve ~user if xscreensaver-command -time 2>&1 | grep -q " screen non-blanked since "; then #echo "blanking user ${user} now. xscreensaver pid: ${pid}. XAUTHORITY: ${XAUTHORITY}. DISPLAY: ${DISPLAY}." >/tmp/xssac-debug nohup xscreensaver-command -${SAVETYPE} >/dev/null 2>&1 & fi fi done < <(ps awwxho pid,user,comm)