Configura tudo-em-1
Publicado por julio cesar fais (última atualização em 03/02/2011)
[ Hits: 5.680 ]
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
Conversor de binário pra decimal e vice-versa
Script para o Qemu usando Dialog
Script para limpeza de arquivos temporários em Sabayon Linux
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Flatpak: remover runtimes não usados e pacotes
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
Definir tempo limite para acesso ssh (4)
Problema instalação do sige software gestão escolar script gratuito (0)
Tentando instalar o Ekattor School no xampp (3)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta