daily pastebin goal
26%
SHARE
TWEET

Untitled

a guest Sep 15th, 2017 90 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #!/bin/bash
  2.  
  3. # Only works with bash since dash does not support "< <"
  4.  
  5. # Configuration
  6. LOCKED_TIMEOUT=5  # Screen timeout when account locked
  7.  
  8. # Lock screen
  9. if hash gnome-screensaver-command 2>/dev/null; then
  10.     echo "Using gnome-screensaver-command"
  11.     gnome-screensaver-command -l
  12. elif hash mate-screensaver-command 2>/dev/null; then
  13.     echo "Using mate-screensaver-command"
  14.     mate-screensaver-command -l
  15. else
  16.     echo "No screensaver or lock screen command found"
  17. fi
  18.  
  19.  
  20. # Set screen timeout to 5 seconds
  21. xset dpms $LOCKED_TIMEOUT
  22.  
  23. # Wait for login to restore dpms
  24. while read -r x; do
  25. case "$x" in
  26.   *"boolean true"*)
  27.     echo SCREEN_LOCKED
  28.   ;;
  29.   *"boolean false"*)
  30.     echo SCREEN_UNLOCKED
  31.     xset dpms 30*60
  32.     exit 0
  33.   ;;
  34. esac
  35. done < <(dbus-monitor --session "type='signal',interface='org.mate.ScreenSaver'")
  36.  
  37.  
  38.  
  39.  
  40. exit 0
  41.  
  42.  
  43. # Ubuntu Gnome
  44. dbus-monitor --session "type='signal',interface='org.gnome.ScreenSaver'"
  45.  
  46. # Ubuntu Unity
  47. dbus-monitor --session "type=signal,interface=com.canonical.Unity.Session,member=Unlocked"
  48.  
  49. # Ubuntu Mate
  50. dbus-monitor --session "type='signal',interface='org.mate.ScreenSaver'"
RAW Paste Data
Top