<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>wallpaper</title><link>https://desarrolla2.com/</link><description>El lugar donde voy dejando algunas de mis ideas, experiencias y reflexiones como desarrollador.</description><language>es</language><pubDate>Wed, 08 Apr 2026 09:56:44 +0200</pubDate><lastBuildDate>Wed, 08 Apr 2026 09:56:44 +0200</lastBuildDate><generator>DevtiaCore</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><ttl>3600</ttl><item><title>Imagen del día de la nasa como fondo de escritorio en gnome</title><link>https://desarrolla2.com/post/imagen-del-dia-de-la-nasa-como-fondo-de-escritorio-en-gnome</link><description><![CDATA[<p>Una peque&ntilde;a man&iacute;a que tengo es tener fondos de pantalla que cambian cada cierto tiempo.</p><p>Ex&iacute;sten algunos paquetes que hacen esto para gnome, pero no est&aacute;n en los repositorios oficiales, e instalar un repositorio adicional, para algo tan sencillo, no acaba de convencerme.</p><p>Por eso tengo el un peque&ntilde;o script en php que descarga una imagen y la pone como fondo de escritorio. En el ejemplo utilizo la <a href="https://www.nasa.gov/multimedia/imagegallery/iotd.html">imagen del d&iacute;a de la NASA</a>. Un servicio en el que cada d&iacute;a cuelgan una imagen nueva. La mayor&iacute;a de las cuales bastante espectacular.</p><p>El script podr&iacute;a ser mucho m&aacute;s elaborado, pero prefer&iacute;a algo sencillo, sin dependencias.</p><pre><code>
&lt;?php // run.php

$url = &#39;https://www.nasa.gov/rss/dyn/lg_image_of_the_day.rss&#39;;
$directory = &#39;/your/path/to/download/directory&#39;;
if (!is_dir($directory)) {
    exec(sprintf(&#39;mkdir -p %s&#39;, $directory));
}
$feed = file_get_contents($url);
$xml = simplexml_load_string($feed);
$json = json_encode($xml);
$array = json_decode($json, true);

if (!array_key_exists(&#39;channel&#39;, $array)) {
    return;
}
$channel = $array[&#39;channel&#39;];

if (!array_key_exists(&#39;item&#39;, $channel)) {
    return;
}

$items = $channel[&#39;item&#39;];
foreach ($items as $item) {
    if (!array_key_exists(&#39;enclosure&#39;, $item)) {
        continue;
    }

    $enclosure = $item[&#39;enclosure&#39;];
    if (!array_key_exists(&#39;@attributes&#39;, $enclosure)) {
        continue;
    }

    $attributes = $enclosure[&#39;@attributes&#39;];

    if (!array_key_exists(&#39;url&#39;, $attributes)) {
        continue;
    }

    $url = $attributes[&#39;url&#39;];
    $path_info = pathinfo($url);
    $extension = $path_info[&#39;extension&#39;];
    $fileName = sprintf(&#39;%s/%s.%s&#39;, $directory, md5($url), $extension);
    if (file_exists($fileName)) {
        return;
    }

    exec(sprintf(&#39;wget -O %s %s&#39;, $fileName, $url));
    exec(sprintf(&#39;gsettings set org.gnome.desktop.background picture-uri file://%s&#39;, $fileName));

    return;
}</code></pre><p>Hay otros servicios que te ofrecen buenas im&aacute;genes en formato rss como por ejemplo <a href="https://unsplash.com/search/photos/rss">unspash</a>. Seguro que puedes encontrar un servicio que te de un tipo de im&aacute;genes de tu agrado.</p><p>Cada vez que ejecutes este fichero, buscar&nbsp;actualizaciones, descarga la &uacute;ltima&nbsp;y la configura&nbsp;como fondo de escritorio.</p><pre><code>php run.php</code></pre><p>Yo programo una ejecuci&oacute;n peri&oacute;dica del mismo, a&ntilde;adiendo el siguiente contenido en el fichero /etc/cron.d/wallpaper</p><pre><code>10 * * * *   yourusername /usr/bin/php /path/to/script/run.php &gt;&gt; /tmp/cron.nasa-wallpaper.log 2&gt;&amp;1</code></pre><p>Ya me contar&aacute;s si te ha sido &uacute;til.</p>]]></description><guid>https://desarrolla2.com/post/imagen-del-dia-de-la-nasa-como-fondo-de-escritorio-en-gnome</guid><pubDate>Mon, 05 Nov 2018 09:13:00 +0100</pubDate></item></channel></rss>