quarta-feira, 23 de maio de 2012

Mudar wallpaper automaticamente no ubuntu/gnome

Existe um script que você pode utilizar para mudar automaticamente o wallpaper no Ubuntu, usando Gnome 3.

Você pode colocá-lo para executar a intervalos de tempo, para que sempre tenha um novo papel de parede.

Coloque todos os seus wallpapers num mesmo diretório:

sauron@mordor:$ ls Imagens/wallpapers
wallpaper1.jpg
wallpaper2.jpg
wallpaper3.jpg


Crie um arquivo chamado script.sh neste mesmo diretório e dê permissão de execução a ele:

sauron@mordor:$ touch script.sh
sauron@mordor:$ chmod +x script.sh


Colo o seguinte código neste arquivo (script.sh):


#!/bin/bash

# Diretório que contem os wallpapers
DIR="/home/sauron/Imagens/wallpaper"

# Comando para selecionar uma imagem jpg aleatória
# Remova o *.jpg para selecionar qualquer tipo de arquivo, mas certifique-se que só tenha imagens
PIC=$(ls $DIR/*.jpg | shuf -n1)

# Comando para mudar o wallpaper
/usr/bin/gsettings set org.gnome.desktop.background picture-uri file://$PIC


Teste o script para ver se está tudo ok:

sauron@mordor:$ /home/sauron/Imagens/wallpaper/script.sh


Agora para ficar mudando automaticamente, devemos colocar este script como um cronjob no crontab. Por algum motivo que ainda não descobri, se colocar o script no crontab da forma convencional não funciona:

* * * * * /home/sauron/Imagens/wallpaper/script.sh


Provavelmente pela falta de alguma variável de ambiente. Mas existe um jeito de fazê-lo funcionar.

Instale o aplicativo gnome-schedule, que serve como uma interface gráfica para o crontab:

sauron@mordor:$ sudo apt-get install gnome-schedule


Execute o aplicativo:

sauron@mordor:$ gnome-schedule


Para criar uma nova tarefa vá em Novo > Tarefa recorrente, no popup que abrir digite uma descrição para a tarefa:

"Mudar wallpaper"


No campo para digitar o comando coloque o caminho para o script.sh:

/home/sauron/Imagens/wallpaper/script.sh


No select box que tem logo abaixo do campo de comando, e que está selecionado Default behaviour, mude e selecione X application (este é o detalhe que faz funcionar aqui e não diretamente no crontab).

Então basta escolher o intervalo de tempo, como toda hora ou todo minuto.

Clique em adicionar e pronto, seu papel de parede vai mudar automaticamente.

Nenhum comentário:

Postar um comentário