24 enero, 2009

Scrip para cambir de wallpaper en fluxbox

Script para cambiar el wallpaper/fondo de escritorio de forma aleatoria cada cierto tiempo en fluxbox

Descargado de aquí:
http://www.mediafire.com/?wwl4nt2ziyg

1.- solo descomprime, te colocas en la carpeta del script y das permisos de ejecución al script de instalación y lo ejecuta
$ chmod +x instalar.sh
$ cd wallpaper-flux-blog
$ bash ./instalar.sh


2.-Debes editar el archivo wallr.sh para que le anexes la dirección donde se encuentran tus archivos de imagen
La carpeta solo debe de contener estrictamente imágenes, puede contener imágenes y/o algún otro tipo de archivo, usa el editor de textos que tengas instalado en mi caso uso mousepad
$ mousepad ~/.wallpaper-flux/wallr.sh

buscas una linea que empiece con:
dir1=

si solo tienes una carpeta de imágenes ponla ahí, por ejemplo:
dir1=~/Imagenes/wallpapers

si tienes mas de una carpeta con wallpapers puedes especificarla con:

dir2=
dir3=
dir4=


Los cuales deje comentados, solo descomentalos para usar mas de un directorio

por precaución (como ya mencione) deje comentado desde el directorio 2 hasta el 8 así que des-comentalos

Esta programado para cambiar el wallpaper cada 30 min, puedes cambiar eso en la linea:
sleep 1800

solo cambia “1800” por el número de minutos expresados en segundos
Ahora, a disfrutar!!!!!

Notas:
  • En la carpeta que tengas los wallpapers solo debes tener imágenes
  • Los nombres de la(s) carpeta/subcarpetas no deben tener espacios o caracteres como acentos
  • No te recomiendo que ejecutes el script por medio del archivo ~/.fluxbox/init, para hacerlo por medio del archivo “init” sigue leyendo

ahora, seria conveniente:


Ejecutar el script al inicio de cesión de fluxbox


Editamos el archivo “~/.fluxbox/startup” si lo hacemos desde terminal:

$mousepad ~/.fluxbox/startup


buscamos la linea que tenga:
exec /usr/bin/fluxbox

y antes de esta ponemos:
/home/tu-suario/.wallpaper-flux/wall.sh &

solo cambia “tu-usuario” por el usuario que uses y en caso de no usar ese directorio, pon el directorio donde hayas colocado el script, recuerda poner “&” al final de la línea, guardas y cierras

Ahora cada ves que inicies fluxbox iniciaras el script

cualquier duda o comentario sera bienvenido, estoy a sus ordenes

========ACTUALIZACIÓN==================

- ya puedes tener el numero de wallpapers que quieras, no solo de 10 a 999
- al cerrar fluxbox se cierra el programa
========ACTUALIZACIÓN==================
- compuse un errorcito que tenia y no lo habia notado jeje, cosas que pasan!!
- tomando en cuenta que ahora los wallpaper quedan guardados y no es necesario ejecutarlos de nuevo al inicio elimine parte del post
- mejorare otras cosas, esto es solo temporal
 ========ACTUALIZACIÓN==================
-ahora si compuse el error jeje (ahora si se cierra al cerrar fluxbox, sorry por no componerlo bien la ves anterior)
-las carpetas ya pueden tener archivos de otro tipo, ya hay un filtrado para imagenes
-ya no necesitas descomentar en 2 lineas, solo descomentas las lineas del directorio, pones tus directorios y listo
-solo puede haber un script de wallpaper corriendo, esto por motivos de seguridad jeje
-ya no se genera un archivo extra con el listado de los wallpapers
-menos código
-cuenta con un script de instalacion (esto desde la actualización anterior (se me paso escribirlo)

======ACTUALIZACIÓN=================
-Hice una version "especial" que permite recortar y ajustar el tamaño del wallpaper para las dimenciones del monitor, ademas de agregar sombras, este es el link
http://zer0-azucar.blogspot.com/2010/03/script-wallpaper-random-con-recorte-y.html

===============================================

11 comentarios:

  1. Hola , que tal , mira me tira un error que no puedo resolver:
    Hecho por gory
    * Visita: http://gorylong.blogspot.com
    * Visita: http://zer0-azucar.blogspot.com
    expr: argumento no numérico

    lo ejecuto con sh wall.sh y naranja , lo meti en un directorio .wall en la home , el dir de las imagenes tmb , en que estoy errando? , un abrazo Pedro

    ResponderEliminar
  2. ok, quisas necesite un ligero ajuste en tu caso, al parecer la salida de un comando cambio ligeramente y al intentar capturar parte de su salida ha sucedido un ligero cambio por lo cual el parametro que captura no es precisamente un numero (es solo una teoria

    1.- revisa bien las direccion de las carpetas de las imagenes, acuerdate que no deven contener espacios las direcciones

    2.- te solicito que revises si se esta generando el archivo ~/.wall/lista

    3.- te pido que te situes en la carpeta "~/.wall/" y ejecutes los siquientes comandos, y me mandes ya sea aqui o en un mail el comando que introdujistes y la salida, de preferencia copia y pega loq ue te salio en la terminal


    nlin=`wc -l lista | cut -b1-3` && echo $nlin


    nlinf=`expr $nlin - 1` && echo $nlinf


    saludos!!

    ResponderEliminar
  3. Si , genera los archivos lista y wallpaper-flux.sh , lo que no comprendo cual es el error de sintaxis , un abrazo y gracias por responder


    user@irritante:~/.wall$ sh wall.sh
    3 l
    expr: error de sintaxis
    expr: error de sintaxis


    user@irritante:~/.wall$ nlin=`wc -l lista | cut -b1-3` && echo $nlin
    3 l
    user@irritante:~/.wall$ nlin=`expr $nlin - 1` && echo $nlinf
    expr: error de sintaxis

    user@irritante:~/.wall$ nlinf=`expr $nlin - 1` && echo $nlinf
    expr: error de sintaxis

    ResponderEliminar
  4. jeje de casualidad solo tienes 3 imagenes en tu carpeta?

    si es eso, ese es el detalle, sino te agradeceria que pusieras la salida del siguiente comando (estando en la carpeta ~/.wall:

    wc -l lista

    ResponderEliminar
  5. Exacto , tengo 3 imagenes ,
    user@irritante:~/.wall$ wc -l lista
    3 lista
    es para probar , y es como vos decis , puse otra imagen
    4 l
    expr: error de sintaxis
    expr: error de sintaxis
    No quiero abusar de tus conocimientos , pero no comprendo como funcionan estas lineas:
    nlin=`wc -l lista | cut -b1-3` && echo $nlin
    nlinf=`expr $nlin - 1` && echo $nlinf

    alea=`expr $RANDOM % $nlinf` &&
    alear=`expr $alear + 1` &&

    file=`head -n$alear $dir2/lista | tail -n1` &&

    nlin , nlif alea y alear , el resto lo comprendo a medias pero me ayudaria mucho saber mas o menos y te comento por que , yo estaba haciendo un pequeño bash pero no encontre la manera de pasar el contenido de un dir a texto , no se si me explico por ej.
    ls directorio > archivo.txt o dir > archivo.txt en ningun caso sale la cadena de directorios ej. /home/dir/archivo , un arazo nuevamente y gracias por responder.
    PD:mil disculpa por se tan extenso

    ResponderEliminar
  6. debes tener almenos 10 imagenes jojo (detalle mio, apenas empezaba con los scripts, luego lo arreglo)


    jaja eres estudiante y tienes clases de bash?



    nlin=`wc -l lista | cut -b1-3` && echo $nlin
    estq era solo para cerciorarme del valor usado como "nlin"


    nlinf=`expr $nlin - 1` && echo $nlinf
    aqui le resto un numero al valor de "nlin" y lo imprimo en pantalla


    alea=`expr $RANDOM % $nlinf` &&
    aqui genero un numero aleatorio en pase al numero de lineas menos uno

    alear=`expr $alear + 1` &&
    aqui le sumo un numero al numero aleatorio generado



    file=`head -n$alear $dir2/lista | tail -n1` &&

    y eso que me mencionas si me ocurrio, por eso lo tengo asi jeje

    ResponderEliminar
  7. hum, se me olvidaba


    file=`head -n$alear $dir2/lista | tail -n1` &&
    aqui seleciono la linea que corresponde al numero de wallpaper randon selecionado

    ResponderEliminar
  8. Jajaja , funciona de "10" , le agregue el resto de las imagenes y al pelo , no no soy estudiante soy mecanico (climatizacion) , pero como no me animo ni tengo tiempo para aprender C o C++ me las rebusco con bash , asi que leo cuanto tuto pueda terminar de leer en el dia , si no te incomoda pondre este script un blog que tengo , obbiamente mencionandote como autor , un fuerte abrazo y seguimos en contacto.

    ResponderEliminar
  9. jeje, no me incomoda, por curiosidad, cual es el blog?

    ha, por cierto, quisas dentro de poco haga uno script nuevo, la verdad es que no me percate de algunas opciones del comando "fbsetbf", ademas de que quiero hacerle unos pequeños cambios extras


    saludos!!

    ResponderEliminar
  10. Si , claro , mp3islenio.com.ar , si precisas un beta tester no dudes en ubicarme XD , un abrazo

    ResponderEliminar
  11. Se agradece, lo he instalado y trabaja muy bien...

    ResponderEliminar

todos los comentarios son bienvenidos!!