viernes, 4 de enero de 2008

Script para cambiar el wallpaper de manera automatica en Gnome

Fuente: UbuntuLife

Este script te permite cambiar de manera automatica el fondo de pantalla con las imagenes que tengas almacenadas en un directorio. Lo puedes usar con cron por ejemplo para que cada dia te cambie el fondo de pantalla (de cron hablaremos mañana si dispongo de conexion). Si no te gusta usar la linea de comandos, puedes hacer esto mismo de manera grafica con Wallpapoz. Yo la verdad prefiero usar cron, pero como siempre, para gustos los colores…

El script con ligeras modificaciones es el mismo que encuentras en Ubuntu forums

Para quien este interesado en la programacion de shell scripts añado el script con unos cuantos comentarios que explican lo que va haciendo:

#!/bin/bash
# almacenamos en una variable la carpeta donde residen las imagenes. en mi caso /home/jose, cambia este valor
# por el que quieras usar en tu caso.
picsfolder="/home/jose/"
# Nos movemos al directorio donde estan las imagenes
cd $picsfolder
# Creamos un array con todos los ficheros de ese directorio que tengan extension .jpg
# Un array es un concepto de programacion, podriamos considerarlo como una lista de valores a los que podemos acceder
# por un indice que es su posicion en esa lista. Por ejemplo, podriamos tener un array llamado "dias" que almacenara los
# siguientes valores: lunes, martes, miercoles, jueves y viernes. dias = [ lunes, martes, miercoles, jueves, viernes]. Con
# ese array podriamos referenciar a un elemento del mismo a partir de su posicion. Ejemplo: dias[0] es lunes, dias[2] es
# miercoles.
# En este ejemplo lo que hacemos es crear un array con los nombres de todos los ficheros .jpg del directorio
files=( *.jpg )
# Recuperamos el numero de ficheros, N almacenara el numero de elementos del array
N=${#files[@]}
# Seleccionamos "aleatoriamente" un valor de esos N ficheros
((N=RANDOM%N))
# Con ese valor aleatorio (indice del array) accedemos al array y recuperamos el nombre del fichero
randomfile=${files[$N]}
# Y una vez recuperado el nombre de ese fichero llamamos a gconftool para fijar ese fichero como fondo de escritorio
gconftool-2 -t str --set /desktop/gnome/background/picture_filename "$picsfolder$randomfile"
# cambiamos tambien las propiedades de la imagen que se muestra
gconftool-2 -t str --set /desktop/gnome/background/picture_options "stretched"
#posibles valores "none", "wallpaper" (mosaico), "centered", "scaled", "stretched"

No es complicado este shell script y solo lo dejo como mera curiosidad. Si quieres usarlo, copia y pega el texto con tu
editor favorito y guardalo p.ej como “cambiar_wallpaper.sh“.

Despues le das permisos de ejecucion:

$ chmod +x cambiar_wallpaper.sh

Y ya cada vez que lo ejecutes:

$ ./cambiar_wallpaper.sh

Te cambiara de manera automatica la imagen del fondo de pantalla, a partir de una imagen .jpg que cargue del directorio especificado en la variable “picsfolder“.

1 comentario:

Anónimo dijo...

Muy bueno ese copy/paste...