Espléndidas imágenes para el escritorio


expléndidas nevulosas(1)
¿Os gustaría tener unas impresionantes fotos de fondo del escritorio (eso si que son expléndidos wallpaper ) de galaxias y nebulosas captadas por el telescopio espacial Hubble nuevas cada día? Aquí tenéis las instrucciones.

¿Queréis una pequeña imagen astronómica del día en vuestra web? Aprovecho también para contaros como meterla con PHP gracias AstroRED.

Actualización: La web de AstroRed ha cambiado, he retocado el script de actualización para que siga funcionando bien. Ahora se conecta directamente a la NASA. 🙂

Este artículo tiene cuatro partes que os enlazo en un pequeño índice para que podáis ir directamente a lo que os interese:

1- Conseguir las imágenes(2). Donde muestra cómo bajarse directamente algunas imágenes preparadas, sin tener que utilizar el script.

2- La imagen astronómica del día(3). Para que podáis añadir una imágen a vuestra web que cambie cada día con título incluido.

3- Imágenes actualizadas para el escritorio(4). Allí podréis saber cómo actualizar con el script las imágenes con fotos para el escritorio diaria y automáticamente.

4- Comentarios(5). Buena parte del artículo es gracias a las ideas y notas que me han ido pasando. Gracias 🙂

Conseguir las imágenes

Para poner imágenes en el escritorio lo que necesitáis son primero el catalogo de imágenes y luego indicarle al escritorio que debe ir cambiando entre ellas, veamos cómo:

Hay bastantes sitios en la red donde se pueden conseguir muchas imágenes de diferentes tipos. El sitio que he encontrado hace poco es una página española dedicada a la promoción de la astronomía: Astrored(6).

En este sitio tienen un apartado especial para imágenes de fondo: Tapices para tu Escritorio(7). Es algo un poco enfocado al haselfoch(8) pero no os preocupéis que nosotros les echamos una mano en el tema Linux y listos.

Vosotros bajaros las imágenes que os gusten y ponerlas todas en un directorio.

Cuando tengáis unas cuantas bajadas, id a la configuración del KDE en la parte LookNFeel/Fondo. Seleccionad la pestaña de tapiz y elegid la opción de tapices múltiples. Entonces le dais a configuración múltiple y allí añadid todas las imágenes. Yo tengo 5 minutos entre cada imagen, disfruto como un niño de estas golosinas. 🙂

La imagen astronómica del día

Ya puestos, en mi sitio web he añadido la imagen astronómica del día abajo a la izquierda. Echadle un vistazo y os cuento cómo me la he puesto: http://H.says.it/(9) (nota de enero del 2006, el código de esa web lo acabo de actualizar y ya no corresponde con éste, si queréis el nuevo comentadmelo y os lo paso…)

Como lo quería poner en mi portada y la tengo ya muy llena, necesitaba que fuese algo con menos saltos de línea. Así pues me he hecho un pequeño script que os doy con licencia GNU para que podáis usarlo y mejorarlo sin problemas. Así basta con tener allí un pequeño marco con la llamada al script: http://mallorcaweb.net/rene/imagenastrodia.php(10)

Este es el script:

<html>
<head>
<title>Script para la imagen del dia</title>
<meta http-equiv=”Content-Type”
content=”text/html; charset=iso-8859-1″>
</head>
<body bgcolor=”#CCFFCC”>
<?
//eso indicó el inicio del código php
$fondo=”CCFFCC”;
$origen=”000000″;
$dia=date (“ymd”);
$diamostrable=date(“d / m / Y”);
$url=”http://www.astrored.org/astrofotos/apod/apod.js”;
$fd = fopen ($url, “rb”);
// lee en la web de Astrored de forma similar a lo que hace su script
// para tener el título de la imagen

while (!feof ($fd))
    
$buffer .= fgets($fd, 4096);
fclose ($fd);
$titulo=strstr($buffer,”+ titulo +”);
$titulo=substr($titulo,13,strlen($titulo)-10-strlen(strstr($titulo,”</font>”)));
//título extraido, paso a dibujar la tabla con la imagen
print (“<table cellpadding=5 bgcolor=” . $fondo . “><tr><td valign=top align=center bgcolor=” . $fondo . “>”);
print (
“<font face=Verdana size=1><font color=” . $origen . “><b>Imagen Astronómica del día</b></font><br>”);
print (
“<font size=1 color=blue>”.$diamostrable.”</font><br>”);
print (
“<a href=http://www.astrored.org/astrofotos/apod target=’_parent’><img
src=http://antwrp.gsfc.nasa.gov/apod/calendar/S_”
.$dia.”.jpg border=0></a><br clear=all>”);
//y eso acaba de
poner en la página web la petición para la imagen y ahora el título
print (“<font color=blue>”.$titulo.”</font></font></td></tr></table>”);
?><!— eso termino el código php—>
</body>
</html>








Requisito: Se necesita que la página web que tenga este script esté en un servidor que interprete el código php. El servidor Apache es el más usado en Internet (más que lo del monopolio) y lo hace muy bien. Si no, la otra opción es tirar del que está en mi web.

Imágenes actualizadas para el escritorio

Con el siguiente script podéis actualizarlas las imágenes del escritorio diariamente o cada semana o cada mes o con la frecuencia que queráis.

He cambiado el script porque AstroRed cambió la página y ahora eran necesarias tres peticiones web para poder obtener la imagen. Como sólo se necesitan dos desde la NASA he optado por comunicarme directamente allí.

Creáis un nuevo fichero por ejemplo act_fondos: (Versión sencilla)

#!/bin/bash

GET http://antwrp.gsfc.nasa.gov/apod/ | grep ‘<a href=”image/’ | sed ‘s/<a href=”/http:\/\/antwrp.gsfc.nasa.gov\/apod\//’ | sed ‘s/”>//’ | xargs wget -P /home/h/Documents/fondos/nuevo

if test -e /home/h/Documents/fondos/nuevo/*
then

cp /home/h/Documents/fondos/foto6.jpg /home/h/Documents/fondos/foto7.jpg
cp /home/h/Documents/fondos/foto5.jpg /home/h/Documents/fondos/foto6.jpg
cp /home/h/Documents/fondos/foto4.jpg /home/h/Documents/fondos/foto5.jpg
cp /home/h/Documents/fondos/foto3.jpg /home/h/Documents/fondos/foto4.jpg
cp /home/h/Documents/fondos/foto2.jpg /home/h/Documents/fondos/foto3.jpg
cp /home/h/Documents/fondos/foto1.jpg /home/h/Documents/fondos/foto2.jpg
cp /home/h/Documents/fondos/nuevo/* /home/h/Documents/fondos/archivo/
mv /home/h/Documents/fondos/nuevo/* /home/h/Documents/fondos/foto1.jpg

else
echo “no se pudo traer la imágen”
fi
exit 0

Una versión con más detalles es la que nos ha enviado Antoni Bella. Esta es la versión en castellano. También la tenéis en catalán en uno de los comentarios. Versión mejorada (ojo que las explicaciones corresponden a la sencilla):

#!/bin/bash

# Variables
F_DIR=”$HOME/.imagenes/astros”
ANY=`date +%Y`
MES=`date +%m`
DIA=`date +%d`

# Creando los directorios (sólo si no existen)
for dir in $HOME/.imagenes $F_DIR $F_DIR/.tmp $F_DIR/archivo $F_DIR/archivo/$ANY $F_DIR/archivo/$ANY/$MES
do
test -d $dir || mkdir $dir
done

# Consiguiendo las fotos directamente de la NASA

GET http://antwrp.gsfc.nasa.gov/apod/ | grep ‘<a href=”image/’ | sed ‘s/<a href=”/http:\/\/antwrp.gsfc.nasa.gov\/apod\//’ | sed ‘s/”>//’ | xargs wget -P $F_DIR/.tmp

# Obteniendo el nombre de la foto
FILE=`ls $F_DIR/.tmp/`
if [ -f $F_DIR/.tmp/$FILE ]; then

# Bucle de las fotos en el archivo semanal
test -f $F_DIR/foto_6.jpg && cp $F_DIR/foto_6.jpg $F_DIR/foto_7.jpg
test -f $F_DIR/foto_5.jpg && cp $F_DIR/foto_5.jpg $F_DIR/foto_6.jpg
test -f $F_DIR/foto_4.jpg && cp $F_DIR/foto_4.jpg $F_DIR/foto_5.jpg
test -f $F_DIR/foto_3.jpg && cp $F_DIR/foto_3.jpg $F_DIR/foto_4.jpg
test -f $F_DIR/foto_2.jpg && cp $F_DIR/foto_2.jpg $F_DIR/foto_3.jpg
test -f $F_DIR/foto_1.jpg && cp $F_DIR/foto_1.jpg $F_DIR/foto_2.jpg
# Se copia la nueva foto en la 1ª posición del archivo semanal
cp $F_DIR/.tmp/$FILE $F_DIR/foto_1.jpg

# Se mueve hacia el archivo histórico con el día en el nombre del fichero
# — buen metodo para tenerlas ordenadas. 😉
mv $F_DIR/.tmp/$FILE $F_DIR/archivo/$ANY/$MES/_$FILE
# O si las queréis todas juntas comentar la línea anterior y descomentar la siguiente:
# mv $F-DIR/.tmp/&FILE &F_DIR/archivo/_&FILE
else
# Se genera el cuerpo del mensaje de error
mensaje_error()
{
echo -e “\n $(date +%d-%m-%Y)\n ERROR: No se ha descargado ningún fichero!\n”
}
# Usando el correo electrónico para enviar mensaje de error al usuario
(mensaje_error | /usr/bin/mail –subject=”astros.sh $DIA de $MES de $ANY” $USER) &
fi

exit 0

Las líneas azules mueven los ficheros de forma cíclica borrando el más antiguo. La verde trae la última imágen del día. cuidado con copiar bien los < y >

¿Cómo extraer una cadena de un texto utilizando expresiones regulares? Bueno, en la línea verde hay un ejemplo que ahora describo. Seguro que no es la mejor forma, pero está funciona bien. 🙂


La línea verde primero obtiene el documento de la página web con el GET luego, por la tubería | , grep extrae todo el pedazo inicial hasta encontrar el trozo que buscaba, la dirección de la imagen en la web. Así el siguiente sed toma el pedazo restante y busca justo lo que le sigue y sustituye /esto/poresto/ como no hay nada en el poresto el resultado es que lo borra. El siguiente sed hace lo mismo pero borrando lo que sobra al principio. Ir haciendo pruebas y veréis cómo funciona en más detalle.

Luego el wget lo que hace es traernos esa imagen de la que acabamos de obtener la URL.

Bueno, volvamos al proceso de como instalarlo: Primero creamos el fichero act_fondos. Le cambiamos al directorio el nombre para cambiar mi usuario h por el vuestro. Lo guardamos y lo convertimos en ejecutable, por ejemplo con chmod 771 act_fondos. Luego creamos los directorios nombrados en él. y lo probamos para depurar errores.

Si todo ha ido bien hasta aquí habréis obtenido una imagen en el directorio fondos. Ahora sólo faltan dos pasos: meterlo en el cron para que lo haga cíclicamente y decirle al kde que vaya tomando también de esas imágenes cuando busque sus fondos. Para los usuarios de mandrake: kCron os ayuda ha hacerlo de una forma muy sencilla: /editar/nuevo y las opciones son muy claras. Yo he puesto diariamente y a la 0:55 para ver mientras lo hacía, que me aparecía la nueva imágen. Otra herramienta que podemos utilizar es el webmin (si lo tenéis funcionado lo podrías ver aquí(11)) El camino es: sistema/tareas planificadas del Cron(12)

Para añadir esas imágenes que vaya actualizando en el ciclo de refrescos del KDE del apartado anterior basta con copiar en el mismo directorio la primera imagen pero cambiando el número final para 2, 3 o las que queramos y luego, añadirlas como imágenes normales, con el ratón vais a cofigurar/KDE/LookNfeel/fondo/fondo presentación/(boton configuración) y en múltiples fondos añadidlas. (en mi KDE 3.2.1 es: “configurar escritorio”/LookNfeel/fondo)

Bueno, pues para terminar quiero agradecer a AstroRED su trabajo de traducción y todo lo demás que hace de su sitio, uno de los mejores que he visto.

También gracias a Suki_ por sugerirme el tercer apartado y a C2H5OH por sus consejos sobre grep y sed y wget. Él, a veces proponía otras soluciones, pero me ayudo a dar mis primeros pasitos sólo, y eso vale cada minuto más que un lingote de oro. 🙂 Y a Victor Zabalza, que dio mejor solución al problema del nombre de las imágenes (ahora todas tienen un .jpg aunque no lo sean, pero se pueden seleccionar en el listado), añadió la idea de archivarlas todas en un directorio, y una protección para cuando no se esté conectado.Lista de enlaces de este artículo:

  • http://bulma.net/body.phtml?nIdNoticia=1632
  • http://bulma.net/body.phtml?nIdNoticia=1632&nIdPage=2
  • http://bulma.net/body.phtml?nIdNoticia=1632&nIdPage=3
  • http://bulma.net/body.phtml?nIdNoticia=1632&nIdPage=4
  • http://bulma.net/body.phtml?nIdNoticia=1632&nIdPage=5
  • http://www.astrored.org/astrofotos/
  • http://www.astrored.org/especiales/tapices/
  • http://bulma.net/body.phtml?nIdNoticia=1613
  • http://H.says.it/
  • http://mallorcaweb.net/rene/imagenastrodia.php
  • https://localhost:10000/
  • https://localhost:10000/cron/index.cgi
  • Este post ha sido traido de forma automatica desde https://web.archive.org/web/20140625063149/http:/bulma.net/body.phtml?nIdNoticia=1632 por un robot nigromante, si crees que puede mejorarse, por favor, contactanos.


    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

    Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.