Configura tudo-em-1
Publicado por julio cesar fais (última atualização em 03/02/2011)
[ Hits: 5.715 ]
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
Script instalador do obmenu-generator e configuração do openbox
Backup automatico em dois computadores via local e NFS
Configuração do Modem Sony Ericsson MD300 da Claro 3G no Linux
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
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
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
A area de trabalho ficou preta (14)
Falta pacotes de suporte ao sistema de arquivos (Gerenciador de discos... (4)
xubuntu sem sons de eventos (4)