Imagen del día de fondo de escritorio de GNOME
A diferencia de KDE Plasma, GNOME no tiene una función nativa para reemplazar el fondo del escritorio por una “imagen del día”. KDE Plasma ofrece múltiples fuentes para realizar esta tarea de forma nativa (NASA, Bing, National Geographic, NOAA, Unsplash, Wikimedia Commons…). Seguro que existen varios plugins de terceros para GNOME que suplen esta función, plugins que tienden a romper GNOME cada vez que hay una actualización. El siguiente es un script de apenas cuatro líneas que suelo utilizar en puestos de trabajo con GNOME.
Script para descargar una imagen aleatoria de picsum.photos :
#!/bin/sh
wget -O ~/.local/share/backgrounds/background.jpg https://picsum.photos/1920/1080
1920/1080
son la anchura y altura en píxeles de la imagen a descargar. Guardo el script en /home/miguel/.local/share/backgrounds/
donde se guardará también la imagen descargada con el nombre background.jpg
Pero este script tiene un problema: Si en el momento de ejecutarse falla el comando wget
(no hay salida a Internet, el servidor de picsum.photos no responde, etc.), se guardará un archivo background.jpg
vacío, pisando la imagen anterior y mostrándose un fondo negro en el escritorio. Para solucionarlo:
#!/bin/sh
if wget -O ~/.local/share/backgrounds/background-tmp.jpg https://picsum.photos/1920/1080
then mv ~/.local/share/backgrounds/background-tmp.jpg ~/.local/share/backgrounds/background.jpg
else rm ~/.local/share/backgrounds/background-tmp.jpg
fi
Ahora, wget
guardará la imagen en el archivo background-tmp.jpg
, si wget
se ejecuta correctamente se moverá el archivo background-tmp.jpg
a background.jpg
y, si falla, se elmina el archivo vacío background-tmp.jpg
conservándose el archivo background.jpg
anterior.
En este ejemplo el directorio /home/miguel
está cifrado por lo que la ejecución periódica del anterior script no se realizará no por cron ni por systemd. Se ejecutará una vez cuando el usuario miguel inicie sesión en GNOME y para ello creo el siguiente archivo que guardaré en /home/miguel/.config/autostart/
con el nombre download-background.desktop
[Desktop Entry]
Type=Application
Name=DownloadBackground
GenericName=Download a wallpaper
Comment=Download a ramdom wallpaper.
Exec=/home/miguel/.local/share/backgrounds/download-background.sh
Terminal=false
Aviso: No funcionará ~/.local/...
en Exec=
Compruebo:
Cierro la sesión de GNOME y vuelvo a iniciarla. En un espacio de trabajo vacío, click derecho de ratón, «Cambiar el fondo…»:
Y compruebo que ya ha encontrado la imagen descargada en ~/.local/share/backgrounds/background.jpg
al iniciar sesión (la foto de una medusa en este ejemplo):
La selecciono y listo: