Quanti di voi usano un "Tiling window manager" e sicuramente dopo un po 'la nostra carta da parati ci annoia? È molto fastidioso dover ricompilare per poter cambiare un semplice sfondo, o anche per rieseguire "azoto" e passargli un altro parametro.
Bene, oggi vi porto uno script in bash, ottiene un'immagine casuale dalla nostra raccolta e la mette come sfondo Cambia lo sfondo dell'azoto, se scarichi lo script da qui non dimenticare di rimuovere l'estensione .txt dal file e di dargli i permessi di esecuzione
directory = ~ / Funzione immagini my_resolution () {res = `xrandr | grep '*' | grep -o -E '[0-9] + x [0-9] +' `my_high =` echo "$ res" | cut -d "x" -f 2` my_width = `echo" $ res "| cut -d "x" -f 1`} funzione rand_image () {immagine = `ls -1 -b -R" $ directory "| grep -i -e ".png" -e ".jpg" -e ".jpeg" | sort --random-sort | head -1` dir_immagine = `trova" $ directory "-iname" $ immagine "`} funzione risoluzione_immagine () {rand_image high_image = `identifica -format"% h "" $ dir_immagine "` wide_image = `identifica -formato" % w "" $ image_dir "`} funzione proporzione () {mia_resolution image_resolution height_proportion = `echo $ image_high / $ my_high | bc -l` proporzion_width =` echo $ image_width / $ my_width | bc -l`} funzione scalare () { proporzione if [`echo" $ rapporto_altezza> 1 "| bc` -eq 1 -o` echo" $ larghezza_rapporto> 1 "| bc` -eq 1]; quindi azoto --set-zoom "$ dir_immagine" altrimenti azoto --set-centrato "$ dir_immagine" fi} scala uscita
Ora arriva la spiegazione del copione.
directory = ~ / Immagini // Passa alla directory in cui si trovano i tuoi sfondi
risoluzione dell'immagine () // Questa funzione rileva la risoluzione del nostro monitor e la salva nelle variabili:
my_high // Alto
my_width //Larghezza
rand_image () // Questa funzione ottiene un'immagine all'interno della «directory»
immagine = `ls -1 -b -R" $ directory "| grep -i -e ".png" -e ".jpg" -e ".jpeg" | sort –random-sort | testa -1`
Esempio:
imagen=`ls -1 -b -R "$directorio" | grep -i -e ".png" -e ".jpg" -e ".jpeg" -e ".nueva_extensión" | sort --random-sort | head -1`
risoluzione dell'immagine () // Questa funzione ottiene la risoluzione dell'immagine ottenuta dalla funzione rand_image ()
proporzione() // Questa funzione ottiene il rapporto image_resolution / screen_resolution
scalata() // Questa funzione ridimensiona l'immagine se è più grande della risoluzione del nostro monitor e imposta lo sfondo
Ora che abbiamo lo script per assegnare uno sfondo casuale all'azoto (e anche l'immagine si adatta al tuo monitor) dobbiamo solo eseguire lo script ogni tanto, questo si ottiene eseguendo il seguente comando all'avvio
watch -n 4 ruta_donde_se_encuentra_el_script/nombre_del_script
In questo caso, questo comando viene eseguito ogni 4 secondi, notare che path_where_the_script_is_found è il percorso completo in cui si trova lo script e script_name è il nome che è stato dato allo script.
Spero che ti sia utile.
Controllerò questo Nitrogen per uno script KDE che voglio fare :)
Altrimenti buona post ... hahahaha, ottima foto che hai scelto per il post (LOL di Snoopy !!!)
Jjajajajjajajaja grazie, davvero snoopy lotteria, hahajjajajajjajaj
Grazie ..
grazie
grazie!
Questo non funziona per la cannella, giusto?
Non ho idea di come cambiare lo sfondo in cannella, ma la cosa sicura è che la funzione rand_image ti serve per ottenere un'immagine casuale, quindi devi solo passarla $ dir_image
Fammi indagare
Grazie, l'ho modificato un po 'per le generazioni future ... spero che non ti preoccupi
Vorrei sapere cosa ne pensate, non so molto della lingua
#! / Bin / bash
# ~ Autore originale
#~
# ~ halonsov: matematico, amante di GNU / LINUX, programmatore, utente Debian e xmonad.
#~
# ~ Riferimenti
#~ https://blog.desdelinux.net/cambiar-automaticamente-el-fondo-de-pantalla-con-nitrogen/
#~
# ~ Comando per eseguire lo script ogni 120 secondi
# ~ watch -n 120 /home/amem/backup/DataCrunch/Synaptic/RandomWallpaper.sh
#~
# ~ Collaborazione
# ~ + AMEM +
# ~ Personalmente preferisco usarlo una sola volta per non utilizzare lo spazio
# ~ aggiungendo in autostart.sh
# ~ /home/amem/backup/DataCrunch/Synaptic/RandomWallpaper.sh &
# ~ Nota personale
# ~ questo script è stato originariamente realizzato da halonsov.
# ~ L'ho modificato in modo che solo un po ', per eseguirlo all'inizio di #CrunchBang!
# ~ lo scopo è che tutte quelle immagini che hai sul disco le puoi vedere
# ~ ogni tanto e che si adattano allo schermo in base alle loro proprietà.
# ~ per questo questo script identifica le caratteristiche del tuo monitor,
# ~ e quelli dell'immagine o della foto della tua «directory»,
# ~ per eseguire azoto + evitare un parametro di ridimensionamento o zoom
# ~ immagini allungate e pixelate.
# ~ Se questo script non soddisfa le tue esigenze, puoi modificarne i parametri
# ~ Ad esempio, centrato sull'azoto
# ~ per centrare l'immagine senza ridimensionarla
# ~ Ti consiglio di studiare il manuale dell'azoto.
#Directory
# Directory di immagini che verranno utilizzate come sfondo, comprese le sottodirectory
# Passa alla directory in cui si trovano i tuoi sfondi
# Es. Directory = / home /… / images
directory = / home / amem / images / Wallpaper
# Risoluzione del monitor
# Questa funzione rileva la risoluzione del nostro monitor e la salva nelle variabili:
funzione my_resolution ()
{
# Otteniamo la risoluzione del nostro monitor con xrandr
res = `xrandr | grep '*' | grep -o -E '[0-9] + x [0-9] +' `
#Altezza del monitor
my_high = `echo" $ res "| tagliare -d "x" -f 2`
# Larghezza del monitor
my_width = `echo" $ res "| tagliare -d "x" -f 1`
}
# Immagine casuale
#Questa funzione ottiene un'immagine all'interno di "directory"
funzione rand_image ()
{
# Otteniamo il nome di un'immagine all'interno di $ directory
immagine = `ls -1 -b -R" $ directory "| grep -i -e ".png" -e ".jpg" -e ".jpeg" | sort –random-sort | testa -1`
#IMPORTANTE! Se noti che stiamo filtrando tutti i file con "estensione" .png, .jpg, .jpeg. Aggiungi -e ".extension" come appropriato.
#Esempio:
# immagine = `ls -1 -b -R" $ directory "| grep -i -e ".png" -e ".jpg" -e ".jpeg" -e ".new_extension" | sort –random-sort | testa -1`
# Otteniamo il percorso di $ image
dir_immagine = `trova" $ directory "-iname" $ immagine "`
}
# Risoluzione dell'immagine
#Questa funzione ottiene la risoluzione dell'immagine ottenuta dalla funzione rand_imagen ()
funzione image_resolution ()
{
rand_image
# Otteniamo l'altezza di $ image
immagine_alta = `identifica -format"% h "" $ dir_immagine "`
# Otteniamo la larghezza di $ image
wide_image = `identifica -format"% w "" $ dir_immagine "`
}
# Otteniamo il rapporto risoluzione_immagine / risoluzione_schermo
# il risultato di questa divisione restituisce un valore maggiore o minore di 1
# proporzione 1 l'immagine è più grande dello schermo
funzione proporzione ()
{
my_resolution
risoluzione dell'immagine
ratio_high = `echo $ altezza_immagine / $ altezza_mio | bc -l`
proporzione_larghezza = `echo $ immagine_larghezza / $ larghezza_mio | bc -l`
}
# Otteniamo il rapporto image_high / image_width
# il risultato di questa divisione restituisce un valore maggiore o minore di 1; A meno che l'immagine non sia quadrata Oo
# image_proportion 1 l'immagine è più alta che larga
rapporto immagine funzione ()
{
risoluzione dell'immagine
ratio_image_rate = `echo $ immagine_altezza / $ immagine_larga | bc -l`
}
# Imposta lo sfondo
# Questa funzione modifica i parametri dell'azoto in base alle proprietà dell'immagine rispetto al monitor
#Immagine troppo alta o più grande del nostro schermo Imposta lo sfondo ridimensionando l'immagine
# –Set-centered centra l'immagine non in scala
# –Set-scaled riempie lo schermo con l'immagine distorta
# –Set-zoom riempie lo schermo con l'immagine scalata verso l'alto
# –Set-zoom-fill riempie lo schermo con l'immagine ridimensionata
funzione scalare ()
{
proporzione
if [`echo" $ proporzione_ampiezza> 1 ″ | bc` -eq 1]; poi
#Se la risoluzione dell'immagine è maggiore di quella del nostro schermo, esegui ...
"$ dir_immagine" impostato su scala di azoto
altro
if [`echo" $ velocità_alta> 1 ″ | bc` -eq 1]; poi
#Se la risoluzione dell'immagine è inferiore a quella del nostro schermo, esegui ...
"$ dir_immagine" centrata sull'azoto
altro
#Quando l'immagine è più piccola dello schermo, possiamo espanderla in lunghezza o larghezza
proporzione dell'immagine
if [`echo« $ proporzionimage_reason> 1 ″ | bc` -eq 1]; poi
#Se l'altezza dell'immagine è inferiore a quella del nostro schermo, esegui ...
azoto –set-zoom "$ dir_immagine"
altro
if [`echo« $ proporzionimage_reason <1 "| bc` -eq 1]; allora
#Se la larghezza dell'immagine è inferiore a quella del nostro schermo, esegui ...
azoto –set-zoom-fill "$ dir_immagine"
fi
fi
fi
fi
}
salita
exit
Eccellente. Grazie.