Wallpaper de imagen de satelite en tiempo real

Si tienes gnome y no quieres leer detalles

#!/bin/bash

yo=$(whoami)

URL='http://oiswww.eumetsat.org/IPPS/html/latestImages/EUMETSAT_MSG_RGB-naturalcolor-all.jpg';

wget $URL -O /home/$yo/escritorio.jpg

# TODO recuperar el tamaño de la imagen y quitar la ultima banda de 25 pix de alto

convert $IMG -crop 800x775+0+0 /home/$yo/escritorio.jpg

gconftool-2 --type string --set /desktop/gnome/background/picture_options scaled

gconftool-2 --type string --set /desktop/gnome/background/picture_filename /home/$yo/escritorio.jpg

Intro

ste sabado he cambiado mi wallpaper, queria un fondo de escritorio del planeta tierra pero no uno estatico, uno que vaya mostrando una imagen del planeta segun como esta en este mismo momento (o al menos un momento cercano). Para hacerlo posible solo necesitais un linux, da igual que distribucion, funciona en ubuntu,debian,fedora… mas abajo pondre los requisitos que necesitamos para que este script corra con exito.

Despues de acabar el script, mi fondo de pantalla es asi:

wallpaper.png

Localizar la fuente de nuestra imagen

En mi caso he decidido usar las imagenes que EUMETSAT publica en su web, yo he elegido la imagen de baja resolucion de todo el disco del satelite, de un producto que representa la precipitacion segun unos historios que no entiendo bien. Esto son un pequeño ejemplo de todos los productos que nos ofrece de manera gratuita la web de EUMETSAT

http://oiswww.eumetsat.org/IPPS/html/bin/thumbnails/msg_ir039_bw_thumbnail.jpghttp://oiswww.eumetsat.org/IPPS/html/bin/thumbnails/msg_ir039_color_thumbnail.jpghttp://oiswww.eumetsat.org/IPPS/html/bin/thumbnails/msg_amv_thumbnail.jpg

Explorando por el navegador de imagenes, en mi caso en esta web. Existe un boton download, que nos da la ruta al fichero que estamos viendo, este fichero siempre se llama igual. en mi caso esta en esta ruta http://oiswww.eumetsat.org/IPPS/html/MSG/RGB/NATURALCOLOR/FULLDISC/IMAGESDisplay/2FramesNATURALCOLOR-FULLDISC.zip

Este fichero nos lo bajaremos rutinariamente, esta imagen precisamente se actualiza cada hora, asi que nuestro script correra en el cron cada hora.

Descargar la imagen

Descargaremos el zip con wget y lo guardaremos en el directorio /tmp de nuestro ordenador:

El siguiente paso sera descomprimir el fichero, ademas en la misma linea aprovecharemos para quedarnos el nombre del primer fichero que descomprimimos, es decir el nombre del jpg mas moderno de los disponibles

IMG=$(unzip -o escritorio.zip | grep extracting| head -1 | cut -f3 -d' ')

Ya tenemos en la variable $IMG el nombre del .jpg mas modernos dentro de nuestro zip periodico que nos bajaremos.

Descripcion de la imagen original

La imagen original se llama “FRAME_OIS_RGB-naturalcolor-all_1110081600.jpg” Este jpg tiene la fecha en el nombre como podeis ver, esta imagen tiene una banda blanca en la parte inferior que muestra metadatos asi como la fecha de generacion de la imagen, no nos interesa para nuestro wallpaper, veamosla.

Arreglar la imagen

Vamos a eliminar la banda blanca de la parte inferior, para ello usaremos el paquete imagemagik que esta disponible en todas las distribuciones linux del momento, este paquete tiene el comando convert, que nos ayudara a cortar (crop) cierto rectangulo de la imagen.

convert $IMG -crop 800x775+0+0 /home/fa/escritorio.jpg

La salida de este comando la hemos guardado en nuestro home, con un fichero estatico, este script cada hora acabara produciendo una imagen en nuestro home que se ira pisando, ya que no nos interesa almacenar una coleccion de imagenes de satelite pasadas.

Establecer el fondo de escritorio

Pondremos esta imagen como fondo , modificando el gconf pero desde consola

gconftool-2 --type string --set /desktop/gnome/background/picture_options scaled
gconftool-2 --type string --set /desktop/gnome/background/picture_filename /home/fa/escritorio.jpg

Estos comandos deben ejecutarse una sola vez, ya que el nombre del fichero es siempre el mismo

Colocar en el cron

Solo queda programar este pequeño script para que se ejecute cada hora, copiamos de la parte final del post todo el script y lo guardamos con permiso de ejecucion en /etc/cron.hourly  o modificando nuestro crontab.

Script completo

#!/bin/bash
URL='http://oiswww.eumetsat.org/IPPS/html/MSG/RGB/NATURALCOLOR/FULLDISC/IMAGESDisplay/2FramesNATURALCOLOR-FULLDISC.zip';
wget $URL -O /tmp/escritorio.zip
cd /tmp
IMG=$(unzip -o escritorio.zip | grep extracti| head -1 | cut -f3 -d' ')
convert $IMG -crop 800x775+0+0 /home/fa/escritorio.jpg
gconftool-2 --type string --set /desktop/gnome/background/picture_options scaled
gconftool-2 --type string --set /desktop/gnome/background/picture_filename /home/fa/escritorio.jpg
10 Oct 2011, 02:28
#1

Típico fondo de pantalla para espías y agentes secretos

10 Oct 2011, 10:27
#2

Mola, lo probaré cuando llegue a mi casa.

10 Oct 2011, 10:45
#3

#1 foxan0010 , shshssh no puedo revelar mi identidad real

Que distribución usas ohmylol ?

10 Oct 2011, 11:03
#4

#3 La 2.32 aunque no me manejo muy bien, tengo un portatil antiguo con varios S.O (Solaris, Gnome 2.32 y Ubuntu 10.04) Los tengo para pruebas del instituto y eso aunque el Gnome no lo he tocado mucho, asi qeu voi a ver que se puede hacer

10 Oct 2011, 18:34
#5

lo voy a probar a ver, y eso que odio linux

<strong>Editado</strong>: nah muy chungo paso