Mudar aleatoriamente o papel de parede no GNOME 3
Publicado por Anderson Weller (última atualização em 12/11/2014)
[ Hits: 5.487 ]
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
NÓtinha - Gerador de notas fiscais para empresas
ZFFmpeg - Conversor e editor de vídeos
Screensaver Johnny Castaway - XFCE + Wine
Cálculo de número perfeito range
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Flatpak: remover runtimes não usados e pacotes
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
Tentando instalar o Ekattor School no xampp (5)
Definir tempo limite para acesso ssh (4)
Problema instalação do sige software gestão escolar script gratuito (0)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta