Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
Linux: Metasys Classmate
Por Gedimar
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha



Scripts

Linux user

Publicado por Iraziman da Silva Moura em (última atualização em 01/03/2012)   [ 1457 hits ]

Login: selvaking, 5093 pontos

   


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 (NOVO)
Linux user

Publicado por Iraziman da Silva Moura em 23/02/2012

Changelog: Foi acrescido o comando para mudança do wallpaper no final do script.

(versão 2)

 

[ 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

Scripts recomendados
   Script Linux recomendado Criar uma imagem ISO
   Script Linux recomendado Servidor de ISO via samba
   Script Linux recomendado Multiping.sh
   Script Linux recomendado Init Script do Snort
   Script Linux recomendado Dia Anterior

Comentários
[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


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.