Hai mai desiderato avere quello sfondo automatico cambiare la funzione sulla tua distribuzione GNOME Linux? Ho perso quella funzione dopo essere passato da Cinnamon a GNOME 🙁 Ho cercato app nel centro software e purtroppo non ce n'è nessuna che sono riuscito a trovare. Tuttavia, oggi sono felice di informarti che esiste una soluzione alternativa a questa funzionalità mancante attraverso l'uso del linguaggio di scripting BASH.
Requisito
Non molto, tutto ciò di cui hai bisogno è un editor di testo per modificare alcune righe di codice sul file di script. E la possibilità di creare e salvare file di testo. Tutto qui 🙂 Nel caso tu sia un programmatore, ho omesso i commenti (documentato il codice) nello script in modo che tu possa capirlo.
Fase 1:crea il file di script
Apri il tuo programma di editor di testo preferito e salva il file come .change_wallpapers nella tua home directory.
Notare il punto (.) preceduto dal nome del file. Vogliamo che il file venga nascosto, quindi è importante anteporre un punto prima del nome del file.\
Quindi copia e incolla lo script seguente nel file di script appena creato.
#!/bin/bash # script to set random background wallpapers on my GNOME desktop # set base path export wallpaper_path= shopt -s nullglob # store all the image file names in wallpapers array wallpapers=( $wallpaper_path/*.jpg $wallpaper_path/*.jpeg $wallpaper_path/*.png $wallpaper_path/*.bmp $wallpaper_path/*.svg ) # get array size wallpapers_size=${#wallpapers[*]}
Fase 2:modifica dello script
​Devi inserire il tuo percorso personalizzato nella variabile di ambiente wallpaper_path . Ad esempio, se la directory dello sfondo (o dell'immagine) si trova in /home/abc/Pictures/Wallpapers, è necessario modificare quella riga:export wallpaper_path=
export wallpaper_path=/home/abc/Pictures/Wallpapers Inoltre, ho aggiunto le estensioni di file immagine più comuni nella variabile array wallpapers . Ma il tuo formato di file immagine preferito potrebbe essere stato perso. Forse le tue immagini sono nel formato TIFF o qualcos'altro. Assicurati di aggiungere tu stesso le estensioni mancanti. Ad esempio, se voglio aggiungere il supporto per tif, dovrò aggiungere questa dichiarazione appena sotto
$wallpaper_path/*.svg line as in: $wallpaper_path/*.svg $wallpaper_path/*.tif
Fase 3:scegli una delle due opzioni seguenti
Scegli solo uno di loro... e salta l'altro. In caso contrario, si verificheranno problemi.
​
La prima opzione è se si desidera che lo sfondo cambi in ordine sequenziale, ad esempio partendo dalla prima immagine e continuando fino all'ultima. E poi ripetere lo stesso processo più e più volte. Quindi non sei bloccato con l'ultima immagine quando il ciclo si esaurisce. Copia e incolla il codice seguente nell'ultima riga del tuo file di script.
Cambia lo sfondo in ordine sequenziale
# set wallpapers in incremental order index=0 while [ $index -lt $wallpapers_size ] do gsettings set org.gnome.desktop.background picture-uri ${wallpapers[$index]} # index is maxing out, so reset it if [ $(($index+1)) -eq $wallpapers_size ] then index=0 else index=$(($index + 1)) fi # keep the wallpaper for the specified time sleep 15m done
Cambia lo sfondo in ordine casuale
Se preferisci la randomizzazione rispetto all'ordine sequenziale in cui i tuoi sfondi vengono visualizzati in modo casuale. Copia e incolla il codice seguente nell'ultima riga del tuo file di script.
# set random wallpapers # loop infinitely while true do # generate random index random_index=$(($RANDOM % $wallpapers_size)) # then set a random wallpaper gsettings set org.gnome.desktop.background picture-uri ${wallpapers[$random_index]} # keep the wallpaper for the specified time sleep 15m done
Fase 4:Fine
I tuoi .change_wallpapers lo script è terminato. Ora c'è solo una cosa da fare; avviare lo script quando accedi.
€‹Per questo, dobbiamo aggiungere del codice al tuo .profile file per avviare quello script. Se hai ancora l'editor di testo aperto, avvia il file .profile e copia queste quattro righe di codice nell'ultima riga.
# start my custom script for setting random background wallpapers if [ -f "$HOME/.change_wallpapers" ] ; then bash $HOME/.change_wallpapers & fi
Nel caso in cui non riuscissi a trovare il tuo file nascosto .profile nella finestra di dialogo aperta, premi CTRL + H per mostrare tutti i file nascosti.
Successivamente, puoi premere la stessa combinazione di tasti per disabilitare la visualizzazione di file e cartelle nascosti dal tuo programma di gestione dei file.
Al termine, riavvia o accedi nuovamente alla sessione affinché lo script diventi effettivo.
Conclusione
Spero che tu abbia trovato questo tutorial semplice e facile da seguire. E hai fatto funzionare con successo il tuo script 🙂 Fammi sapere la tua esperienza nella sezione commenti qui sotto. A proposito, se in futuro vorrai disabilitare questo script di cambio automatico in background, tutto ciò che devi fare è eliminare quel .change_wallpapers script e rimuovi le quattro righe aggiuntive sul tuo .profile file.