Pular para o conteúdo

Papel de parede - Mudança automática no Ubuntu/Debian

Este script foi criado para fazer mudança automática dos papéis de parede nas pastas que você desejar. Foi feito em Outubro do ano passado, na época estava iniciando nos scripts e queria fazer uma mudança randômica de várias fotos como papel de parede.

Ele não tá muito comentado mais funciona que é uma beleza!

Salve-o na pasta do usuário, abra um terminal e use o comando ". wallpaper.sh"
Iraziman da Silva Moura selvaking
Hits: 11.168 Categoria: Shell Script Subcategoria: Miscelânea
  • Download
  • Nova versão
  • Indicar
  • Denunciar

Descrição

Este script foi criado para fazer mudança automática dos papéis de parede nas pastas que você desejar. Foi feito em Outubro do ano passado, na época estava iniciando nos scripts e queria fazer uma mudança randômica de várias fotos como papel de parede.

Ele não tá muito comentado mais funciona que é uma beleza!

Salve-o na pasta do usuário, abra um terminal e use o comando ". wallpaper.sh"
Download 5314.wallpaper.sh Enviar nova versão

Versões atualizadas deste script

Esconder código-fonte

#!/bin/bash

# set -e

# O script usa o sudo no final para o usuário que executa.

DIR_FOTO=("/usr/share/backgrounds") # Array que guarda as pastas que contém as imagens.
# Exemplo com mais de uma pasta, Assim vc pode até criar uma pasta wallpaper pro usuário e acrescenta-la ao script.
# DIR_FOTO=("/media/NTFS_BACKUP/BACKUP/Meus Documentos/Webshots Data" "${HOME}/Imagens/wallpaper" "/usr/share/images/grub" "/usr/share/backgrounds")

FILE_BACKGROUND=/usr/share/backgrounds/background-1.xml # variável que guarda o nome do arquivo de Wallpaper.
# Verifique se o arquivo no seu sistema tem este nome e o salve antes de executar o script. Se não for este o nome do arquivo é só rodar o script,
# clicar com o direito na Área de trabalho e pedir para alterar o plano de fundo.
# Vc tbm pode usar o comando abaixo que modifica direto no "Editor de Configurações do Gnome". Detalhe: vc tem que ser root ou usar o sudo na frente
# gconftool-2 --set "/desktop/gnome/background/picture_filename" --type string "/usr/share/backgrounds/contest/background-1.xml"
# Se vc souber é só acrescentar o comando acima no fim do script. ok!

STATIC="95.0" # Tempo que a imagem permanece estático.
TRANSITION="5.0" # Tempo de transição entre as imagens.


TMPFILE=$(mktemp ./temp.XXX)
LIST_FILES=$(find "${DIR_FOTO[@]:0}" | egrep ".(jpg|svg|png|tga)$")


primeira ()
{ 
cat <<EOF > "$(echo $TMPFILE)"
<background>
  <starttime>
    <year>$(date +%Y)</year>
    <month>$(date +%m)</month>
    <day>$(date +%d)</day>
    <hour>00</hour>
    <minute>00</minute>
    <second>00</second>
  </starttime>
<!-- This animation will start at midnight. -->
EOF
} 

segunda ()
{ 
cat <<EOF >> "$(echo $TMPFILE)"
    <to>$FILE</to>
  </transition>
EOF
} 

terceira ()
{ 
cat <<EOF >> "$(echo $TMPFILE)"
  <static>
    <duration>$STATIC</duration>
    <file>$FILE</file>
  </static>
  <transition>
    <duration>$TRANSITION</duration>
    <from>$FILE</from>
EOF
} 

quarta ()
{ 
cat <<EOF >> "$(echo $TMPFILE)"
    <to>$FIM_FILE</to>
  </transition>
</background>
EOF
}

while read FILE; do x[i]="$FILE"; let i++; done < <(echo "${LIST_FILES}")
i=0
cnt=${#x[@]}
cnt_1=$(( ${#x[@]}-1 ))

SINAL=0
while read FILE
do
 if [ "$SINAL" -eq "0" ]
 then
 SINAL=1
 primeira
 FIM_FILE=$FILE
 else
 segunda
 fi
 terceira
done < <(for i in $(seq 0 $cnt_1); { echo -e "$RANDOM\t${x[$i]}"; } | sort | cut -f2)
 quarta

sudo mv $TMPFILE $FILE_BACKGROUND&&
sudo chmod 644 $FILE_BACKGROUND&&
sudo chown root. $FILE_BACKGROUND&&
echo "arquivo $FILE_BACKGROUND criado"

exit 0

Gerenciar usuários do OpenLDAP com Sistema ZIMBRA

rename

Ogg to Mp3 Audio Convert

Terminal logando vários SSH em abas

Multiconversor (Octal para binário, decimal para hexadecimal, etc)

#1 Comentário enviado por victormag em 23/02/2012 - 11:19h
Tudo bem, executei pelo terminal, mas nao aconteceu nada!
Tenho que botar em qual pasta? tenho que fazer algo a mais?
#2 Comentário enviado por selvaking em 23/02/2012 - 21:15h
corrige a linha

FILE_BACKGROUND=/usr/share/backgrounds/background-1.xml

para

FILE_BACKGROUND=/usr/share/backgrounds/contest/background-1.xml

e acrescenta

gconftool-2 --set "/desktop/gnome/background/picture_filename" --type string "$FILE_BACKGROUND"

antes da linha final que é "exit 0"
ficando assim:

echo "arquivo $FILE_BACKGROUND criado"
gconftool-2 --set "/desktop/gnome/background/picture_filename" --type string "$FILE_BACKGROUND"
exit 0

Contribuir com comentário

Entre na sua conta para comentar.