Configura tudo-em-1
Publicado por julio cesar fais (última atualização em 03/02/2011)
[ Hits: 5.951 ]
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
Configuração do horário de verão 2006/2007 (Red Hat, Fedora)
Script que conta quantas barras tem em um diretorio
Encurtador de URLs pelo terminal através do Google
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Como realizar um ataque de força bruta para desobrir senhas?
Como usar Gpaste no ambiente Cinnamon
Atualizando o Fedora 42 para 43
SQLITE não quer funcionar no LINUX LMDE6 64 com Lazaruz 4.2 64bit (n... (0)
Secure boot, artigo interessante, nada técnico. (5)
VOL já não é mais como antes? (9)
É normal não gostar de KDE? (13)
E aí? O Warsaw já está funcionando no Debian 13? [RESOLVIDO] (15)









