Esta receta explica como poner un fondo de pantalla muy resultón que consiste en una imagen realista de la Tierra con iluminación y nubes “reales”, que además se va actualizando para representar la situación actual. Todo ello gracias a xplanet.

Vamos a necesitar los siguientes ingredientes:

xplanet

Xplanet es una especie de planetario de bolsillo. Es capaz de representar 36 objetos celestes entre planetas y lunas del sistema solar en su posición actual e interpolada en cualquier momento de la historia. Además, permite superponer a la superficie del planeta un mapa de nubes. En Debian los paquetes se llaman xplanet y xplanet-images.

Xplanet puede usarse como salvapantallas, pero también puede volcar su salida a un fichero jpg, png, ppm, gif o tiff.

gconftool-2

Es un programa para establecer el fondo de pantalla de gnome de forma automática. Este programa es gconftool-2, es un editor de gconf, el gestor de configuraciones de gnome. Salvando muchísimas y variadas distancias, vendría a ser como el regedit.

el mapa de nubes (actualizado)

Como se trata de una images de las nubes que cambia a largo del día, necesitaremos un lugar de donde obtenerlo.

Estos son algunos mirrors del mapa de nubes en resolución de 2048×1024 (probados por última vez el 1/03/10):

En la página de xplanet hay una lista de mirrors

En la web de xplanet hay un script llamado download_clouds.py que se encarga de esta labor. De ese script tan solo tendremos que ajustar un parámetro, el fichero de salida del mapa de nubes. El parámetro es el siguiente.

defaultOutputFile = "/ruta_donde_quieres_guardar_el_fichero/clouds_2048.jpg"

Tenemos una versión mejorada del mismo script clouds.py. Si lo vas a meter en /etc/cron.hourly o similar, quítale la extensión porque sino no va a funcionar.

El script deberá ejecutarse periódicamente. Como el mapa de nubes se descarga solo si hay versión nueva y esta solo aparece cada 3 o 4 horas, yo lo he metido en mi cron.hourly, es decir, se ejecuta cada hora aunque solo encuentra una versión nueva de las nubes cada 3 o 4.

En mi caso, y como el script es ejecutado por cron con permisos de superusuario, la ruta donde guardo la imagen descargada es la ruta donde xplanet tiene todas sus imágenes. Es decir.

defaultOutputFile = "/usr/share/xplanet/images/clouds_2048.jpg"

Ya tenemos nuestro mapa de nubes actualizado.

Generando la imagen para el fondo

Para esta labor, también tenemos un script procedente de la web Gnome Hacks.

Como el script es sencillo, lo pongo aquí para comentar algunas cosas que nos puede interesa tocar.

#!/bin/bash

#Cada cuanto tiempo se renovará la imagen
DELAY=30m

#Lugar donde se alojará la imagen
PREFIX=/home/fsancho/.xplanet/images

#Fichero de salida
OUTPUT=xplanetBkg.png

#Tamaño de la imagen
GEOMETRY=1024x768

#Lugar desde donde se observa la imagen. Actualmente se ve europa en primer plano
LONGITUDE=10
LATITUDE=40

if test -e "$PREFIX$OUTPUT"; then
   rm "$PREFIX$OUTPUT"
   OUTPUT="_$OUTPUT"
else
   rm "$PREFIX""_$OUTPUT"
fi

# Comando que genera la imagen
xplanet -num_times 1 -output "$PREFIX$OUTPUT" -geometry $GEOMETRY -longitude $LONGITUDE \ 
-latitude $LATITUDE

gconftool-2 -t str -s /desktop/gnome/background/picture_filename "$PREFIX$OUTPUT"

sleep $DELAY
exec $0

Este comando se debe ejecutar al arrancar la sesión de gnome. En mi caso lo he puesto en ~/bin/xplanet-gnome.sh y la invocación se realiza desde las preferencias de la sesión de gnome. Para ello, ve al menú Escritorio→Preferencias→Sesiones una vez arrancado el gestor de sesiones de gnome, añade la llamada al script anterior en la pestaña “Programas al inicio” teniendo cuidado de poner la ruta completa donde se encuentra el script y añadiendo al final de la línea de comandos el caracter “&” para que el comando se lance en segundo plano.

Para que las nubes se superpongan al mapa del mundo, necesitas editar el fichero de configuración de xplanet que está en ~/.xplanet/config/default y en la sección dedicada al planeta Tierra añade lo siguiente:

[earth]
color={28, 82, 110}
cloud_gamma=1
cloud_map=clouds_2048.jpg
cloud_threshold=90

Referencias

  • XPlanet
  • Blue Marble Maps
  • Earth Images Al final de esta página tenemos un buen mapa con la máscara para los océanos. Debes invertir los colores de la imágen para que se note el efecto de brillo de los océanos con la luz del sol.


blog comments powered by Disqus