você está aqui: Home  → Arquivo de Mensagens

Mudando o papel de parede no gnome-shell usando recursos do systemd

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 script que altera o papel de parede

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.

Preparando o diretório do systemd que vai guardar os arquivos de configuração

  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.

Configurando um temporizador

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

Habilitando o temporizador

  systemctl --user enable gnome-background-change.timer
  systemctl --user start gnome-background-change.timer

Verifique se funcionou

  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



Veja a relação completa dos artigos de Sergio Araujo

 

 

Opinião dos Leitores

Seja o primeiro a comentar este artigo
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script