Como trocar os wallpapers e fundo da tela de login automaticamente no Debian(ou qualquer distribuição)


Adaptado de: http://andresilva.me/archive/blogdoandre/rotacao-automatica-de-wallpapers-no-lxde/

Veja a versão melhorada em: Como trocar os wallpapers e fundo da tela de login automaticamente no Linux - 2017


Vamos configurar uma pasta padrão para os wallpapers na nossa home, e nesta pasta também estará o script que fará a alternância dos wallpapers.
Também será configurada uma tarefa no cron para executar o script de tempos em tempos de acordo com sua preferência, e o fundo da tela de login também será alternado de acordo com o wallpaper.

1. Crie uma pasta na sua home para conter o script e as imagens que serão os wallpapers:
mkdir /home/seu_usuario/wallpapers
2. Crie um arquivo com seu editor de textos favorito com o nome: slideshow.sh e com o conteúdo:
Importante: O script deve ser criado dentro da pasta /home/seu_usuario/wallpapers
#!/bin/bash

# Configuração do cron via terminal
# crontab -e

# Troca a cada minuto
# */1 * * * * export DISPLAY=:0 ; $HOME/wallpapers/slideshow.sh

# Trocar o wallpaper a cada 30 minutos
# */30 * * * * export DISPLAY=:0 ; $HOME/wallpapers/slideshow.sh

# Trocar o wallpaper de hora em hora
# * */1 * * * export DISPLAY=:0 ; $HOME/wallpapers/slideshow.sh

# Trocar o wallpaper de 4 em 4 horas
# * */4 * * * export DISPLAY=:0 ; $HOME/wallpapers/slideshow.sh

# Trocar o wallpaper todos os dias, às 16 horas
# * 16 * * * export DISPLAY=:0 ; $HOME/wallpapers/slideshow.sh

# Pasta onde estão os wallpapers
DIR=$HOME/wallpapers
FLOOR=1
RANGE=`ls -1 "$DIR"/*.{png,jpg} | wc -l`
FILE=$DIR/wallpaper-login

number=$RANDOM
while [ "$number" -le $FLOOR ]; do
        number=$RANDOM
done
let "number %= $RANGE"  # Escolhe um dos wallpapers
COUNTER=1
for X in "$DIR"/*.{png,jpg}
do
if [ $number -eq $COUNTER ]; then
 ls $FILE
 if [ $? -eq 0 ] ; then
   rm $FILE
 fi
 pcmanfm --set-wallpaper "$X"
 ln -s $X $FILE
fi
COUNTER=$(($COUNTER+1))
done
COUNTER=1
Faça o script executável:
chmod +x /home/seu_user/wallpaper/slideshow.sh
3. Copie para a pasta(neste caso /home/seu_usuario/wallpapers/) as imagens que você quer que sejam seus wallpapers.

4. Configure o cron para executar o script em um intervalo de tempo de sua preferência, execute no terminal:
crontab -e
Insira isto no final do arquivo para alternar os wallpapers a cada 30 minutos(veja mais opções nos comentários do script):
*/30 * * * * export DISPLAY=:0 ; $HOME/wallpapers/slideshow.sh
Salve as alterações, feche o editor e execute o comando:
/home/seu_usuario/wallpapers/./slideshow.sh
Neste momento o wallpaper já deve ter sido alternado pela primeira vez, e será novamente alternado a cada 30 minutos.

5. O script cria automaticamente um link simbólico para o wallpaper corrente, e este link simbólico será usado para configurar a tela de login.
a. Abra Configurações do LightDM:
Se Configurações do LightDM não estiver instalado, instale-o pelo terminal:
wget http://sft.if.usp.br/debian/pool/main/l/lightdm-gtk-greeter-settings/lightdm-gtk-greeter-settings_1.2.1-2_all.deb
sudo dpkg -i lightdm-gtk-greeter-settings_1.2.1-2_all.deb
Nota: Este pacote está disponível apenas nas versões "testing" e "unstable" do Debian, mas pode ser instalado no Debian "Stable"(Jessie) sem problemas

b. Digite a senha:

c. Clique no botão:

d. Selecione o link simbólico:

e. Salve as alterações:

Saia da sessão e veja que a tela de login está com o mesmo wallpaper que o seu desktop.