Combien d'entre vous utilisent un "gestionnaire de fenêtres de carrelage" et sûrement après un certain temps notre papier peint nous ennuie? Il est très ennuyeux d'avoir à recompiler pour pouvoir changer un simple fond d'écran, ou même de relancer «nitrogène» et de lui passer un autre paramètre.
Eh bien, aujourd'hui, je vous apporte un script bash, il obtient une image aléatoire de notre collection et la met en fond d'écran Changer le papier peint azote, si vous téléchargez le script depuis ici ! n'oubliez pas de supprimer l'extension .txt du fichier et de lui donner les autorisations d'exécution
directory = ~ / Images fonction ma_résolution () {res = `xrandr | grep '*' | grep -o -E '[0-9] + x [0-9] +' `my_high =` echo "$ res" | cut -d "x" -f 2` ma_largeur = `echo" $ res "| cut -d "x" -f 1`} function rand_image () {image = `ls -1 -b -R" $ répertoire "| grep -i -e ".png" -e ".jpg" -e ".jpeg" | tri - tri aléatoire | head -1` image_dir = `find" $ directory "-iname" $ image "`} function image_resolution () {rand_image high_image = `identifier -format"% h "" $ image_dir "` wide_image = `identifier -format" % w "" $ image_dir "`} function proportion () {ma_resolution image_resolution height_proportion = `echo $ image_high / $ my_high | bc -l` proportion_width =` echo $ image_width / $ ma_largeur | bc -l`} fonction scalaire () { proportion if [`echo" $ ratio_high> 1 "| bc` -eq 1 -o` echo" $ ratio_width> 1 "| bc` -eq 1]; puis azote --set-zoom "$ image_dir" else azote --set-centré "$ image_dir" fi} sortie de l'échelle
Vient maintenant l'explication du script.
répertoire = ~ / Images // Passez au répertoire où se trouvent vos fonds d'écran
résolution de l'image () // Cette fonction détecte la résolution de notre moniteur, et la sauvegarde dans les variables:
ma_haute //Haute
ma_largeur //Largeur
rand_image () // Cette fonction récupère une image dans "répertoire"
image = `ls -1 -b -R" $ répertoire "| grep -i -e ".png" -e ".jpg" -e ".jpeg" | tri - tri aléatoire | tête -1`
exemple:
imagen=`ls -1 -b -R "$directorio" | grep -i -e ".png" -e ".jpg" -e ".jpeg" -e ".nueva_extensión" | sort --random-sort | head -1`
résolution de l'image () // Cette fonction obtient la résolution de l'image obtenue par la fonction rand_image ()
proportion() // Cette fonction obtient le rapport résolution_image / résolution_écran
montée() // Cette fonction met à l'échelle l'image si elle est plus grande que la résolution de notre moniteur et définit le fond d'écran
Maintenant que nous avons le script pour attribuer un fond d'écran aléatoire à azote (et que l'image s'adapte à votre moniteur), nous devons seulement exécuter le script de temps en temps, ceci est réalisé en exécutant la commande suivante au démarrage
watch -n 4 ruta_donde_se_encuentra_el_script/nombre_del_script
Dans ce cas, cette commande est exécutée toutes les 4 secondes, notez que path_where_the_script_is_found est le chemin complet où se trouve le script et script_name est le nom qui a été donné au script.
J'espère que tu trouves cela utile.
Je vais vérifier cet azote pour un script KDE que je veux faire :)
Sinon bon post ... hahahaha, excellente photo que vous avez choisie pour le post (Snoopy's LOL !!!)
Jjajajajjajajaja merci, en effet tirage au sort snoopy, hahahahajajajjajaj
Merci ..
merci
merci!
Cela ne fonctionne pas pour la cannelle, non?
Je ne sais pas comment changer le fond d'écran en cannelle, mais la chose sûre est que la fonction rand_image vous sert à prendre une image aléatoire, il vous suffit donc de la passer
Laisse moi enquêter
Merci, je l'ai un peu modifié pour les générations futures ... j'espère que vous ne vous embêtez pas
J'aimerais savoir ce que tu en penses, je ne connais pas grand chose à la langue
#! / Bin / bash
# ~ Auteur original
#~
# ~ halonsov: mathématicien, amateur de GNU / LINUX, programmeur, utilisateur Debian et xmonad.
#~
# ~ Références
#~ https://blog.desdelinux.net/cambiar-automaticamente-el-fondo-de-pantalla-con-nitrogen/
#~
# ~ Commande pour exécuter le script toutes les 120 secondes
# ~ montre -n 120 /home/amem/backup/DataCrunch/Synaptic/RandomWallpaper.sh
#~
# ~ Collaboration
# ~ + AMEM +
# ~ Personnellement je préfère l'utiliser une seule fois pour ne pas utiliser d'espace
# ~ ajout dans autostart.sh
# ~ /home/amem/backup/DataCrunch/Synaptic/RandomWallpaper.sh &
# ~ Note personnelle
# ~ ce script a été créé à l'origine par halonsov.
# ~ Je l'ai modifié pour que seulement un peu, pour l'exécuter au début de #CrunchBang!
# ~ le but est que toutes ces images que vous avez sur votre disque puissent les voir
# ~ de temps en temps, et qu'ils s'adaptent à l'écran en fonction de leurs propriétés.
# ~ pour cela ce script identifie les caractéristiques de votre moniteur,
# ~ et ceux de l'image ou de la photo de votre «répertoire»,
# ~ pour exécuter l'azote + un paramètre de mise à l'échelle ou de zoom évitant
# ~ Images pixellisées allongées.
# ~ Si ce script ne répond pas à vos besoins, vous pouvez modifier ses paramètres
# ~ Par exemple, centré sur l'azote
# ~ pour centrer l'image sans mise à l'échelle
# ~ Je vous recommande d'étudier le manuel de l'azote.
#Annuaire
#Répertoire d'images à utiliser comme fond d'écran, y compris les sous-répertoires
#Changez vers le répertoire où se trouvent vos fonds d'écran
# Exemple: répertoire = / home /… / images
directory = / home / amem / images / Fond d'écran
# Résolution du moniteur
# Cette fonction détecte la résolution de notre moniteur, et la sauvegarde dans les variables:
fonction ma_résolution ()
{
#Nous obtenons la résolution de notre moniteur avec xrandr
res = `xrandr | grep '*' | grep -o -E '[0-9] + x [0-9] +' `
#Hauteur du moniteur
my_high = `echo" $ res "| couper -d "x" -f 2`
# Largeur du moniteur
ma_largeur = `echo" $ res "| couper -d "x" -f 1`
}
#Random Image
# Cette fonction récupère une image dans "répertoire"
fonction rand_image ()
{
#Nous obtenons le nom d'une image dans le répertoire $
image = `ls -1 -b -R" $ répertoire "| grep -i -e ".png" -e ".jpg" -e ".jpeg" | tri - tri aléatoire | tête -1`
#IMPORTANT! Si vous remarquez que nous filtrons tous les fichiers avec "extension" .png, .jpg, .jpeg. Ajoutez -e ".extension" selon le cas.
#Exemple:
# image = `ls -1 -b -R" $ répertoire "| grep -i -e ".png" -e ".jpg" -e ".jpeg" -e ".new_extension" | tri - tri aléatoire | tête -1`
#Nous obtenons le chemin de $ image
image_dir = `trouver" $ répertoire "-iname" $ image "`
}
# Résolution de l'image
# Cette fonction obtient la résolution de l'image obtenue par la fonction rand_imagen ()
fonction image_resolution ()
{
rand_image
#Nous obtenons la hauteur de $ image
high_image = `identifier -format"% h "" $ rép_image "`
#Nous obtenons la largeur de $ image
wide_image = `identifier -format"% w "" $ rép_image "`
}
#On obtient le rapport résolution_image / résolution_écran
# le résultat de cette division renvoie une valeur supérieure ou inférieure à 1
# proportion 1 l'image est plus grande que l'écran
proportion de fonction ()
{
ma_résolution
résolution de l'image
ratio_high = `echo $ image_high / $ my_high | bc -l`
width_proportion = `echo $ width_image / $ my_width | bc -l`
}
#Nous obtenons le rapport image_high / image_width
# le résultat de cette division renvoie une valeur supérieure ou inférieure à 1; Sauf si l'image est carrée Oo
# image_proportion 1 l'image est plus haute que large
fonction proportion d'image ()
{
résolution de l'image
ratio_image_reason = `echo $ tall_image / $ wide_image | bc -l`
}
#Définir le fond d'écran
# Cette fonction modifie les paramètres azote en fonction des propriétés de l'image par rapport au moniteur
#Image trop haute ou plus grande que notre écran Définit le fond d'écran en redimensionnant l'image
# - Centré sur l'ensemble centre l'image non mise à l'échelle
# –Set-scaled remplit l'écran avec l'image déformée
# –Set-zoom remplit l'écran avec l'image mise à l'échelle vers le haut
# –Set-zoom-fill remplit l'écran avec l'image mise à l'échelle le long
fonction scalaire ()
{
proportion
if [`echo" $ largeur_proportion> 1 ″ | bc` -eq 1]; puis
#Si la résolution de l'image est supérieure à celle de notre écran, exécutez ...
azote - mise à l'échelle "$ image_dir"
d'autre
if [`echo" $ high_rate> 1 ″ | bc` -eq 1]; puis
#Si la résolution de l'image est inférieure à celle de notre écran, exécutez ...
azote - centré sur un ensemble "$ image_dir"
d'autre
#Lorsque l'image est plus petite que l'écran, nous pouvons l'étendre en longueur ou en largeur
proportion d'image
if [`echo« $ proportionimage_reason> 1 ″ | bc` -eq 1]; puis
#Si la hauteur de l'image est inférieure à celle de notre écran, exécutez ...
azote –set-zoom "$ image_dir"
d'autre
if [`echo« $ proportionimage_reason <1 "| bc` -eq 1]; alors
#Si la largeur de l'image est inférieure à celle de notre écran, exécutez ...
azote –set-zoom-fill "$ image_dir"
fi
fi
fi
fi
}
grimper
sortie
Excellent. Je vous remercie.