sábado, 30 de marzo de 2013

Mapa del mundo dinámico en escritorio Unity (Ubuntu 12.04 +)

Ya hice una entrada parecida para el escritorio de gnome, pero que ahora ya he visto que no sirve para el nuevo escritorio de Ubuntu. Me está costando ver las ventajas de Unity y todavía vivo entre los dos entornos, hasta que me decida a dar el paso definitivo o Ubuntu se decida a volver a gnome, que no parece el caso. Por eso y porque no es fácil, iré poniendo los posts sobre las cosas que voy consiguiendo arreglar (así me sirve a mi también de tutorial de una vez a otra).

Objetivo
Al igual que en el caso anterior, para obtener un mapa dinámico tenemos que hacerlo en dos pasos:
1- En primer lugar conseguir que el mapa se baje cada cierto tiempo en una determinada carpeta.
2- En segundo lugar que el fondo de escritorio cambie regularmente para que se vea la nueva foto.

Paso 1: Bajar mapa actual
Este primer paso, es igual que en gnome:
Lo primero será instalar gnome-schedule si no está instalado:

sudo apt-get install gnome-schedule

gnome-schedule es una interfaz gráfica para “cron” que nos permitirá ejecutar tareas programadas.

- Ejecutamos ahora gnome-schedule y creamos una nueva tarea programada (Nuevo > Una tarea que se ejecutara repetidamente, por ejemplo cada hora o cada 2 horas)

wget -r -p -U Mozilla http://static.die.net/earth/mollweide/1600.jpg


Esto lo que hace es descargarse en nuestro directorio home, la imagen que podemos encontrar en la URL especificada.
-U Mozilla es para identificar el navegador, ya que si no, no te permite bajarte la foto en:

/home/personal/static.die.net/earth/mollweide/1600.jpg

Darle al menos una vez al botón de las ruedecillas, para que se ejecute la taréa, ver que se hace bien y se crea la carpeta anterior.

Una vez que tenemos la foto cambiada cada hora o cada dos horas, Nos vamos al escritorio y le damos al botón derecho del ratón para "cambiar el fondo de escritorio". En la ventana de la derecha se elige "carpeta de imágenes" y lógicamente se añade "+" la que contiene la imagen 1600.jpg (ver arriba).


Elegir la opción de visualización: a mi me gusta "rellenar"

Y ya está.

También sirve, claro,  para cualquier otra web que tenga imágenes dinámicas que cambien cada cierto tiempo. Utilizáis esta página web en vez de la anterior y buscáis la carpeta donde la baja.

En muchos casos el nombre viene con la fecha y hora. El truco está en cambiar las siete cifras de la fecha y hora por siete asteriscos como he hecho yo y así sale siempre la última. (vale también para las de 1km, 500m y 250m, pero cada vez pesan más y podéis sobrecargar la red demasiado.

Si os gusta por ejemplo la foto de:


http://lance-modis.eosdis.nasa.gov/imagery/subsets/?subset=Spain.*******.terra.2km.jpg


Mirar si os gustan las fotos de la nasa: http://rapidfire.sci.gsfc.nasa.gov/subsets/

Que lo disfrutéis.

ACTUALIZACIÓN:
Para facilitar el proceso y que realmente se cambie el mapa cada hora, he creado un script:
https://docs.google.com/file/d/0B9s_df1VCoZ9UFFkOGtkNG5aeWM/edit?usp=sharing


Este script tiene una llamada a otro script de DaniloDelaquilla:
https://github.com/ddellaquila/dd-repo/blob/master/scripts/random-file


Para utilizarlo se crea una carpeta /bin en la carpeta personal, se incluyen dentro los dos scripts y se crea una "tarea programada" que contenga unicamente:

bin/Mapas-escritorio

Y todo debería funcionar.

Pego el script debajo por si preferís copiarlo y pegarlo en un archivo de texto:

#!/bin/bash
#
# Mapas-escritorio
#
# Descripción: Se baja un mapa de escritorio y lo guarda en una carpeta y otro mapa a otra carpeta,
# comprueba que están bien y los copia en la carpeta
# de la que luego se elige uno de ellos al azar para ponerlo como fondo de escritorio
#
# CREDITOS
# tomaquina@gmail.com
#
# Para la elección de un archivo al azar se ha utilizado el programa randomfile
# de Danilo Dellaquila que hay que bajarselo de su repositorio
# https://github.com/ddellaquila/dd-repo/blob/master/scripts/random-file
# y ponerlo en la carpeta /bin dentro de la carpeta personal (o cambiarlo en el script)
# También se ha utilizado el script de Danilo Dellaquila "change-wallpaper"
# como base para la parte de cambiar el mapa de forma aleatoria, más detalles en:
# http://danilodellaquila.com/blog/how-to-automatically-change-your-desktop-background-wallpaper
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Este programa es gratuíto: puedes redistribuirlo y/o modificarlo bajo los
# términos de la licencia GNU (General Public License)
# No se garantiza que funcione bajo ninguna circunstancia, cada uno utiliza
# el software bajo su propia responsabilidad.
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see .
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# 1.BAJAR Y COMPROBAR MAPAS
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Bajar mapa mundo
wget -r -p -U Mozilla http://static.die.net/earth/mollweide/1600.jpg
#ver tamaño de mapa bajado y meter dentro de $Tam
Tam=$(ls -lh static.die.net/earth/mollweide/1600.jpg | cut -c 31-34)
# Si el tamaño es menor del que debería ser (115, comprobar en cada caso) no se copia, si es suficientemente grande si
if echo $Tam > 115; then
cp static.die.net/earth/mollweide/1600.jpg  Fotos-escritorio/Mapa1.jpg
fi
# Bajar mapa España
wget -r -p -U Mozilla http://lance-modis.eosdis.nasa.gov/imagery/subsets/?subset=Spain.*******.terra.2km.jpg
Tam2=$(ls -lh lance-modis.eosdis.nasa.gov/imagery/subsets/index.html\?subset\=Spain.*******.terra.2km.jpg | cut -c 31-34)
if echo $Tam2 > 161; then
cp lance-modis.eosdis.nasa.gov/imagery/subsets/index.html\?subset\=Spain.*******.terra.2km.jpg  Fotos-escritorio/Mapa2.jpg
fi
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# 2. Elegir un mapa al azar y ponerlo de fondo de escritorio
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Directorio donde se guardan las fotos del escritorio
DIR=~/Fotos-escritorio
# Variable para elegir al azar un archivo de la carpeta $DIR
PIC=`~/bin/random-file $DIR`
# Esta línea supongo que es sólo de comprobación, así que la comento
#echo `date` $PIC
# cron needs the DBUS_SESSION_BUS_ADDRESS environment variable set
if [ -z "$DBUS_SESSION_BUS_ADDRESS" ] ; then
TMP=~/.dbus/session-bus
 export $(grep -h DBUS_SESSION_BUS_ADDRESS= $TMP/$(ls -1t $TMP | head -n 1))
fi
# PONER IMAGEN DE FONDO
gsettings set org.gnome.desktop.background picture-uri "file://$PIC"
# Poner el formato de la imagen de fondo
picOpts="wallpaper"


No hay comentarios: