Mudar aleatoriamente o papel de parede no GNOME 3
Publicado por Anderson Weller (última atualização em 12/11/2014)
[ Hits: 5.515 ]
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
Trocar senha no primeiro login em PDC SAMBA
KDE 4.1.1 no Slackware Linux 12.1
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
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
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Como ordenar datas corretamente usando o Calc? (2)
Tem como instalar o gerenciador AMD Adrenalin no Ubuntu 24.04? (21)