Configura tudo-em-1

Publicado por julio cesar fais (última atualização em 03/02/2011)

[ Hits: 5.567 ]

Homepage: juliovarginha.blogspot.com

Download julio_full.sh




Várias opções: configuração de DNS, permissões, rede, instalação de Java e flash, manipulação de imagens, codificação, impressoras... e mais!

  



Esconder código-fonte

#!/bin/bash
############################################### FIM #################################################
#script Júlio César Fais - 29 Dezembro 2010
#julio.tecnico@bol.com.br
#juliovarginha.blogspot.com
#Dependencias: Imagemagick, dd

###########verifica se o usuario é root##################
#se for root retorna 0
#se for usuario normal retorna 1000
userid=$(id -u)
if [ $userid = 1000 ]; then
`zenity --warning --text "Não Esta Sendo Executado Como Administrador (root)!" --title "AVISO DO JULIO!!!"`
fi
if [ $userid = 0 ]; then
`zenity --warning --text "Cuidado Script Sendo Executado Como Administrador (root)!" --title "AVISO DO JULIO!!!"`
fi

######################################### inicio da função visualizar impressora instalada (20)
function function_visualizar () {
a=$(lpstat -p -d;lpq)
zenity --info --text "$a"
}

#########################################inicio da função impressora padrão (19)
function function_padrao () {
`zenity --warning --text "Execute Como Administrador (root)!" --title "AVISO DO JULIO!!!"`
nomelocal=$(zenity --entry --text="Digite o Nome da Impressora que Será a Padrão" --title="Ex.: HP, Kyocera" --width=300)
if [ $? == 1 ]; then
exit
fi

/usr/sbin/lpadmin -d $nomelocal 2> /tmp/2345678.txt
a=$(cat /tmp/2345678.txt)
zenity --info --text "$a"
}

#########################################Inicio da função remover impressora (18)
function function_remover () {
`zenity --warning --text "Execute Como Administrador (root), ou Adicione seu usuario ao grupo lpadmin!" --title "AVISO DO JULIO!!!"`
nomelocal=$(zenity --entry --text="Digite o Nome da Impressora que Será Removida" --title="Ex.: HP, Kyocera" --width=300)
if [ $? == 1 ]; then
exit
fi

/usr/sbin/lpadmin -x $nomelocal 2> /tmp/2345678.txt
a=$(cat /tmp/2345678.txt)
zenity --info --text "$a"
}

##########################################inicio da função CANCELAR TRABALHOS E INICIAR IMPRESSORA (17)
function function_canc () {
nomelocal=$(zenity --entry --text="Digite o Nome da Impressora." --title="Ex.: HP, Kyocera" --width=300)
if [ $? == 1 ]; then
exit
fi

cancel -a $nomelocal
/usr/bin/enable $nomelocal
/usr/sbin/accept $nomelocal
lpadmin -p $nomelocal -E
}

##########################################inicio da função imprimir arquivo (16)
function function_imprimir () {

imp=$(zenity --entry --text="Digite o Nome da Impressora." --title="Ex.: HP, Kyocera" --width=300)
if [ $? == 1 ]; then
exit
fi

arquivo=$(zenity --file-selection --title "Escolha um Arquivo.")
if [ $? == 1 ]; then
exit
fi

lp -d $imp $arquivo &> /tmp/2345678.txt
a=$(cat /tmp/2345678.txt)
zenity --info --text "$a"

#outro comando idêntico=> lpr -P $imp $arquivo
}

###########################################inicio da função impressora remota windows (15)
function function_smb () {
`zenity --warning --text "Execute Como Administrador (root), ou Adicione seu usuario ao grupo lpadmin!" --title "AVISO DO JULIO!!!"`
if [ $? == 1 ]; then
exit
fi

nomelocal=$(zenity --entry --text="Digite o Nome para a Impressora..." --title="Ex.: HP, Kyocera" --width=300)
if [ $? == 1 ]; then
exit
fi

ipmicro=$(zenity --entry --text="Digite o IP do Micro com a Impressora Compartilhada..." --title="Ex.: 192.168.1.x" --width=300)
if [ $? == 1 ]; then
exit
fi

nomecompartilhado=$(zenity --entry --text="Digite o Nome da Impressora (Compartilhado)" --title="Atenção Nome Compartilhado" --width=300)
if [ $? == 1 ]; then
exit
fi

driverlocal=`zenity --file-selection --filename=/usr/share/foomatic/db/source/PPD/ --title "Escolha o Driver(.ppd)"`
if [ $? == 1 ]; then
exit
fi

/usr/sbin/lpadmin -p $nomelocal -E -v smb://$ipmicro/$nomecompartilhado -m $driverlocal

zenity --info --text "A Impressora $nomelocal Foi Instalada!."
}

###########################################Início da função impressora paralela (14)
function  function_paralela () {
zenity --warning --text "Execute Como Administrador (root), ou Adicione seu usuario ao grupo lpadmin!" --title "AVISO DO JULIO!!!"
nomelocal=$(zenity --entry --text="Digite o Nome para a Impressora..." --title="Ex.: HP, Kyocera" --width=300)
if [ $? == 1 ]; then
exit
fi

driverlocal=`zenity --file-selection --filename=/usr/share/foomatic/db/source/PPD/ --title "Escolha o Driver(.ppd)"`
if [ $? == 1 ]; then
exit
fi

/usr/sbin/lpadmin -p $nomelocal -E -v parallel:/dev/lp0 -m $driverlocal


zenity --info --text "A Impressora $nomelocal Foi Instalada!."
clear
}

###########################################inicio da função instalar impressora geral (13)
function function_geral () {
`zenity --warning --text "Execute Como root, a seguir aparecerão seus dispositivos,anote o que for Necessário...Aguarde" --title "AVISO DO JULIO!!!"`
if [ $? == 1 ]; then
exit
fi

a=$(lpinfo -v) &> /tmp/2345678.txt
b=$(cat /tmp/2345678.txt)
zenity --info --text "$a"
disp=$(zenity --entry --text="Ex.: socket://10.1.1.1:9100, USB, HTTP://10.1.1.1:631/printers/imp." --title="Digite Caminho/Nome do Dispositivo" --width=300)
if [ $? == 1 ]; then
exit
fi

j=$(zenity --file-selection --filename=/usr/share/foomatic/db/source/PPD/  --title "Escolha o Driver (.ppd)") 
if [ $? == 1 ]; then
exit
fi
mkdir /tmp/jj
cp $j /tmp/jj
cd /tmp/jj
gzip -d *
driverlocal=$(cp /tmp/jj/*.ppd)

nomelocal=$(zenity --entry --text="Digite o Nome para a Impressora..." --title="Ex.: HP, Kyocera" --width=300)
if [ $? == 1 ]; then
exit
fi

lpadmin -p $nomelocal -E -v $disp -m $driverlocal -u allow:all -o printer-is-shared=true

mv /tmp/jj/*.ppd /etc/cups/ppd/$nomelocal.ppd
/etc/init.d/cups stop
/etc/init.d/cups start
/etc/init.d/cupsys stop
/etc/init.d/cupsys stop
a=$(lpstat -p -d;lpq)

zenity --info --text "A Impressora $nomelocal Foi Instalada!."
zenity --info --text "$a"

rm -fr /tmp/jj

}

########################################################### inicio da funcão renomear mauiscula-minuscula(12)
function function_mai () {

PASTA=$(zenity --directory --file-selection --title "Escolha a Pasta")
if [ $? == 1 ]; then
exit
fi
[ $? -ne 0 ] && --zenity --text="Esc ou CANCELAR apertado" --error && exit
cd $PASTA
for foo in *; do mv $foo `echo $foo | tr /[A-Z]/ /[a-z]/` ; done
}

############################################################# inicio da função alterar codificação utf-8 > iso-8859-1 (11)
function function_utf () {

PASTA=$(zenity --directory --file-selection --title "Escolha a Pasta")
if [ $? == 1 ]; then
exit
fi
[ $? -ne 0 ] && --zenity --text="Esc ou CANCELAR apertado" --error && exit
cd $PASTA

NOME="muda_codificacao"
VERSAO="0.1, 27 Feb 2007"
AUTOR="Jonh Wendell <wendell@bani.com.br>"

uso() {
  echo "$NOME $VERSAO, $AUTOR"
  echo
  echo "Muda a codificação dos arquivos de iso para utf"
  echo "(Renomeia os arquivos, na verdade)"
  echo
  echo "Uso:"
  echo " `basename $0` <pasta onde estao os arquivos>"
  echo
  echo "Exemplo: Para renomear os arquivos na pasta local, use:"
  echo " `basename $0` ./"
  echo

  exit 1;
}

PASTA=$PASTA
[ "x$PASTA" == "x" -o "x$PASTA" == "x--help" ] && uso

cd $PASTA 2>/dev/null || { echo "Erro entrando na pasta $PASTA" ; exit 1; }

for i in *; do
 NOVO=`echo "$i" | iconv -f utf-8 -t iso-8859-1`
  if [ "$NOVO" != "$i" ]; then
    mv "$i" "$NOVO"
  fi
done

}

########################################################### inicio da função alterar codificação iso-8859-1 > utf-8 (10)
function function_iso () {
PASTA=$(zenity --directory --file-selection --title "Escolha a Pasta")
if [ $? == 1 ]; then
exit
fi
cd $PASTA

NOME="muda_codificacao"
VERSAO="0.1, 27 Feb 2007"
AUTOR="Jonh Wendell <wendell@bani.com.br>"

uso() {
  echo "$NOME $VERSAO, $AUTOR"
  echo
  echo "Muda a codificação dos arquivos de iso para utf"
  echo "(Renomeia os arquivos, na verdade)"
  echo
  echo "Uso:"
  echo " `basename $0` <pasta onde estao os arquivos>"
  echo
  echo "Exemplo: Para renomear os arquivos na pasta local, use:"
  echo " `basename $0` ./"
  echo

  exit 1;
}

PASTA=$PASTA
[ "x$PASTA" == "x" -o "x$PASTA" == "x--help" ] && uso

cd $PASTA 2>/dev/null || { echo "Erro entrando na pasta $PASTA" ; exit 1; }

for i in *; do
 NOVO=`echo "$i" | iconv -f iso-8859-1 -t utf-8`
  if [ "$NOVO" != "$i" ]; then
    mv "$i" "$NOVO"
  fi
done
}
#########################################inicio da função REDIMENSIONANDO VÁRIOS IMAGENS DE UMA SÓ VEZ (9)
function function_redimensionarfull () {
resolucao=$(zenity --entry --text="Digite a Resolução Das Imagens Desejada." --title="Ex.: 1024x768" --width=300)
if [ $? == 1 ]; then
exit
fi

qualidade=$(zenity --entry --text="Digite a qualidade das Imagens Desejada ( 50 = 50% )" --title="Ex.: 100" --width=300)
if [ $? == 1 ]; then
exit
fi

local=$(zenity --directory --file-selection --title "Escolha a Pasta com as Imagens")
if [ $? == 1 ]; then
exit
fi
#julio=$(zenity --entry --text="Digite a Extensão das imagens." --title="Ex.: jpg png jpeg)
convert -resize $resolucao -quality $qualidade $local/* $local/fotos-redimensionadas &> /tmp/2345678.txt
#2> /tmp/2345678.txt
a=$(cat /tmp/2345678.txt)
zenity --info --text "$a"
rm /tmp/2345678.txt
exit 0
}

#########################################inicio da função REDIMENSIONAR UMA IMAGEM (8)
function function_redone () {

resolucao=$(zenity --entry --text="Digite a Resolução Das Imagens Desejada." --title="Ex.: 1024x768" --width=300)
if [ $? == 1 ]; then
exit
fi

qualidade=$(zenity --entry --text="Digite a qualidade das Imagens Desejada ( 50 = 50% )" --title="Ex.: 100" --width=300)
if [ $? == 1 ]; then
exit
fi

imagem=$(zenity --file-selection --title "Escolha um Arquivo.")
if [ $? == 1 ]; then
exit
fi

convert -resize $resolucao -quality $qualidade $imagem $imagem-redimensionada.jpg  &> /tmp/2345678.txt

a=$(cat /tmp/2345678.txt)
zenity --info --text "$a"
rm /tmp/2345678.txt

exit 0

}

################################################### inicio da função BKP de configuração(7)
function function_bkp () {

pasta=`zenity --directory --file-selection --title "Escolha a Pasta Para Salvar os Aquivos de Configuração"`
if [ $? == 1 ]; then
exit
fi
userr=$(zenity --entry --text="Digite Qual o Usuario Esta o Backup" --title="Ex.: kurumin, prefeitura" --width=300)
if [ $? == 1 ]; then
exit
fi

scp /etc/network/interfaces $pasta 
scp /etc/cups/printers.conf $pasta
scp /home/$userr/.kde/share/config/kopeterc $pasta
scp -r /home/$userr/.mozilla $pasta
scp -r /home/$userr/.mozilla-thunderbird $pasta
scp -r /home/$userr/.thunderbird $pasta
scp -r /home/$userr/.firefox $pasta
scp -r /home/$userr/.mozilla-firefox $pasta
scp -r /home/$userr/.putty $pasta
scp -r /etc/rc.local $pasta                        

konqueror $pasta

clear

}

#########################################inicio da função extrair pacotes deb (6)
function  function_deb () {

e=$(zenity --directory --file-selection  --title "Escolha a pasta onde estao os arquivos .DEB")
if [ $? == 1 ]; then
exit
fi

cd $e/
dpkg -i *.deb
sleep 2
zenity --info --text="Os Arquivos Foram Extraidos."
exit 0

}

##################################inicio da função instalar flash (5)
function function_flash () {

flash=`zenity --file-selection --title "Escolha o Flash Player (obs.: tem que estar Descompactado)"`
if [ $? == 1 ]; then
exit
fi

d=`zenity  --directory --file-selection  --title "Escolha a pasta plugins do navegador.Ex.: /usr/lib/firefox-3.6.7/plugins/"`
if [ $? == 1 ]; then
exit
fi

cp -i -r  $flash $d
zenity --info --text="Reinicie o Navegador ...."
}
############################Inicio da função instalar java (4)
function function_java () {

java=$(zenity --file-selection --title="Selecione o JAVA")
if [ $? == 1 ]; then
exit
fi

./$java
zenity --info --text "Vamos adicionar um link pro navegador."
c=`zenity  --directory --file-selection  --title "Escolha a pasta plugins do navegador.Ex.: /usr/lib/firefox-3.6.7/plugins/"`
if [ $? == 1 ]; then
exit
fi

d=`zenity  --file-selection  --title "Escolha o plugin do java (ja instalado)"`
if [ $? == 1 ]; then
exit
fi

cd $c/
ln -s $d
zenity --info --text="OK! Tudo Pronto! Vamos Testar ...."
firefox 'http://www.java.com/pt_BR/download/help/testvm.xml'
}

################################inicio da função configurar rede (3)
function function_rede () {
#################
   inicio (){
   echo 1 - IP Fixo
   echo 2 - DHCP
   echo 3 - RESTAURAR BKP
   echo 4 - IP TEMPORARIO
   read var
   
   case $var in
   1) fixo;;
   2) dhcp;;
   3) bkp;;
   4) temp;;
   *) clear; echo 'saindo do programa'; exit;;
   esac
   }
##################   
   fixo (){
   echo vc escolheu IP Fixo
`zenity --warning --text "ATENÇAO ESTA AÇAO IRA SOBRESCREVER O ARQUIVO ORIGINAL!!!" --title "AVISO DO JULIO!!!"`
   sleep 1
   clear
   echo 'Adicione suas interfaces...
   Ex.: eth0 eth0:0 eth0:1 eth0:2...
   obs.: use a 1ª interface para internet...'
   sleep 2
   read int
   echo "Qual Ip da 1ª interface?"
   read ipa
   echo "Qual a Mascara da 1ª inetrface?"
   read masc
   echo "Qual o Gateway da 1ª interface?"
   read gw
   sleep 1
   echo "auto lo $int" > /etc/network/interfaces
   echo "iface lo inet loopback" >> /etc/network/interfaces
   echo "iface $int inet static" >> /etc/network/interfaces
   echo "address $ipa" >> /etc/network/interfaces
   echo "netmask $masc" >> /etc/network/interfaces
   echo "gateway $gw" >> /etc/network/interfaces
   echo "#configurado via script => JULIO 4.0<= julio.tecnico@bol.com.br" >> /etc/network/interfaces

   clear
/etc/init.d/networking stop
/etc/init.d/networking start
echo "! Pronto. Sua Rede Foi Configurada com sucesso."
sleep 4
   }
##################   
   dhcp (){
`zenity --warning --text "ATENÇAO ESTA AÇAO IRA SOBRESCREVER O ARQUIVO ORIGINAL!!!" --title "AVISO DO JULIO!!!"`
   echo vc escolheu IP por DHCP
   sleep 2
   clear
echo 'Adicione sua interface...
   Ex.: eth0, eth1, wlan0...'
sleep 1
read int
echo "auto lo $int" > /etc/network/interfaces
echo "iface lo inet loopback" >> /etc/network/interfaces
echo "iface $int inet dhcp" >> /etc/network/interfaces
echo "#configurado via script => JULIO 4.0<= julio.tecnico@bol.com.br" >> /etc/network/interfaces
echo "Configurando...Aguarde..."
sleep 2
clear
/etc/init.d/networking stop
/etc/init.d/networking start
echo "! Pronto. Sua Rede DHCP Foi Configurada com sucesso. Veja:"
sleep 4

cat /etc/network/interfaces
   sleep 5
   clear

   }
###################   
   bkp (){
`zenity --warning --text "ATENÇAO ESTA AÇAO IRA SOBRESCREVER O ARQUIVO ORIGINAL!!!" --title "AVISO DO JULIO!!!"`   
echo 'Qual o Arquivo?'
b=`zenity --file-selection --title "Escolha o arquivo(interfaces)"`
if [ $? == 1 ]; then
exit
fi

sleep 2
cp "$b" /etc/network/
clear
echo "Reiniciando a Rede..."
sleep 1
/etc/init.d/networking stop
/etc/init.d/networking start
clear
echo "OK!"
sleep 2

   }
####################

      temp (){

echo "Qual a interface?"
sleep 2
read dd
echo "Qual o ip?"
sleep 2
read aa
echo "Qual a Mascara?"
sleep 2
read bb
echo "Qual o Gateway?"
sleep 2
read cc

ifconfig $dd $aa netmask $bb up
route add default gw $cc

}
  inicio

clear
}

###################################inicio da função permissões (2)
function function_permissao () {

sudo=$(zenity --entry --text="Digite Qual usuario voce quer Habilitar o sudo?" --title="Ex.: kurumin, prefeitura" --width=300)
if [ $? == 1 ]; then
exit
fi

echo "
$sudo ALL=(ALL) ALL
$sudo ALL=NOPASSWD: ALL
#configurado via script => JULIO 4.0<= julio.tecnico@bol.com.br
" >> /etc/sudoers

zenity --info --text "Concluido! O Usuario $sudo ja possui permissao de Administrador."
}

#####################################Início da função dns padrão (1)
function  function_dns () {

echo "
nameserver 208.67.222.222
nameserver 8.8.8.8
#configurado via script => JULIO 4.0<= julio.tecnico@bol.com.br
" > /etc/resolv.conf
clear

cat /etc/resolv.conf
sleep 3
zenity --info --text "DNS Configurado!."
clear

}
################################################## MENU ######################################################################


while true; do
  acao="$(zenity --width=410 --height=610 --list --column "        Algumas Opções Só Funcionam Como Root." --title=" Script Júlio Fais 4.0" \
        " 1) ADICIONAR DNS PADRAO" \
   " 2) CONFIGURAR PERMISSÕES - /etc/sudoers" \
   " 3) CONFIGURAR REDE" \
   " 4) INSTALAR JAVA" \
   " 5) INSTALAR FLASH PLAYER" \
   " 6) EXTRAIR PACOTES" \
   " 7) BKP DE CONFIGURAÇÕES" \
    " 8) REDIMENSIONAR UMA IMAGEM" \
   " 9) REDIMENSIONAR VARIAS IMAGENS" \
   "10) CODIFICAÇÃO iso-8859-1 > utf-8" \
   "11) CODIFICAÇÃO utf-8 > iso-8859-1" \
   "12) RENOMEAR ARQUIVOS MAIUSCULA > MINUSCULA" \
   "13) INSTALAR IMPRESSORA GERAL" \
     "14) ADICIONAR IMPRESSORA PARALELA LOCAL" \
   "15) ADICIONAR IMPRESSORA REMOTA NO WINDOWS" \
   "16) IMPRIMIR UM ARQUIVO" \
   "17) CANCELAR TRABALHOS E INICIAR IMPRESSORA" \
   "18) REMOVER IMPRESSORA" \
   "19) DEFINIR IMPRESSORA COMO PADRÂO" \
   "20) VISUALIZAR IMPRESSORAS INSTALADAS" \
   "SAIR")"

case $acao in

" 1) ADICIONAR DNS PADRAO")
function_dns ;;

" 2) CONFIGURAR PERMISSÕES - /etc/sudoers")
function_permissao ;;

" 3) CONFIGURAR REDE")
function_rede ;;

" 4) INSTALAR JAVA")
function_java ;;

" 5) INSTALAR FLASH PLAYER")
function_flash ;;

" 6) EXTRAIR PACOTES" )
function_deb ;;

" 7) BKP DE CONFIGURAÇÕES" )
function_bkp ;;

" 8) REDIMENSIONAR UMA IMAGEM" )
function_redone ;;

" 9) REDIMENSIONAR VARIAS IMAGENS" )
function_redimensionarfull ;;

"10) CODIFICAÇÃO iso-8859-1 > utf-8" )
function_iso ;;

"11) CODIFICAÇÃO utf-8 > iso-8859-1" )
function_utf ;;

"12) RENOMEAR ARQUIVOS MAIUSCULA > MINUSCULA" )
function_mai ;;

"13) INSTALAR IMPRESSORA GERAL")
function_geral ;;

"14) ADICIONAR IMPRESSORA PARALELA LOCAL")
function_paralela ;;

"15) ADICIONAR IMPRESSORA REMOTA NO WINDOWS")
function_smb ;;

"16) IMPRIMIR UM ARQUIVO")
function_imprimir ;;

"17) CANCELAR TRABALHOS E INICIAR IMPRESSORA")
function_canc ;;

"18) REMOVER IMPRESSORA")
function_remover ;;

"19) DEFINIR IMPRESSORA COMO PADRÂO" )
function_padrao ;;

"20) VISUALIZAR IMPRESSORAS INSTALADAS" )
function_visualizar ;;


*) exit ;;

esac

done


############################################### FIM #################################################
#script Júlio César Fais - Imagemagick - 29 Dezembro 2010
#julio.tecnico@bol.com.br
#juliovarginha.blogspot.com
#Dependencias: Imagemagick, dd

Scripts recomendados

Baixar Naruto Shippuden

mp3towav

Troca de imagem da tela de bloqueio de usuário no Linux Mint MATE

Mudando Bitrate de seus MP3s

Selecionar wallpaper no Fluxbox (baseado no Xdialog)


  

Comentários
[1] Comentário enviado por removido em 06/02/2011 - 17:14h

parabens,muito util


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts