GNOME - Como alterar background usando Shell Script

Alterar automaticamente o background do GNOME usando BASH

Para aqueles que adoram uma personalização em seu sistema, essa dica pode ser bastante útil. Após o Ubuntu trocar seu DE (Desktop Environment) para o Gnome, junto com ele veio algumas facilidades. Conforme sua capacidade de instalar extensões e temas, podendo ser encontrados nesse site.

Tento isso em mente, aprenda a fazer um script simples em Shell Script, para automatizar a troca do papel de parede. Determinando um tempo para sua realização. Podendo ser feito, tanto de forma sequencial ou aleatória, bastando alterar poucas linhas.

 Construindo o script para o Gnome

Abra seu editor de texto preferido, e crie um arquivo no diretório /home/usuario, como o nome:

.wallpapers

Logo após, copie e cole o seguinte código:

#!/bin/bash

#Pasta contendo o local onde está armazenado seus papéis de parede

export wallpaper_path=/home/usuario/imagem/wallpapers

shopt -s nullglob

# Armazenar todos as extensões dos arquivos de imagem em um array

wallpapers=(

$wallpaper_path/*.jpg

$wallpaper_path/*.jpeg

$wallpaper_path/*.png

$wallpaper_path/*.bmp

$wallpaper_path/*.svg

)

wallpapers_size=${#wallpapers[*]}

Alterar o plano de fundo em ordem sequencial

Portanto, será necessário incluir esse trecho de código na linha final do script:

#Ordem sequencial

index=0

while [ $index -lt $wallpapers_size ]

do

    gsettings set org.gnome.desktop.background picture-uri ${wallpapers[$index]}

    if [ $(($index+1)) -eq $wallpapers_size ]

    then

        index=0

    else

        index=$(($index + 1))

    fi

    #Especificar tempo de troca

    sleep 1m

done

Alterar o plano de fundo em ordem aleatória

Portanto, será necessário incluir esse trecho de código na linha final do script:

#Troca aleatória 

while true

do

    #Gerador randômico

    random_index=$(($RANDOM % $wallpapers_size))

    gsettings set org.gnome.desktop.background picture-uri ${wallpapers[$random_index]}

    #Especificar tempo de troca

    sleep 15m

done

Após todas as alterações a cima. Você deve ter pelo menos duas fotos, para o script possa funcionar perfeitamente. Será necessário adicionar algumas linhas ao arquivo .profile na pasta /home/usuario. Assim, toda vez que você iniciar o sistema, o script vai entrar em execução para realizar as trocas.

Portanto, entre na pasta /home/usuario, pressione Ctrl + H para exibir todos os arquivos ocultos. Abra o arquivo .profile com qualquer editor de texto e adicione o trecho de código abaixo:

#Script troca de wallpapers

bash $HOME/.nomedoscript &

Após as alterações, será necessário sair da sessão atual e entra novamente, para fazer o script iniciar. Caso queira, desabilitar esse script automático de alteração do plano de fundo no futuro, tudo o que será necessário fazer é excluir o arquivo .wallpapers em /home/usuario e remover o código adicionado no arquivo .profile.

Para saber mais novidades, sobre os recursos do Gnome 3.28, fizemos um artigo completo para satisfaze sua curiosidade.