Come creare uno slideshow di sfondi personalizzati in Ubuntu (GNOME)


Gnome open source free spftware linux desktop environment
Gnome open source free spftware linux desktop environment

Negli ambienti desktop basati su GNOME, come Ubuntu, è possibile impostare uno sfondo che cambia automaticamente nel tempo, come una presentazione. Quello che molti non sanno è che GNOME supporta nativamente gli slideshow tramite file XML, e che lo slideshow con il “cronometrino” visibile nella sezione Aspetto delle impostazioni è un esempio di questo meccanismo.

In questa guida vedremo come creare un nostro slideshow personalizzato con immagini a piacere, farlo comparire nella GUI di GNOME e attivarlo come sfondo dinamico.

Preparazione delle immagini

GNOME accetta solo percorsi di sistema per gli slideshow, per cui le immagini vanno copiate in una directory accessibile globalmente, come /usr/share/backgrounds/.

Per esempio, possiamo creare una nuova cartella e copiarci dentro le nostre immagini:

sudo mkdir -p /usr/share/backgrounds/apod
sudo cp ~/Immagini/Sfondi_APOD/* /usr/share/backgrounds/apod/

Creazione dello slideshow

Lo slideshow viene definito da un file XML con una struttura precisa. Possiamo generarlo automaticamente con uno script bash. Ecco uno script che crea il file /usr/share/backgrounds/apod_slideshow.xml con durata di 30 minuti per ogni immagine e transizioni di 5 secondi:

#!/bin/bash

IMAGES_DIR="/usr/share/backgrounds/apod"
OUTPUT="/usr/share/backgrounds/apod_slideshow.xml"
DURATION=1800.0
TRANSITION=5.0

sudo bash -c "cat > '$OUTPUT' <<EOF
<?xml version=\"1.0\"?>
<background>
  <starttime>
    <year>2025</year>
    <month>07</month>
    <day>04</day>
    <hour>00</hour>
    <minute>00</minute>
    <second>00</second>
  </starttime>
EOF"

IMAGES=(\$(find \"\$IMAGES_DIR\" -type f \( -iname '*.jpg' -o -iname '*.png' \) | sort))
NUM_IMAGES=\${#IMAGES[@]}

for ((i=0; i<NUM_IMAGES; i++)); do
    FROM=\${IMAGES[\$i]}
    TO=\${IMAGES[\$(( (i+1)%NUM_IMAGES ))]}

    sudo bash -c "cat >> '$OUTPUT' <<EOF
  <static>
    <duration>\$DURATION</duration>
    <file>\$FROM</file>
  </static>
  <transition>
    <duration>\$TRANSITION</duration>
    <from>\$FROM</from>
    <to>\$TO</to>
  </transition>
EOF"
done

sudo bash -c "echo '</background>' >> '$OUTPUT'"

Salva questo script in un file .sh, rendilo eseguibile con chmod +x e lancialo. Il file XML verrà generato correttamente nella directory di sistema.

Registrazione dello slideshow nella GUI

Per far apparire lo slideshow tra gli sfondi selezionabili nella sezione Aspetto, è necessario creare un file descrittore in /usr/share/gnome-background-properties/. Ecco un esempio:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE wallpapers SYSTEM "gnome-wp-list.dtd">
<wallpapers>
  <wallpaper deleted="false">
    <name>NASA APOD Slideshow</name>
    <filename>/usr/share/backgrounds/apod_slideshow.xml</filename>
    <options>scaled</options>
    <pcolor>#000000</pcolor>
    <scolor>#ffffff</scolor>
    <shade_type>solid</shade_type>
  </wallpaper>
</wallpapers>

Nell’opzione options è possibile impostare scaled se si vuole che l’immagine venga riscalata (come ho preferito in questo caso). I possibili valori sono riassunti in uqesta tabella

ValoreComportamento
centeredImmagine centrata, nessun ridimensionamento
scaledScala per entrare nello schermo
stretchedDeforma per riempire lo schermo
zoomRiempie mantenendo proporzioni (può sgranare)
spannedSu più monitor, come un unico sfondo

Salva questo file come /usr/share/gnome-background-properties/apod-slideshow.xml. Dopo averlo fatto, apri di nuovo le impostazioni di GNOME: nella sezione Aspetto vedrai una nuova voce con il nome indicato nel campo <name>, accompagnata dal simbolo del cronometro. Selezionandola, attiverai lo slideshow appena creato.

Questo metodo sfrutta direttamente le funzionalità native di GNOME, senza bisogno di strumenti esterni come Variety. È ideale se vuoi uno sfondo dinamico elegante, discreto e completamente personalizzabile, che rispetti le logiche del sistema e venga integrato perfettamente nella GUI.

Puoi aggiornare le immagini quando vuoi: ti basta sostituirle nella cartella /usr/share/backgrounds/apod/ e rigenerare il file XML con lo script.


Scaricare immagini dalla NASA

Le immagini pubblicate quotidianamente dalla NASA attraverso il servizio Astronomy Picture of the Day (APOD) sono un’ottima fonte di sfondi spettacolari. Sono liberamente utilizzabili perché rilasciate nel pubblico dominio. Per scaricarle in modo automatizzato si può utilizzare l’API ufficiale messa a disposizione dalla NASA, accessibile gratuitamente previa registrazione su api.nasa.gov. Una volta ottenuta la chiave di accesso (API key), è possibile scrivere uno script che interroga l’API per ottenere l’immagine del giorno, ne estrae il collegamento ad alta risoluzione e la salva in una cartella locale.

Un esempio di script bash potrebbe interrogare l’API per un certo numero di giorni passati, scaricare le immagini disponibili e salvarle in una directory temporanea. Da lì è poi possibile copiarle in /usr/share/backgrounds/apod/, come descritto in precedenza, ed eventualmente rigenerare lo slideshow. Va tenuto presente che l’API non consente di filtrare le immagini in base alla risoluzione o all’orientamento, quindi potrebbe essere necessario un controllo manuale o automatico a posteriori, ad esempio per escludere immagini verticali o troppo piccole.

In questo modo è possibile costruire uno slideshow di sfondi aggiornato con immagini astronomiche sempre nuove, sincronizzate con la pubblicazione quotidiana della NASA.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.