Avez-vous déjà voulu avoir cet arrière-plan automatique changer la fonctionnalité sur votre distribution GNOME Linux ? J'ai raté cette fonctionnalité après être passé de Cinnamon à GNOME 🙁 J'ai recherché des applications dans le centre de logiciels et hélas, je n'en ai trouvé aucune. Cependant, aujourd'hui, je suis heureux de vous faire savoir qu'il existe une solution de contournement à cette fonctionnalité manquante grâce à l'utilisation du langage de script BASH.
Exigence
Pas grand-chose, tout ce dont vous avez besoin est un éditeur de texte pour éditer quelques lignes de code sur le fichier de script. Et la possibilité de créer et d'enregistrer des fichiers texte. C'est tout 🙂 Au cas où vous seriez programmeur, j'ai omis des commentaires (documenté le code) dans le script afin que vous puissiez le comprendre.
Étape 1 :Créer le fichier de script
Ouvrez votre programme d'éditeur de texte préféré et enregistrez le fichier sous .change_wallpapers dans votre répertoire personnel.
Remarquez le point (.) préfixé au nom du fichier. Nous voulons que ce fichier soit masqué, il est donc important de le préfixer avec un point avant le nom du fichier.\
Ensuite, copiez et collez le script ci-dessous dans votre fichier de script nouvellement créé.
#!/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[*]}
Étape 2 :Modifier le script
​Vous devez saisir votre propre chemin personnalisé dans la variable d'environnement wallpaper_path . Par exemple, si votre répertoire de fonds d'écran (ou d'images) se trouve dans /home/abc/Pictures/Wallpapers, vous devrez modifier cette ligne :export wallpaper_path=
export wallpaper_path=/home/abc/Pictures/WallpapersDe plus, j'ai ajouté les extensions de fichier image les plus courantes sur la variable de tableau wallpapers . Mais votre format de fichier image préféré a peut-être été oublié. Peut-être que vos images sont au format TIFF ou autre chose. Assurez-vous d'ajouter vous-même ces extensions manquantes. Par exemple, si je veux ajouter la prise en charge de tif, je devrai ajouter cette déclaration juste en dessous
$wallpaper_path/*.svg line as in: $wallpaper_path/*.svg $wallpaper_path/*.tif
Étape 3 :Choisissez l'une des deux options ci-dessous
Choisissez-en un seul… et sautez l'autre. Sinon, vous rencontrerez des problèmes.
​
La première option est si vous voulez que votre fond d'écran change dans l'ordre séquentiel, c'est-à-dire en commençant par la première image et en continuant jusqu'à la dernière. Et puis répétez le même processus encore et encore. Ainsi, vous n'êtes pas coincé avec la dernière image lorsque la boucle est terminée. Copiez et collez le code ci-dessous sur la dernière ligne de votre fichier de script.
Modifier l'arrière-plan dans l'ordre séquentiel
# 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
Changer l'arrière-plan dans un ordre aléatoire
Si vous préférez la randomisation à l'ordre séquentiel où vos fonds d'écran sont affichés au hasard. Copiez et collez le code ci-dessous sur la dernière ligne de votre fichier de 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
Étape 4 :Finalisation
Vos .change_wallpapers le scénario est terminé. Maintenant, il ne reste plus qu'une chose à faire; démarrer ce script lorsque vous vous connectez.
€‹Pour cela, nous devons ajouter du code sur votre .profile fichier pour démarrer ce script. Si votre éditeur de texte est toujours ouvert, lancez votre fichier .profile et copiez ces quatre lignes de code sur la dernière ligne.
# start my custom script for setting random background wallpapers if [ -f "$HOME/.change_wallpapers" ] ; then bash $HOME/.change_wallpapers & fi
Si vous ne trouvez pas votre fichier caché .profile dans la boîte de dialogue ouverte, appuyez sur CTRL + H pour afficher tous les fichiers cachés.
Plus tard, vous pourrez appuyer sur la même combinaison de touches pour désactiver l'affichage des fichiers et dossiers cachés à partir de votre programme de gestion de fichiers.
Une fois que vous avez terminé, redémarrez ou reconnectez-vous à votre session pour que le script entre en vigueur.
Conclusion
J'espère que vous avez trouvé ce tutoriel simple et facile à suivre. Et réussi à faire fonctionner votre script 🙂 Faites-moi part de votre expérience dans la section des commentaires ci-dessous. Au fait, si jamais vous souhaitez désactiver ce script de changement d'arrière-plan automatique à l'avenir, tout ce que vous avez à faire est de supprimer ce .change_wallpapers fichier de script et supprimez ces quatre lignes supplémentaires sur votre .profile dossier.