Chtěli jste někdy mít toto automatické pozadí? přepnutí funkce ve vaší distribuci GNOME Linux? Tato funkce mi chyběla poté, co jsem přešel ze Cinnamon na GNOME 🙁 Hledal jsem aplikace v softwarovém centru a bohužel jsem žádnou nenašel. Dnes vám však s radostí mohu oznámit, že existuje řešení této chybějící funkce pomocí skriptovacího jazyka BASH.
Požadavek
Nic moc, vše, co potřebujete, je textový editor k úpravě několika řádků kódu v souboru skriptu. A možnost vytvářet a ukládat textové soubory. To je ono 🙂 V případě, že jste programátor, vynechal jsem ve skriptu komentáře (zdokumentovaný kód), abyste mu rozuměli.
Krok 1:Vytvořte soubor skriptu
Otevřete svůj oblíbený textový editor a uložte soubor jako .change_wallpapers ve svém domovském adresáři.
Všimněte si tečky (.) před názvem souboru. Chceme, aby byl tento soubor skrytý, takže je důležité před jeho názvem přidat tečku.\
Poté zkopírujte a vložte níže uvedený skript do nově vytvořeného souboru skriptu.
#!/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[*]}
Krok 2:Úprava skriptu
​Musíte zadat svou vlastní cestu do proměnné prostředí wallpaper_path . Pokud je například adresář vaší tapety (nebo obrázku) v /home/abc/Pictures/Wallpapers, museli byste upravit tento řádek:export wallpaper_path=
export wallpaper_path=/home/abc/Pictures/WallpapersNavíc jsem přidal nejběžnější přípony obrázkových souborů do proměnné pole tapety . Ale váš preferovaný formát souboru obrázku mohl být vynechán. Možná jsou vaše obrázky ve formátu TIFF nebo v něčem jiném. Ujistěte se, že jste chybějící rozšíření přidali sami. Pokud například chci přidat podporu pro tif, budu muset přidat toto prohlášení níže
$wallpaper_path/*.svg line as in: $wallpaper_path/*.svg $wallpaper_path/*.tif
Krok 3:Vyberte jednu ze dvou níže uvedených možností
Vyberte si pouze jednu z nich... a druhou přeskočte. V opačném případě narazíte na problémy.
​
První možností je, pokud chcete, aby se tapeta měnila v sekvenčním pořadí, tj. počínaje prvním obrázkem a pokračovat k poslednímu. A pak opakujte stejný proces znovu a znovu. Takže nezůstanete u posledního obrázku, když dojde smyčka. Zkopírujte a vložte níže uvedený kód na poslední řádek souboru skriptu.
Změňte pozadí v sekvenčním pořadí
# 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
Změňte pozadí v náhodném pořadí
Pokud dáváte přednost náhodnosti před sekvenčním pořadím, kde se vaše tapety zobrazují náhodně. Zkopírujte a vložte níže uvedený kód na poslední řádek souboru skriptu.
# 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
Krok 4:Dokončení
Vaše .change_wallpapers skript je hotový. Nyní zbývá udělat jen jednu věc; spuštění tohoto skriptu, když se přihlásíte.
€‹Za tímto účelem musíme k vašemu profilu .profile přidat nějaký kód soubor ke spuštění tohoto skriptu. Pokud stále máte otevřený textový editor, spusťte soubor .profile a zkopírujte tyto čtyři řádky kódu na poslední řádek.
# start my custom script for setting random background wallpapers if [ -f "$HOME/.change_wallpapers" ] ; then bash $HOME/.change_wallpapers & fi
V případě, že se vám v dialogovém okně Otevřít nepodařilo najít skrytý soubor .profile, zobrazte všechny skryté soubory stisknutím kláves CTRL + H.
Později můžete stisknutím stejné kombinace kláves deaktivovat zobrazování skrytých souborů a složek v programu pro správu souborů.
Až budete hotovi, restartujte relaci nebo se znovu přihlaste, aby skript vstoupil v platnost.
Závěr
Doufám, že jste tento návod považovali za jednoduchý a snadno sledovatelný. A váš skript úspěšně funguje 🙂 Dejte mi vědět své zkušenosti v sekci komentářů níže. Mimochodem, pokud byste někdy v budoucnu chtěli deaktivovat tento skript automatického přepínání na pozadí, vše, co musíte udělat, je smazat .change_wallpapers skriptu a odstraňte tyto další čtyři řádky ze svého .profile soubor.