De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: Sergio Araujo
A ideia para este artigo surgiu da leitura de outro artigo em Inglês que mostra um passo-a-passo sobre como fazer a configuração sugerida no título do artigo: Rotate GNOME 3's wallpaper with systemd user units and timers.
Se você não sabe o que é o systemd
sugiro uma lida neste texto.
Todos os comandos aqui descritos deverão ser rodados com usuário comum
(sem necessidade de sudo
ou algo similar)
Do artigo original extraí somente o mais relevante, para mais detalhes siga o link citado.
O scritp que vai ser usado é este: (nome sugerido rotate_bg.sh
).
#!/bin/bash walls_dir=$HOME/Pictures/Wallpapers selection=$(find $walls_dir -type f -name "*.jpg" -o -name "*.png" | shuf -n1) gsettings set org.gnome.desktop.background picture-uri "file://$selection"
Coloque seu script em um diretório pessoal que esteja no $PATH do seu sistema,
sugiro a pasta ~/bin
, certifique-se que ao rodar
o comando "echo $PATH
" a pasta onde será colocado o script apareça.
mkdir -p ~/.config/systemd/user/
abra com o gedit
ou com o vim um novo arquivo chamado
~/.config/systemd/user/gnome-background-change.service
dentro do mesmo coloque o seguinte:
[Unit] Description=Rotate GNOME background [Service] Type=oneshot Environment=DISPLAY=:0 ExecStart=/usr/bin/bash /home/[USERNAME]/bin/rotate_bg.sh [Install] WantedBy=basic.target
OBS: no conteúdo do arquivo substitua [USERNAME]
por seu nome de usuário mas
somente no conteúdo do arquivo (o nome do arquivo conterá sim a palavra "user"
OBS2: Também no arquivo supra citado o nome do script sugerido pode ser modificado se você desejar.
No arquivo ~/.config/systemd/user/gnome-background-change.timer
adicione as
seguintes linhas:
[Unit] Description=Rotate GNOME wallpaper timer [Timer] OnCalendar=*:0/5 Persistent=true Unit=gnome-background-change.service [Install] WantedBy=gnome-background-change.service
systemctl --user enable gnome-background-change.timer systemctl --user start gnome-background-change.timer
systemctl --user list-timers
Ao rodar o comando acima o sistema mostrará quantos segundos faltam para a próxima mudança, o tempo setado é de 5 minutos