#! /bin/bash # A script to try to install a Macromedia SWF screensaver for a user not in the know. # Attempts at being as foolproof as possible, and yet people will break it somehow. # Please send notes to flucifredi@novell.com so that we can fix whatever issues we # haven't thought of yet. Please include details, if you know to look into the script, # you also know how to send feedback :) # # Tested on SLES 9, NLD 9, SUSE 9.3 # # Mantained by Federico Lucifredi - 0.6a - 8/24/05 if [ ! -e /bin/rm ] then echo "rm executable not found -- what the blazes did you do!?!" exit 1 fi if [ ! -e /bin/rpm ] then echo "rpm executable not found" exit 2 fi if [ ! -e /usr/bin/wget ] then echo "wget executable not found" exit 3 fi if [ ! -e /bin/tar ] then echo "tar executable not found" exit 4 fi if [ ! -e /usr/bin/id ] then echo "id executable not found" exit 5 fi USERID=`/usr/bin/id -u` if [ "$USERID" -eq "0" ] then echo "Do not run this as root. Install as the user that will use the screensaver" exit 7 fi GLIBC_VERSION=`/bin/rpm -q --queryformat '%{VERSION}\n' glibc` if [[ "$GLIBC_VERSION" < "2.2" ]] then echo "glibc 2.2 or newer is required" exit 8 fi if [ "$HOME" = "" ] then echo "HOME is undefined. Bailing..." exit 9 fi # End of sanity checks --- echo " This script will ateempt an automated install of the Novell Values screensaver on your system." echo "" echo " Now downloading the macromedia standalone player 6.x for linux." echo " This will not interfere with any flash plugins already installed on your system." echo "" if [ ! -e /tmp/screensaver ] then mkdir -p /tmp/screensaver fi /usr/bin/wget -N -P /tmp/screensaver http://download.macromedia.com/pub/flash/updates/mx/player6/install_flash_player_6_r79_linux_sa.tar.gz if [ ! "$?" -eq "0" ] then echo "Unable to download Macromedia flash player 6 - WGET failed." exit 10 fi echo "" /usr/bin/wget -N -P /tmp/screensaver http://primates.ximian.com/~flucifredi/nvalues/nscreensaver.tar.gz if [ ! "$?" -eq "0" ] then echo "Unable to download Novell Values tarball - WGET failed." exit 11 fi echo "" echo "Now uncompressing..." /bin/tar -C /tmp/screensaver/ -zxvf /tmp/screensaver/install_flash_player_6_r79_linux_sa.tar.gz > /dev/null /bin/tar -C /tmp/screensaver/ -zxvf /tmp/screensaver/nscreensaver.tar.gz > /dev/null echo " Now installing screensaver into $HOME/.screensaver" if [ ! -e $HOME/.screensaver ] then mkdir $HOME/.screensaver fi mv -f /tmp/screensaver/install_flash_player_6_linux_sa/gflashplayer $HOME/.screensaver mv -f /tmp/screensaver/Novell_Values.swf $HOME/.screensaver mv -f /tmp/screensaver/nwrapper $HOME/.screensaver mv -f /tmp/screensaver/N.gif $HOME/.screensaver echo "mode: one" > $HOME/.xscreensaver echo "selected: 0" >> $HOME/.xscreensaver echo " " >> $HOME/.xscreensaver echo "programs: \\" >> $HOME/.xscreensaver echo "\"Novell Values Screensaver\" $HOME/.screensaver/nwrapper $HOME \n\\" >> $HOME/.xscreensaver echo "" if [ -e /usr/X11R6/bin/xscreensaver ] #SLES and NLD then PREFIX="/usr/X11R6/bin" elif [ -e /usr/bin/xscreensaver ] #SUSE then PREFIX="/usr/bin" else echo "xscreensaver is required" exit 12 fi VERSION=`$PREFIX/xscreensaver-command -version` if [[ "$VERSION" < "4" ]] then echo "xscreensaver version 4 or newer required" exit 13 fi echo "Now Select your preferences" $PREFIX/xscreensaver-command -prefs # cleaning up after ourselves... echo " Cleaning up..." /bin/rm -Rf /tmp/screensaver echo "Done."