Mudar aleatoriamente o papel de parede no GNOME 3
Publicado por Anderson Weller (última atualização em 12/11/2014)
[ Hits: 5.588 ]
Estava cansado de visualizar sempre a mesma imagem no desktop do meu Debian/GNOME, então resolvi montar um script que alterasse automaticamente meu papel de parede a cada 30 minutos.
Primeiro baixei vários arquivos JPG e os armazenei em um único diretório, e depois configurei o cron para executar este script de tempos em tempos.
No script abaixo, basta alterar o preenchimento da variável "DIR" e inserir o diretório onde estão as suas imagens JPG (caso suas imagens sejam de outro tipo, basta fazer a alteração).
Para configurar o cron, basta executar o comando abaixo como usuário comum:
$ crontab -e
E depois incluir a seguinte linha (com a localização do seu script e a localização de um arquivo de log) que irá agendar a execução do script a cada 30 minutos (obs.: faça as devidas alterações):
*/30 * * * * export DISPLAY=:0&&/home/anderson/wallpaper.sh >> /home/anderson/log/log_wallpaper.txt 2>&1
Algumas observações sobre o script:
- Ele cria um subdiretório "ok" para armazenar as imagens já utilizadas em seu desktop, evitando dessa forma a repetição de imagens (enquanto não forem utilizadas todas as outras);
- O nome dos arquivos são automaticamente alterados caso haja algum caractere de espaço para evitar erros no script (os espaços são substituídos pelo caractere de sublinhado "_");
- As imagens são configuradas com a opção "picture-options zoom" para que toda a área de trabalho seja preenchida, mas sem que hajam distorções na foto (pesquise outras opções e altere-a caso deseje).
Detalhes do ambiente que utilizo:
- GNOME 3.4.2
- Debian 7.7
- Kernel Linux 3.2.0-4-amd64
Abs.
#!/bin/bash # Script para mudar randomicamente o papel de parede no Gnome a partir de arquivos em um diretório. # Referências: # http://www.webupd8.org/2009/11/3-lines-script-to-automatically-change.html # http://somethingididnotknow.wordpress.com/2012/02/04/make-your-own-picture-changing-wallpaper-in-gnome3/ # http://ubuntuforums.org/archive/index.php/t-2179775.html # Revisão 01 (2014-11-10): Permitir utilizar arquivos cujos nomes possuam espaços em branco. # Cron executa este script a cada 30 min (Inserir a linha abaixo com o comando: $ crontab -e ): # */30 * * * * export DISPLAY=:0&&/home/anderson/wallpaper.sh >> /home/anderson/log/log_wallpaper.txt 2>&1 # Diretório contendo as imagens (BASTA MUDAR AQUI) DIR="/home/anderson/Imagens/Wallpaper/Interfacelift/1366x768" # Cria um diretório para armazenar as imagens já utilizadas (evitando repetições enquanto não acabarem as imagens) cd $DIR DIR_OK="ok" if [ ! -d $DIR_OK ] ; then mkdir $DIR_OK fi # Caso tenham acabado todas as imagens (JPG), move-as novamente de volta para o diretório das imagens NUM_ARQUIVOS=$(ls *.jpg | wc -w) if [ $NUM_ARQUIVOS -eq 0 ] ; then mv -f ./$DIR_OK/*.jpg . fi # Seleciona um dos arquivos JPG aleatoriamente PIC=$(ls *.jpg | shuf -n1) # Se haviam espaços no nome do arquivo, então renomeie o arquivo para evitar problemas - Revisão 01 PIC2=$(echo $PIC | sed 's/ /_/g') if [ "$PIC" != "$PIC2" ] ; then mv -f "$PIC" $PIC2 fi # Move o arquivo selecionado para outra pasta antes de utilizá-lo como "Papel de Parede" mv -f $PIC2 ./$DIR_OK/ # Comando para mudar a imagem do papel de parede no Gnome gsettings set org.gnome.desktop.background picture-options zoom gsettings set org.gnome.desktop.background picture-uri file://$DIR/$DIR_OK/$PIC2 exit 0
Shell scrip de monitoramento de rede
Selecionar wallpaper no Fluxbox (baseado no Xdialog)
Configurando JDK no PATH no Linux (qualquer distro)
tira_usb.sh - Remover dispositivo USB
Programa IRPF - Guia de Instalação e Resolução de alguns Problemas
Criando uma Infraestrutura para uma micro Empresa
Criar entrada (menuentry) ISO no Grub
Como gerar qualquer emoji ou símbolo unicode a partir do seu teclado
Instalando o Pi-Hole versão v5.18.4 depois do lançamento da versão v6.0
Instalar o VIM 9.1 no Debian 12
Como saber o range de um IP público?
Muitas dificuldades ao instalar distro Linux em Notebook Sony Vaio PCG-6131L (VPCEA24FM)
Como fzr Downgrade em um pacote específico (1)
Contas online no POP OS 24.04 ? (2)
problema para barrar sites/downloas via HTTPS. (2)