Canales populares

scrip slide wallpaper ubuntu 11.10

Estaba buscando en internet algun programa cambiar las imagenes de fondo automaticamente cada cierto tiempo pero no encontre ninguno de mi gusto, mirando vi que ubuntu tiene esta posibilidad pero no encontraba la forma de cambiar las imagenes

busque en google y encontre que las tomaba de un archivo xml me fije como estaba echo y era bastante sencillo y dije listo ago un script lo pongo en el crontab y lito. ahora lo comparto con uds. el script esta echo en bash y debe recibir un paramentro que es la carpeta a donde estan alojadas las imagenes que queremos que vallan pasando de fondo.

#!/bin/bash
pwd_apli="/usr/share/backgrounds/contest/"
arch_apli="background-1.xml"
tmp="/tmp/$arch_apli"
if ! [ $# -eq 1 ] ; then
        echo "no ejecuto correctamente el script"
        echo "usage : $0 /home/usuario/Imagenes"
        exit 1
fi
if [ -e $tmp ] ; then
        rm -r $tmp
        if [ $? -gt 0 ] ; then
                echo "CRITICAL , no pude eliminar $tmp "
                exit 1
        fi
fi
for i in $pwd_apli  $i ; do
        if ! [ -d "$i" ] ; then
                echo "CRITICAL , no existe la carpeta $i"
                exit 1
        fi
done
echo "<background>
  <starttime>
    <year>$(date +%G)</year>
    <month>$(date +%m)</month>
    <day>$(date +%d)</day>
    <hour>$(date +%H)</hour>
    <minute>$(date +%M)</minute>
    <second>$(date +%S)</second>
  </starttime>" > $tmp
list_img=$(find $1 -iname *.jpg -ls -or -iname *.gif -ls -or -iname *.png -ls -or -iname *.tiff -ls|awk '{$1="";$2="";$3="";$4="";$5="";$6="";$7="";$8="";$9="";$10="";print $0 ";"}'|sed 's/^          //g')
j=0
IFS=";"
for i in $list_img ; do
        vector[$j]=$(echo $i|sed '/^$/d')
        let j=$j+1
done
for ((i=0;i< ${#vector[@]} - 1;i++)); do
        let unomas=$i+1
        echo "
  <static>
    <duration>1795.0</duration>
    <file>${vector[$i]}</file>
  </static>
  <transition>
    <duration>5.0</duration>
    <from>${vector[$i]}</from>
    <to>${vector[$unomas]}</to>
  </transition>">> $tmp
done
echo "</background>" >> $tmp
cp $pwd_apli$arch_apli $pwd_apli$arch_apli-$(date +%Y%m%d%X)
if [ $? -gt 0 ]; then
        echo "CRITICAL , no pude hacer el backup "
        exit 1
fi
mv $tmp $pwd_apli
if [ $? -gt 0 ] ; then
        echo "CRITICAL , no pude mover el archivo $tmp a $pwd_apli"
else
        echo "El script finalizo correctamente"
fi


saludos
0
0
0
0No hay comentarios