Controle total do CUPS
Publicado por julio cesar fais (última atualização em 08/12/2010)
[ Hits: 7.382 ]
Homepage: juliovarginha.blogspot.com
Download Cups_total_control.sh
Script com opção de instalar impressora, remover impressora, definir como padrão dentre outras.
Dependências: zenity, cups(cupsys)
#!/bin/bash #script Júlio César Fais - Controle Total do Cups - 23 Novembro 2010 #julio.tecnico@bol.com.br #juliovarginha.blogspot.com #Dependencias: Zenity,cups(ou cupsys) #########################################inicio da função visualizar impressora instalada (8) function function_visualizar () { a=$(lpstat -p -d;lpq) zenity --info --text "$a" } #########################################inicio da função impressora padrão (7) 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) /usr/sbin/lpadmin -d $nomelocal 2> /tmp/2345678.txt a=$(cat /tmp/2345678.txt) zenity --info --text "$a" } #########################################Inicio da função remover impressora (6) 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) /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 (5) function function_canc () { nomelocal=$(zenity --entry --text="Digite o Nome da Impressora." --title="Ex.: HP, Kyocera" --width=300) cancel -a $nomelocal /usr/bin/enable $nomelocal /usr/sbin/accept $nomelocal lpadmin -p $nomelocal -E } ##########################################inicio da função imprimir arquivo (4) function function_imprimir () { imp=$(zenity --entry --text="Digite o Nome da Impressora." --title="Ex.: HP, Kyocera" --width=300) arquivo=$(zenity --file-selection --title "Escolha um Arquivo.") 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 (3) function function_smb () { `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) ipmicro=$(zenity --entry --text="Digite o IP do Micro com a Impressora Compartilhada..." --title="Ex.: 192.168.1.x" --width=300) nomecompartilhado=$(zenity --entry --text="Digite o Nome da Impressora (Compartilhado)" --title="Atenção Nome Compartilhado" --width=300) driverlocal=`zenity --file-selection --filename=/usr/share/foomatic/db/source/PPD/ --title "Escolha o Driver(.ppd)"` /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 paralela (2) 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) driverlocal=`zenity --file-selection --filename=/usr/share/foomatic/db/source/PPD/ --title "Escolha o Driver(.ppd)"` /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 (1) 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!!!"` 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) j=$(zenity --file-selection --filename=/usr/share/foomatic/db/source/PPD/ --title "Escolha o Driver (.ppd)") 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) 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 } ################################################## MENU ###################################################################### while true; do acao="$(zenity --width=400 --height=370 --list --column " ATENÇÃO...EXECUTE-O COMO ROOT." --title=" SCRIPT JULIO CUPS" \ "1) INSTALAR => GERAL <=" \ "2) ADICIONAR IMPRESSORA PARALELA LOCAL" \ "3) ADICIONAR IMPRESSORA REMOTA NO WINDOWS" \ "4) IMPRIMIR UM ARQUIVO" \ "5) CANCELAR TRABALHOS E INICIAR IMPRESSORA" \ "6) REMOVER IMPRESSORA" \ "7) DEFINIR IMPRESSORA COMO PADRÂO" \ "8) VISUALIZAR IMPRESSORAS INSTALADAS" \ " SAIR")" case $acao in "1) INSTALAR => GERAL <=") function_geral ;; "2) ADICIONAR IMPRESSORA PARALELA LOCAL") function_paralela ;; "3) ADICIONAR IMPRESSORA REMOTA NO WINDOWS") function_smb ;; "4) IMPRIMIR UM ARQUIVO") function_imprimir ;; "5) CANCELAR TRABALHOS E INICIAR IMPRESSORA") function_canc ;; "6) REMOVER IMPRESSORA") function_remover ;; "7) DEFINIR IMPRESSORA COMO PADRÂO" ) function_padrao ;; "8) VISUALIZAR IMPRESSORAS INSTALADAS" ) function_visualizar ;; *) exit ;; esac done ############################################### FIM ################################################# #script Júlio César Fais - Controle Total do Cups - 23 Novembro 2010 #julio.tecnico@bol.com.br #juliovarginha.blogspot.com #Dependencias: Zenity,cups(ou cupsys)
Script para Ler código de barras serial e jogar no buffer do teclado
Instalar última versão do Java automaticamente em "todas as plataformas"
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
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Melhores Práticas de Nomenclatura: Pastas, Arquivos e Código (2)
Preciso resolver um erro de DPKG (0)
Não to conseguindo resolver este problemas ao instalar o playonelinux (1)
[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