Configura tudo-em-1
Publicado por julio cesar fais (última atualização em 03/02/2011)
[ Hits: 6.016 ]
Homepage: juliovarginha.blogspot.com
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!
#!/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
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Script de montagem de chroot automatica
Atualizar Linux Mint 22.2 para 22.3 beta
Jogar games da Battle.net no Linux com Faugus Launcher
Como fazer a Instalação de aplicativos para acesso remoto ao Linux
Assisti Avatar 3: Fogo e Cinzas (4)
Conky, alerta de temperatura alta (11)









