Instalar impressora no CUPS a partir de um arquivo PPD
Publicado por Gabriel Fernandes 24/10/2006
[ Hits: 34.886 ]
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
Habilitar/Desabilitar Touchpad do notebook (usando gsettings)
Slapt CP 1.0 - salvar os pacotes baixados no Gslapt
Script de instalação para Firefox e Thunderbird - new release
Baixando os áudios dos vídeos do youtube - YAD
MGME - Mythic Game Master Emulator
Aprenda a Gerenciar Permissões de Arquivos no Linux
Como transformar um áudio em vídeo com efeito de forma de onda (wave form)
Como aprovar Pull Requests em seu repositório Github via linha de comando
Visualizar arquivos em formato markdown (ex.: README.md) pelo terminal
Dando - teoricamente - um gás no Gnome-Shell do Arch Linux
Como instalar o Google Cloud CLI no Ubuntu/Debian
Mantenha seu Sistema Leve e Rápido com a Limpeza do APT!
Procurando vídeos de YouTube pelo terminal e assistindo via mpv (2025)
Gestão de Ambiente em uma rede Linux (2)
Ajuda Pra Melhoria do NFTABLES. (7)
Zorin OS - Virtual Box não consigo abrir maquinas virtuais (4)