Instalar impressora no CUPS a partir de um arquivo PPD
Publicado por Gabriel Fernandes 24/10/2006
[ Hits: 34.944 ]
Homepage: http://cd2.com.br
Download Instala.ppd.hpijs.cups
Script para instalar impressoras no CUPS, usando o driver HPIJS (http://hplip.sourceforge.net/), a partir de um arquivo de definição da impressora (PPD).
Se tua impressora não estiver na lista de impressoras do CUPS, é possível ir no Linux Printing (http://www.linuxprinting.org) e baixar o arquivo de definição (.PPD) da mesma.
Este script instala o arquivo PPD e cria a fila de impressão no CUPS.
Importante: este script precisa, obrigatoriamente, do arquivo foomatic-rip (filtro universal). Ele precisa estar no mesmo diretório onde será executado o script.
Este script foi testado no Slackware 10.2, Red Hat Linux 9, RedHat WS 3 e Fedora Core 2.
#!/bin/bash #Criação de fila de impressão no CUPS via shell # #[2006-08-08] Criado por Gabriel Fernandes - <nayaless@terra.com.br> # #Script para instalação de arquivo PPD para impressoras que usam o driver/plugin HPIJS no CUPS #Este script foi criado em campo e na correria, pode ser melhorado, o que signifca que alterações #são bem vindas, desde que não seja retirado a referência ao autor. # ARGUMENTOS=$@ if [ "$USER" != 'root' ]; then echo "" echo "ATENÇÃO" echo "Este script somente pode ser executado com o usuário ROOT" echo "" exit 1 fi if [ -z $1 ]; then echo "" echo "ATENÇÃO" echo "Você deve infomar o nome da fila de impressao que será criada, o" echo "dispositivo e o arquivo PPD !!!" echo "Para ver os dispositivos disponíveis use o comando lpinfo -v." echo "Exemplo : $0 <nome_fila> <dispositivo> <arquivo_PPD>" echo "Exemplo para porta LPT1 e impressora Lexmark: " echo "$0 LEXMARK parallel:/dev/lp0 Lexmark-Optra_E321-hpijs.ppd" echo "Exemplo para porta IPP e impressora Lexmark: " echo "$0 LEXMARK ipp://host:631/printers/fila_impressao Lexmark-Optra_E321-hpijs.ppd" echo "" echo "Homologado para as versões:" echo "Slackware 10.2.0" echo "Red Hat Linux release 9 (Shrike)" echo "Fedora Core release 2 (Tettnang)" echo "Red Hat Enterprise Linux WS release 3 (Taroon Update 6)" echo "" exit 1 fi echo "" echo "Preparando para instalar ..." echo "" echo "Fila de Impressão $1 no dispositivo $2 com o arquivo de definição $3" echo "" echo "Homologado para as versões" echo "Slackware 10.2.0" echo "Red Hat Linux release 9 (Shrike)" echo "Fedora Core release 2 (Tettnang)" echo "Red Hat Enterprise Linux WS release 3 (Taroon Update 6)" echo "" echo "Procurando pelo driver HPIJS ..." echo "" LOCAL_DRIVER=`whereis hpijs | cut -d ' ' -f 2` LOCAL_FILTRO=`pwd` FILTRO="foomatic-rip" LOCAL_FILTRO="$LOCAL_FILTRO/$FILTRO" #Verifica a existencia do filtro universal foomatic-rip e não existindo tenta baixar if [ -e "$LOCAL_FILTRO" ] ; then echo "Usando filtro $LOCAL_FILTRO" else echo "Filtro Universal foomatic-rip não encontrado, tentando fazer download:" /usr/bin/wget -c http://www.linuxprinting.org/download.cgi?filename=foomatic-rip echo "Se o download foi completado com sucesso execute novamente $0 $@," echo "caso contrário faça download e execute $0 $@" echo "" exit 1 fi #Verifica a existencia do driver hpijs e existindo executa o processo if [ -e "$LOCAL_DRIVER" ] ; then echo "Usando driver $LOCAL_DRIVER" #Copiando arquivo de descrição do driver e da impressora, NÃO É O DRIVER !!! cp -rf $3 /usr/share/cups/model/$3 #Copiando o filtro universal foomatic-rip cp -rf $LOCAL_FILTRO /usr/lib/cups/filter/$FILTRO chmod a+r /usr/share/cups/model/$3 chmod a+rx /usr/lib/cups/filter/$FILTRO #Fazendo o daemon CUPS reconhecer o novo arquivo PPD killall -HUP cupsd #Aguardando o daemon subir sleep 2 #Adicionando fila de impressão /usr/sbin/lpadmin -p $1 -E -v $2 -m $3 -o PageSize=A4 #Listando a fila instalada echo "" echo "Instalado o dipositivo:" echo "" /usr/bin/lpstat -t | grep $1 echo "" echo "Instalação completa." echo "" echo "ATENÇÃO" echo "" echo "Para imprimir a partir do Windows em impressora com linguagem PCL" echo "é necessário editar o arquivo /etc/cups/mimes.types e retirar o " echo "comentário das linhas:" echo "" echo "application/vnd.cups-raw (string(0,<1B>E) + !string(2,<1B>%0B))" echo " string(0,<1B>@) " echo " (contains(0,128,<1B>%-12345X) + " echo " (contains(0,1024,"LANGUAGE=PCL") " echo " contains(0,1024,"LANGUAGE = PCL")))" echo "" echo "application/octet-stream" echo "" echo "E no arquivo /etc/cups/mimes.convs retirar o comentário da linha:" echo "" echo "application/octet-stream application/vnd.cups-raw 0 -" echo "" echo "FIM" exit 0 else echo "ATENÇÃO" echo "Não é possível continuar, pois o driver HPIJS não está instalado" exit 1 fi
Atualizando o Passado: Linux no Lenovo G460 em 2025
aaPanel - Um Painel de Hospedagem Gratuito e Poderoso
O macete do Warsaw no Linux Mint e cia
Um modo leve de ouvir/ver áudio/vídeo da internet em máquinas pererecas
Resolver algumas mensagens de erro do SSH
Instalar módulo de segurança do Banco do Brasil Warsaw do tipo .run
Sem espaço na partição home (2)
O que você está ouvindo agora? [2] (190)
Procrastinação e autossabotagem são problemas muito comuns na sociedad... (5)
warsaw parou de funcionar após atualização do sistema (solução) (10)