From 6e2837a491859a48087fba6722fc605f98ad4024 Mon Sep 17 00:00:00 2001 From: Hugo Villeneuve Date: Fri, 9 Aug 2013 18:04:11 -0400 Subject: [PATCH] Lock xscreensaver before entering suspend --- stage2/misc/acpi/suspend2ram.sh | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/stage2/misc/acpi/suspend2ram.sh b/stage2/misc/acpi/suspend2ram.sh index 5283375..f3bfd6d 100755 --- a/stage2/misc/acpi/suspend2ram.sh +++ b/stage2/misc/acpi/suspend2ram.sh @@ -22,6 +22,17 @@ esac logger "Going to sleep" +XSCREENSAVER_ACTIVE="$(pidof /usr/bin/xscreensaver)" + +# Check if xscreensaver is running. if not, just skip on. +if [ "x${XSCREENSAVER_ACTIVE}" != "x" ]; then + # Run the lock command as the user who owns xscreensaver process, + # and not as root, which won't work. + su "$(ps aux | grep xscreensaver | grep -v grep | grep ${XSCREENSAVER_ACTIVE} | awk '{print $1}' )" \ + -c "/usr/bin/xscreensaver-command -lock" & + sleep 1 +fi + # discover video card's ID ID=`lspci | grep VGA | awk '{ print $1 }' | sed -e 's@0000:@@' -e 's@:@/@'` -- 2.20.1