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.