Berapa ramai daripada anda yang menggunakan "Tiling window manager" dan pasti selepas beberapa ketika kertas dinding kami membosankan? Ini sangat menjengkelkan apabila harus menyusun semula untuk dapat mengubah kertas dinding sederhana, atau bahkan untuk menjalankan kembali "nitrogen" dan meneruskan parameter lain kepadanya.
Nah, hari ini saya membawakan anda skrip bash, ia mendapat gambar rawak dari koleksi kami dan meletakkannya sebagai kertas dinding Tukar Kertas Dinding Nitrogen, jika anda memuat turun skrip dari di sini jangan lupa untuk mengeluarkan pelanjutan .txt dari fail dan memberikannya kebenaran
direktori = ~ / Gambar berfungsi my_resolution () {res = `xrandr | grep '*' | grep -o -E '[0-9] + x [0-9] +' `my_high =` gema "$ res" | potong -d "x" -f 2` my_width = `echo" $ res "| cut -d "x" -f 1`} fungsi rand_image () {image = `ls -1 -b -R" $ direktori "| grep -i -e ".png" -e ".jpg" -e ".jpeg" | urutkan - rawak-urut | head -1` image_dir = `find" $ directory "-iname" $ image "`} function image_resolution () {rand_image high_image = `Identify -format"% h "" $ image_dir "` wide_image = `Identify -format" % w "" $ image_dir "`} bahagian fungsi () {my_resolution image_resolution height_rate = `echo $ image_high / $ my_high | bc -l` ratio_width =` echo $ image_width / $ my_width | bc -l`} skalar fungsi () { perkadaran jika [`echo" $ ratio_high> 1 "| bc` -eq 1 -o` echo" $ ratio_width> 1 "| bc` -eq 1]; kemudian nitrogen --set-zoom "$ image_dir" nitrogen lain - keluar berpusat pada set "$ image_dir" fi}
Sekarang datang penjelasan skrip.
direktori = ~ / Imej // Tukar ke direktori di mana kertas dinding anda berada
penyelesaian_citra () // Fungsi ini mengesan resolusi monitor kami, dan menyimpannya dalam pemboleh ubah:
my_high // Tinggi
lebar_ku // Lebar
rand_image () // Fungsi ini mendapat gambar di dalam "direktori"
image = `ls -1 -b -R" $ direktori "| grep -i -e ".png" -e ".jpg" -e ".jpeg" | urutkan –rawak-urut | kepala -1`
Contoh:
imagen=`ls -1 -b -R "$directorio" | grep -i -e ".png" -e ".jpg" -e ".jpeg" -e ".nueva_extensión" | sort --random-sort | head -1`
penyelesaian_citra () // Fungsi ini memperoleh resolusi gambar yang diperoleh oleh fungsi rand_image ()
perkadaran () // Fungsi ini mendapat ratio image_resolution / screen_resolution
mendaki() // Fungsi ini mengecilkan gambar jika lebih besar daripada resolusi monitor kami dan menetapkan kertas dinding
Sekarang kita mempunyai skrip untuk menetapkan kertas dinding acak kepada nitrogen (dan juga gambar yang disesuaikan dengan monitor anda) kita hanya perlu membuat skrip berjalan sesering ini, ini dapat dicapai dengan melaksanakan perintah berikut pada awalnya.
watch -n 4 ruta_donde_se_encuentra_el_script/nombre_del_script
Dalam kes ini, perintah ini dilaksanakan setiap 4 detik, perhatikan bahawa path_where_the_script_is_encountered adalah jalur penuh di mana skrip berada dan script_name adalah nama yang diberikan kepada skrip.
Saya harap anda menganggapnya berguna.
Saya akan memeriksa Nitrogen ini untuk skrip untuk KDE yang ingin saya lakukan :)
Jika tidak, pos yang baik ... hahahaha, foto yang sangat baik yang anda pilih untuk jawatan tersebut (Snoopy's LOL !!!)
Jjajajajajajaja terima kasih, sesungguhnya undian snoopy, hahajjajajajjajaj
Terima kasih..
Terima kasih
terima kasih!
Ini tidak berfungsi untuk kayu manis bukan?
Saya tidak tahu bagaimana menukar kertas dinding di kayu manis, tetapi yang pasti ialah fungsi rand_image berfungsi untuk anda mendapatkan gambar secara rawak, jadi anda hanya perlu meneruskannya $ dir_image
Biarkan saya menyiasat
Terima kasih, saya sedikit mengubahnya untuk generasi akan datang ... Saya harap anda tidak mengganggu
Saya ingin tahu pendapat anda, saya tidak tahu banyak tentang bahasa
#! / Bin / Bash
# ~ Pengarang asal
#~
# ~ halonsov: Ahli Matematik, pencinta GNU / LINUX, pengaturcara, pengguna Debian dan xmonad.
#~
# ~ Rujukan
#~ https://blog.desdelinux.net/cambiar-automaticamente-el-fondo-de-pantalla-con-nitrogen/
#~
# ~ Perintah untuk menjalankan skrip setiap 120 saat
# ~ tonton -n 120 /home/amem/backup/DataCrunch/Synaptic/RandomWallpaper.sh
#~
# ~ Kerjasama
# ~ + AMEM +
# ~ Secara peribadi saya lebih suka menggunakannya sekali sahaja agar tidak menggunakan ruang
# ~ menambah dalam autostart.sh
# ~ /home/amem/backup/DataCrunch/Synaptic/RandomWallpaper.sh &
# ~ Catatan peribadi
# ~ skrip ini pada asalnya dibuat oleh halonsov.
# ~ Saya mengubahnya sehingga hanya sedikit, untuk melaksanakannya pada awal #CrunchBang!
# ~ tujuannya adalah agar semua gambar yang ada pada cakera anda dapat melihatnya
# ~ sesekali, dan mereka menyesuaikan dengan skrin mengikut sifatnya.
# ~ untuk skrip ini mengenal pasti ciri monitor anda,
# ~ dan gambar atau gambar «direktori» anda,
# ~ untuk melaksanakan nitrogen + parameter penskalaan atau zoom mengelakkan
# ~ gambar memanjang, piksel.
# ~ Sekiranya skrip ini tidak sesuai dengan keperluan anda, anda boleh mengubah parameternya
# ~ Contohnya nitrogen - berpusatkan set
# ~ untuk memusatkan gambar tanpa penskalaan
# ~ Saya cadangkan anda mempelajari manual nitrogen.
#Direktori
#Direktori gambar untuk dijadikan wallpaper, termasuk subdirektori
#Tukar ke direktori di mana kertas dinding anda berada
# Contoh direktori = / rumah /… / gambar
direktori = / rumah / amem / gambar / Kertas dinding
# Monitor resolusi
# Fungsi ini mengesan resolusi monitor kami, dan menyimpannya dalam pemboleh ubah:
fungsi my_resolution ()
{
#Kami memperoleh resolusi monitor kami dengan xrandr
res = `xrandr | grep '*' | grep -o -E '[0-9] + x [0-9] +' '
#Tinggi monitor
my_high = `gema" $ res "| potong -d "x" -f 2`
# Lebar monitor
my_width = `gema" $ res "| potong -d "x" -f 1`
}
# Gambar Rawak
#Fungsi ini mendapat gambar di dalam "direktori"
fungsi rand_image ()
{
#Kami mendapat nama beberapa gambar di dalam direktori $
image = `ls -1 -b -R" $ direktori "| grep -i -e ".png" -e ".jpg" -e ".jpeg" | urutkan –rawak-urut | kepala -1`
# PENTING! Sekiranya anda menyedari kami menyaring semua fail dengan "extensions" .png, .jpg, .jpeg. Tambah -e ".extension" yang sesuai.
#Contoh:
# image = `ls -1 -b -R" $ direktori "| grep -i -e ".png" -e ".jpg" -e ".jpeg" -e ".new_extension" | urutkan –rawak-urut | kepala -1`
#Kami mendapat jalan $ image
image_dir = `cari" $ direktori "-iname" $ image "`
}
# Resolusi gambar
#Fungsi ini memperoleh resolusi gambar yang diperoleh oleh fungsi rand_imagen ()
fungsi image_resolution ()
{
rand_image
#Kami mendapat tinggi $ image
high_image = `Identify -format"% h "" $ image_dir "`
#Kami mendapat lebar $ image
wide_image = `Identify -format"% w "" $ image_dir "`
}
#Kami mendapat ratio image_resolution / screen_resolution
# hasil pembahagian ini mengembalikan nilai yang lebih besar atau kurang dari 1
# perkadaran 1 gambar lebih besar daripada skrin
bahagian fungsi ()
{
penyelesaian_ku
penyelesaian gambar_
ratio_high = `gema $ image_high / $ my_high | bc -l`
width_proportion = `echo $ width_image / $ my_width | bc -l`
}
#Kami mendapat nisbah lebar_ gambar / lebar_ gambar
# hasil pembahagian ini mengembalikan nilai yang lebih besar atau kurang dari 1; Kecuali gambarnya Oo persegi
# image_proportion 1 gambar lebih tinggi daripada lebarnya
perkadaran gambar fungsi ()
{
penyelesaian gambar_
ratio_image_reason = `echo $ tall_image / $ wide_image | bc -l`
}
# Tetapkan kertas dinding
# Fungsi ini mengubah parameter nitrogen mengikut sifat gambar berkaitan dengan monitor
#Gambar terlalu tinggi atau lebih besar daripada layar kami Mengatur kertas dinding dengan menskalakan gambar
# –Pusat berpusat pada gambar yang tidak berskala
# –Skala-set mengisi skrin dengan gambar yang melengkung
# –Set-zoom mengisi skrin dengan gambar berskala ke atas
# –Set-zoom-fill mengisi skrin dengan gambar berskala
fungsi skalar ()
{
perkadaran
jika [`echo" $ width_proportion> 1 ″ | bc` -eq 1]; kemudian
#Jika resolusi gambar lebih besar daripada layar kita, jalankan ...
nitrogen - skala "$ image_dir"
lagi
jika [`echo" $ high_rate> 1 ″ | bc` -eq 1]; kemudian
#Jika resolusi gambar lebih kecil daripada layar kita, jalankan ...
nitrogen - berpusat pada set "$ image_dir"
lagi
#Apabila gambar lebih kecil dari layar kita dapat memperluasnya menjadi panjang atau lebar
perkadaran gambar
jika [`gema« $ proporsimage_reason> 1 ″ | bc` -eq 1]; kemudian
#Jika ketinggian gambar lebih kecil daripada layar kita, jalankan ...
nitrogen –set-zoom "$ image_dir"
lagi
jika [`gema« $ proporsimage_reason <1 "| bc` -eq 1]; maka
#Jika lebar gambar lebih kecil daripada layar kita, jalankan ...
nitrogen –set-zoom-isi "$ image_dir"
fi
fi
fi
fi
}
mendaki
keluar
Cemerlang. Terima kasih.