Escolar Documentos
Profissional Documentos
Cultura Documentos
AO SISTEMA
DE IMPRESSÃO
CUPS
CUPS – COMMON UNIX PRINTING SYSTEM
Toda a base teórica que todos devem ter conhecimento sobre Impressão em Geral
está disponibilizada no link:
http://www.linuxprinting.org/kpfeifle/LinuxKongress2002/Tutorial/III.PostScript-and-PPDs/III.PostScript-and-PPDs.html
CUPS
O projeto original do CUPS - Common Unix Printing System - foi baseado em torno
do protocolo de rede LPD, com suporte adicional para opções e administração remota. O
projeto original terminou baseado no protocolo IPP - Internet Printing Protocol - que era
um protocolo que veio atualizar o LDP mas acabou tornando-se um protocolo muito mais
funcional e extensível para suportar nova tecnologias.
Fonte:
http://www.cups.org/book/intro.php
2 - Design do CUPS
- Scheduler
- Diagrama do CUPS
- Arquivos Job
- Arquivos Log
O arquivo access_log - lista toda requisição HTTP e IPP que foi processado pelo
scheduler.
O arquivo error_log contém mensagens do scheduler e de outras aplicações que
podem auxiliar na descoberta de problemas.
O arquivo page_log lista todo página impressa, útil para simples contagem de
impressão.
- Arquivos de Configuração
A Adobe não somente criou a linguagem PostScript mas também uma forma de
descrever as propriedades e comandos especiais para as diferentes impressoras
PostScript.
propriedades exatamente. Estes arquivos são usado pelos drivers para Windows e Mac
OS. Usar estes arquivos no CUPS torna o sistema de impressão completamente
funcional.
No caso de PPDs para diferentes sistemas Windows e Mac OS, as versões para
NT4 e Mac OS X devem trabalhar bem no CUPS.
(http://www.freestandards.org/en/OpenPrinting/Database/PPDDocumentation)
Isto cobre todos filtros GhostScript para uso com o sistema CUPS e requisita então
que GhostScript esteja instalado no servidor de impressão. De acordo com o projeto, é
possível criar o PPD para a impressora existente em conjunto com um filtro GhostScript.
Com este sistema o CUPS imprime tão bem como qualquer outro sistema
GhostScript disponível, e há também outras opções para integrar filtros no CUPS, como o
TurboPrint e Gimp-Print.
– CUPS Raster - CUPS raster drivers are a special form of filter type drivers. The
concept is developed as a part of CUPS to make driver installation easy. CUPS
calls GhostScript to translate the PostScript input into the CUPS raster format and
an additional CUPS filter to translate the CUPS raster format into the printer's
language. These drivers come always with PPDs which do not only contain options
and printer properties but also instruct CUPS to call the correct CUPS filter. Which
of these drivers are installed you see by the PPD files in /usr/share/cups/model (and
its subdirectories) and by the printer models showing up in the lists when setting up
a print queue with the web interface of CUPS (entries contain "CUPS").
– Plugin IJS - Like filters IJS plug-ins are also separate executables and so they also
do not require GhostScript to be patched and recompiled to add support for a new
printer. But in contrary to filters IJS plug-ins communicate bi-directionally with
GhostScript and so GhostScript can ask them for certain printer properties and
adapt its rendering appropriately. The executables have to be in the execution path,
like filters. They usually contain "ijs" somewhere in their names and some of them
can be called with the "-h" command line option to get version information.
– Uniprint - This method is not common any more. GhostScript has a built-in driver
named "uniprint" which is a universal raster driver. One can supply all comands
which have to be sent to a printer to do raster printing on the GhostScript command
line or by a file. For some printers there are several such files with the extension
".upp" in the /usr/share/GhostScript/<version>/lib/ directory.
Maiores detalhes sobre este assunto::
http://www.linuxprinting.org/~till/printing-tutorial/tut.html
http://www.freestandards.org/en/OpenPrinting/Database/CUPSDocumentation
FOOMATIC
Um problema grande na instalação de uma impressora é fazer o sistema de impressão
usar os filtros certos para converter os dados a serem impressos ao formato que a impressora
precisa. Também precisa−se de acesso a todas as capacidades da impressora como escolha
de caixa de papel, impressão aos dois lados, diferentes resoluções, economia de toner, ...
Para melhorar esta situação, o Grant Taylor, autor do Printing HOWTO, criou uma
base de dados para colecionar todas as informações sobre como as impressoras funcionam
com software livre e sobre os drivers livres com as suas linhas de comando e todas as opções
disponíveis, sendo muito útil para impressoras não PostScript.
RESUMO
O Foomatic é um sistema ou uma base de dados para integrar drivers de impressão
livres com o sistemas de impressão em Unix e Linux. Suporta alguns sistemas de impressão
como CUPS, LPRng, LPD, GNUlpr, Solaris LP, PPR, PDQ, CPS e impressão direta (no
spooler) com qualquer driver de impressão livre conhecido ao projeto e qualquer impressora
que trabalhe com estes drivers.
http://www.linuxprinting.org/kpfeifle/LinuxKongress2002/Tutorial/II.Foomatic-User/II.tutorial-
handout-foomatic-user.html
4 – Filtros
O CUPS fornece filtros para imprimir texto, PostScript, PDF, HP-GL/2 e muitos
outros tipos de arquivos de imagem. CUPS também fornece filtros de driver de impressão
para HP-PCL, ESC/P entre outros tipos. Filtros adicionais podem ser adicionados através
do uso do arquivo mime.convs e arquivos PPD.
http://en.wikipedia.org/wiki/Common_Unix_Printing_System
http://www.linuxprinting.org/kpfeifle/LinuxKongress2002/Tutorial/V.CUPS-Filtering-
Architecture/V.CUPS-Workshop-LinuxKongress2002-Content.html
A figura abaixo mostra um visão geral sobre o funcionamento de filtros no sistema CUPS:
5 - Backends
– parallel
– serial
– SCSI
– USB
– LPD
– IPP
– AppSocket (JetDirect)
– SMB.
– Entre outros Backends que podem ser construídos
6 - Bibliotecas
RESUMO
– PostScript - http://en.wikipedia.org/wiki/PostScript -
– Rasterização - http://en.wikipedia.org/wiki/Raster_graphics - dos dados para
convertê-los dentro de um formato legível para a impressora.
Além disso, o CUPS usa o protocolo IPP como base para gerenciamento da fila e
trabalhos de impressão.
Fornece interfaces de linha de comando tradicionais como o System V e Berkeley
(BSD). Existem várias interfaces de configuração do CUPS e uma interface Web do
próprio projeto CUPS, além da linha linha de comando já mencionada.
Fontes:
http://www.cups.org/documentation.php/spec-design.html
http://en.wikipedia.org/wiki/Common_Unix_Printing_System
7 - Configuração do CUPS
O sistema CUPS pode ser monitorado e administrado por linha de comando, sendo
os principais comandos: lpadmin, lpoption, lpstat
Mas existem também as ferramentas gráficas como XPP, GTKLP, Interface Web
entre outras ferramentas intermediárias nos ambientes Desktop como o Gnome e o KDE
(KDEPrint)
9 – Parte Prática
Obtendo Informações
lpinfo -v
Mostra os dispositivos suportados e disponíveis no sistema
Impressoras disponíveis
lpstat -p -d
“-p” especifica que queremos ver a lista de impressoras
“-d” nos diz qual a impressora padrão
Imprimindo
lp -d impressora arquivo
lpr -P impressora arquivo
lpoptions -d impressora
lpadmin -d impressora
Visualizando os jobs
lpq
lpstat
Cancelando os jobs
cancel job-id
lprm job-id
lpoptions -p impressora -l
lpadmin -x impressora
– Linha de comando
– Interface Web do Cups
– Aplicações disponíveis nas distribuições Linux
lpstat -t
Mostra se o sistema está em execução e se há alguma impressora
Adicionando a impressora
lpstat -t
Outros comandos
enable laserjet
Habilita a impressora (pronta para imprimir)
lpstat -a -p laserjet
Até aqui a impressora está pronta para imprimir, mas não aceita requisições, então:
accept laserjet
Aceita requisições para impressão
10 – Referências
http://www.linuxprinting.org/~till/printing-tutorial/tut.html
http://www.linuxprinting.org//kpfeifle/LinuxKongress2002/Tutorial/
http://www.freestandards.org/en/OpenPrinting/Database/CUPSDocumentation
http://www.freestandards.org/en/OpenPrinting/Database/Documentation
http://www.freestandards.org/en/OpenPrinting/Database/IndexFAQ
http://www.freestandards.org/en/OpenPrinting/Database/Foomatic
- Historia Cups
http://www.cups.org/book/intro.php
-Design Cups
http://www.cups.org/documentation.php/spec-design.html
- Impressoras de rede
http://www.cups.org/documentation.php/network.html
- Cups 1.2
http://www.cups.org/documentation.php/whatsnew.html
-Manual do Administrador
http://www.cups.org/doc-1.1/sam.html
- Manual do usuario
http://www.cups.org/doc-1.1/sum.html
Autor:
Eduardo de Oliveira Hernandes
Analista de Suporte - EMPRO
Mail: ehernandes@empro.com.br - eduardodeoh@gmail.com