Mudar aleatoriamente o papel de parede no GNOME 3
Publicado por Anderson Weller (última atualização em 12/11/2014)
[ Hits: 5.381 ]
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
Teste de conexão com o servidor
Montar pasta remota NFS em Zenity
Crivo de Eratóstenes Simples em Shell Script (BASH Script)
Script para escrever uma palavra em ASCI
Configurar Compartilhamento NFS
Agora temos uma assistente virtual no fórum!!! (247)
Manutenção de sistemas Linux Debian e derivados com apt-get, apt, aptitude e dpkg
Melhorando o tempo de boot do Fedora e outras distribuições
Como instalar as extensões Dash To Dock e Hide Top Bar no Gnome 45/46
Como Atualizar Fedora 39 para 40
Instalar Google Chrome no Debian e derivados
Consertando o erro do Sushi e Wayland no Opensuse Leap 15
Instalar a última versão do PostgreSQL no Lunix mantendo atualizado
Flathub na sua distribuição Linux e comandos básicos de gerenciamento
redirecionando saida de comando touch para o AWK[AJUDA] (3)
Impressora Canon Ip 1800 (Drivers) 64 bit (5)