GNOME – Como alterar background usando Shell Script

Escrito por
Redação SempreUpdate
Os artigos vinculados à este usuário são de terceiros. A informação aqui contida não foi elaborada originalmente por nós do SempreUpdate. Mas, publicamos conforme solicitação, envio...

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.

Compartilhe este artigo