http://packetstormsecurity.org/UNIX/admin/xscreensaver-4.04.2.tar.gz
[xscreensaver] / driver / xscreensaver.kss
index 98ad08ebfbc8a2469cccee7108d7598b787b534e..5c397f65dccc33f9a463d895c8e6fe167f1b7d59 100755 (executable)
@@ -33,14 +33,14 @@ while [ -n "$1" ]; do
       ;;
 
     -preview)
-      # This simply runs xroger in the preview window.  For this to be "real",
+      # This simply runs xflame in the preview window.  For this to be "real",
       # it needs to run xscreensaver with a -window-id parameter for each hack.
       # There are two ways to do this:
       # 1) Hack xscreensaver to allow global parameters.
       # 2) Hack xscreensaver to accept alternate setup files, and create one on
       #    the fly here.
       shift
-      /usr/X11R6/lib/xscreensaver/xroger -delay 1 -window-id $1 &    # Start new preview 
+      /usr/X11R6/lib/xscreensaver/xflame -delay 1 -window-id $1 &    # Start new preview 
       echo "$!" > $HOME/.kss-preview$1.pid.`hostname`                # Write PID 
       wait $!                                                       # Wait for it to get killed
       exit
@@ -104,23 +104,17 @@ while [ -n "$1" ]; do
 done
 
 if [ -n "$Install" ] ; then
-  rm $HOME/.kss-preview*                                # Remove old preview files
   PID_FILE=$HOME/.kss-install.pid.`hostname`
-  kill `cat $PID_FILE`                                  # Kill old screensaver 
+  if [ -r "$PID_FILE" ] ; then
+    kill `cat $PID_FILE`                                # Kill old screensaver 
+  fi
   echo "$$" > $PID_FILE                                 # Write PID of this script
   /usr/X11R6/bin/xscreensaver -no-splash $timeout $lockmode $Nice &    # Start XScreenSaver daemon
   trap "kill $!" SIGTERM                                # Set these to kill the daemon
   trap "kill $!" SIGKILL
 
-  if [ -f "/etc/shadow" ]; then
-    # xscreensaver is run as the user, which has no access to the /etc/shadow file.  Other
-    # .kss screensavers use kcheckpass, which would have to be hacked into xscreensaver to
-    # work correctly. This just activates the screensaver with no password lock.
-    trap "/usr/X11R6/bin/xscreensaver-command -activate" SIGUSR1
-  else
-    # xscreensaver can be locked, because it can read the /etc/passwd file.
-    trap "/usr/X11R6/bin/xscreensaver-command -lock" SIGUSR1
-  fi
+# KDE sends SIGUSER1 to indicate the user has hit the "lock" button.
+  trap "/usr/X11R6/bin/xscreensaver-command -lock" SIGUSR1
 
   wait $!                                               # Do not exit, just wait for signals.