Controle total do CUPS
Publicado por julio cesar fais (última atualização em 08/12/2010)
[ Hits: 7.735 ]
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)
Gerando ISO com o camando dd, e exibindo "barra de progresso".
Manutenção básica em partições Windows
Registar automáticamente o dns de uma maquina no DNS via DHCP
Papagaiando o XFCE com temas e recursos
WhatsApp com Chamadas no Linux via Waydroid
XFCE - quase um Gnome ou Plasma mas muito mais leve
LXQT - funcional para máquinas pererecas e usuários menos exigentes
Removendo entradas de boot UEFI "fantasmas" via terminal
Atualizações de Segurança Automáticas no Debian
Como cortar as partes de um vídeo com passagens de áudio em branco
Tiling automático no KDE Plasma
SNMP Scan no OCS Inventory só funciona com HTTPS corretamente configurado
Uma pergunta bem simples mas não achei resposta (ainda) (1)
O que você está ouvindo agora? [2] (228)
Alguém tem que acabar com ANATEL!!! (2)









