16
INTRODUÇÃO AO SISTEMA DE IMPRESSÃO CUPS

6685563 Apostila Cups Intro

Embed Size (px)

Citation preview

Page 1: 6685563 Apostila Cups Intro

INTRODUÇÃO AO SISTEMA

DE IMPRESSÃO CUPS

Page 2: 6685563 Apostila Cups Intro

CUPS – COMMON UNIX PRINTING SYSTEM

Básico sobre Impressão

Impressão é um dos capítulos mais complicados na área de TI.Desde o início, todo desenvolvedor de um programa que era capaz de produzir

dados que pudessem ser impressos também tinha que produzir seu próprio driver de impressão. Isto era bem complicado porque diferentes programas tinham diferentes formatos de arquivos e mesmos programas para o mesmo tipo de uso não entendiam o formato um dos outros. Não havia então uma interface comum para todas impressoras e os programadores suportavam somente poucos modelos selecionados.

Quando um novo modelo aparecia no mercado o autor do programa tinha que escrever um novo driver de impressão para que o programa dele pudesse suportar esta nova impressora, e mesmo para os fabricantes era impossível saber se o dispositivos deles eram suportados por qualquer programa conhecido no mundo.

Ter que suportar 10 aplicações e um desena de impressoras, significava que o administrador de sistemas tinha que lidar com 120 drivers de impressão. O desenvolvimento de uma interface unificada entre os programas e impressoras tornava-se urgente.

O surgimento das Linguagens de Descrição de Páginas (Page Description Languages), descrevia a representação gráfica de tinta e toner nas folhas de papel.

Um outro desenvolvimento foi o PostScript pela Adobe. Isto significava que o programador de uma aplicação poderia concentrar em fazer o programa dele produzir uma saída dos dados na linguagem PostScript, enquanto os desenvolvedores de dispositivos poderiam focar-se em fazer dispositivos literalmente PostScript.

O objetivo principal do PostScript é descrever o layout de um objeto gráfico em uma página. Um arquivo PostScript é a representação de um ou mais páginas a serem impressas de uma forma relativamente abstrata. Idealmente, isto significa descrever as páginas de uma forma independente de dispositivos, o PostScript não é diretamente visível, somente vive no hard disk e na memória RAM como a representação codificada de futuras impressões.

Com o tempo surgiu o desenvolvimento de outros métodos de descrição de uma página a ser impressa e os competidores mais importantes foram o PCL (Print Control Language – HP), ESC/P (da Epson) e o GDI (Graphical Device Interface – Microsoft).

O surgimento destas linguagens de descrição de páginas facilitou a vida principalmente dos desenvolvedores, mas ainda há linguagens competindo entre si, incompatíveis e diferentes.

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

ou no arquivo – III.PostScript-and-PPDs.pdf – no diretório PDFs

Introdução ao Sistema de Impressão CUPS 2

Page 3: 6685563 Apostila Cups Intro

CUPS – COMMON UNIX PRINTING SYSTEM

1 - Impressão em sistemas Linux/Unix

As aplicações nos sistemas Unix/Linux geralmente produzem arquivos PostScript (Adobe) para impressão.

PostScript é uma linguagem de descrição de páginas independente de plataforma e é a linguagem de escolha das impressoras laser de médio e alto nível e até mesmo de algumas impressoras jato de tinta de alto nível.

Entretanto, PostScript geralmente não é suportado por impressoras "de nível consumidor" e certamente não temos uma impressora PostScript em nossa casa ou no nosso trabalho. Os processadores integrados de impressoras PostScript processam os arquivos PS para dados “raster” (http://pt.wikipedia.org/wiki/Raster) e este procedimento é baseado em cálculos altamente intensivos - Raster Image Process ou RIP(http://en.wikipedia.org/wiki/Raster_image_processor).

As impressoras que não trabalham com PostScript necessitam de um software para fazer todo o processamento de PostScript.

A Silicon Graphics introduziu conceitos como o de filtrar arquivos de impressão para convertê-los em um formato legível para a impressora. Dentro de um produto chamada "Impressario" incluiu um interpretador PostScript para converter arquivos PostScript no formato "raster" para impressoras não PostScript.

Houve também o GhostScript (um interpretador PostScript popular livre) que acabou não sendo utilizado como opção, então era necessário escrever os próprios drivers de impressão.

CUPS

No ambiente Linux/Unix sempre houveram vários sistemas de impressão e o CUPS é um deles.

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.

Hoje o CUPS é incluído na maioria das distribuições Linux e está disponível livremente para todos sistemas operacionais UNIX e Linux. Drivers de impressão para o CUPS estão disponíveis comercialmente pela ESP Print Pro assim como drivers são oferecidos por vários projetos livres.

Fonte:http://www.cups.org/book/intro.php

Introdução ao Sistema de Impressão CUPS 3

Page 4: 6685563 Apostila Cups Intro

CUPS – COMMON UNIX PRINTING SYSTEM

2 - Design do CUPS

Como muitos sistemas de impressão, o CUPS é estruturado em torno de um processo de agendamento de impressão central que despacha os jobs de impressão, comandos administrativos, fornece informações do estado da impressora para programas locais e remotos, além de outras coisas. Entre alguns de seus componentes estão:

- Scheduler

O scheduler é uma uma aplicação servidor HTTP/1.1 e IPP/1.1 que gerencia as requisições HTTP e IPP, impressoras, classes, jobs e notificações no sistema. Este componente é estruturado como um tradicional processo single-threaded e monolítico que roda processos externos para fazer operações como impressão, notificação, enumeração de dispositivos/drivers e monitoramento de impressão remota.

- Diagrama do CUPS

- Arquivos Job

O scheduler armazena os arquivos job em um diretório de spool (/var/spool/cups). Dois tipos de aquivos são encontrados no diretório de spool: arquivos de controle que iniciam o nome com "c" ("c00001") e arquivos de dados que iniciam o nome com "d" ("d00001). Arquivos de controle são mensagens IPP enquanto que arquivos de dados são os arquivos originais para impressão.

Introdução ao Sistema de Impressão CUPS 4

Page 5: 6685563 Apostila Cups Intro

CUPS – COMMON UNIX PRINTING SYSTEM

- Arquivos Log

O scheduler mantém 3 tipos de arquivos de log que normalmente ficam armazenados em (/var/logs/cups).

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.

Os arquivos de log são rotacionados pelo scheduler quando alcançam um limite configurado mas também podem usar outros programas para tal tarefa como o "logrotate".

- Arquivos de Configuração

O scheduler usa vários arquivos de configuração:

– para armazenar as configurações do servidor – cupsd.conf– classes disponíveis – classes.conf– impressoras disponíveis – printers.conf– mensagens de notificações – subscriptions.conf– tipos de arquivos e filtros suportados - mime.types e mime.convs

3 - PPDs para Impressoras PostScript

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.

A impressão avançada PostScript originalmente foi desenvolvida para uso nos sistemas Microsoft e Apple somente. Por um longo tempo toda impressão rica em características das impressoras modernas esteve indisponível para sistemas Linux e Unix. Cups mudou isso decisivamente e o mesmo está muito ligado ao conceito dos PPDs (PostScript Printer Description).

Basicamente, um PPD descreve todas as características dependentes do dispositivo que podem ser utilizadas por um certo modelo de impressora.

O driver de impressão carrega o arquivo PPD como um arquivo adicional de configuração e então o driver de impressão aprende sobre as opções disponíveis no disposi e como chamá-los.

Impressoras PostScript possuem seus próprios PPDs e eles descrevem suas

Introdução ao Sistema de Impressão CUPS 5

Page 6: 6685563 Apostila Cups Intro

CUPS – COMMON UNIX PRINTING SYSTEM

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.

Para usar o PPD basta copiar para o diretório /usr/share/cups/model, atribuir as permissões de leitura para todos e reiniciar o sistema CUPS, e então irá aparecer na interface Web do CUPS.

Os PPDs podem ser encontrados:

– No CD de drivers da impressora (mas as vezes estes arquivos vem de forma comprimida não podendo ser descomprimido com software livre)

– Também podem ser encontrados em uma máquina Windows (que já tenha a impressora instalada)

– No site do fabricante ou no site da Adobe (no caso de modelos antigos).– No site http://www.linuxprinting.org/download/PPD/ (PPDs fornecidos pelos

fabricantes como software livre)– No site http://www.cups.org/ppd.php (arquivos de contribuição dos fabricantes de

impressoras).

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)

Para checar a integridade de um PPD, utilize a ferramenta “cupstestppd”

Maiores detalhes sobre como obter arquivos PPD: http://www.freestandards.org/en/OpenPrinting/Database/PPDDocumentation

3 - Impressoras Não PostScript, GhostScript, Foomatic e etc...

Como as aplicações Unix/Linux geralmente produzem PostScript quando enviam um documento para impressão, todas impressoras são tratadas como PostScript. Se a impressora não entende PostScript por si mesma, o software GhostScript, que é um interpretador PostScript, é usado para traduzir o documento em PostScript para a linguagem da impressora (PCL, ESP/P entre outros).

O código o qual gera a linguagem nativa da impressora é chamado de driver de impressão e há mais ou menos drivers sofisticados para muitas impressoras e linguagens.

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.

Do ponto de vista do usuário, isto já é o driver de impressão e pode ser instalado no sistema CUPS pelo métodos usuais (linha de comando, GUI ou Browser. )

Assim, os dados específicos de impressão do PPD são enviados a um filtro

Introdução ao Sistema de Impressão CUPS 6

Page 7: 6685563 Apostila Cups Intro

CUPS – COMMON UNIX PRINTING SYSTEM

GhostScript relevante no sistema que irá preparar os dados para impressão.

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.

Há diferentes tipos de drivers:

– Compilado no GhostScript - O conceito de driver é antigo e drivers são pedaços de código dentro do executável do GhostScript. Para adicionar novos drivers é necessário reconstruir o binário. Para ver os drivers no sistema “gs -h”. Há uma versão ESP GhostScript que contém todos drivers livres deste tipo

– Filtros - Filters are separate executables which convert a printer-independent graphics format produced by GhostScript (PNM, PPM, ...) into the printer's native language. They appeared because some people wanted to create a printer driver quickly without needing to study the internals of GhostScript. The advantage is that you do not need to patch and compile GhostScript to install them. So they are very easy to install. To find out whether the driver you need is already installed, check whether the driver's executable is in the execution path (Use "which <driver name>").

– 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

Introdução ao Sistema de Impressão CUPS 7

Page 8: 6685563 Apostila Cups Intro

CUPS – COMMON UNIX PRINTING SYSTEM

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, ...

A maioria das distribuições GNU/Linux usavam ferramentas próprias para configurar impressoras, que muitas vezes não suportam os modelos mais recentes e só disponibilizam as opções mais básicas do driver.

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.

Este sistema, chamado Foomatic e situado no site www.linuxprinting.org, já tem mais que 1000 impressoras e mais que 200 drivers cadastrados. Com um filtro universal e um gerador de arquivos PPD é fácil criar filas de impressão para todos os sistemas de impressão livres com acesso a todas as opções do driver. O Foomatic já se tornou padrão nas distribuições GNU/Linux principais.

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.

Basicamente o Foomatic fornece um script filtro universal (foomatic-rip) o qual trabalha com vários sistemas de impressão e uma base de dados descrevendo impressoras e drivers que este filtro pode utilizar.

Mais sobre o Foomatic em:http://www.freestandards.org/en/OpenPrinting/Database/Foomatic

http://www.linuxprinting.org/kpfeifle/LinuxKongress2002/Tutorial/II.Foomatic-User/II.tutorial-handout-foomatic-user.html

ou no arquivo IV.Foomatic-Developer e II.Foomatic-User no diretório PDFs

Para se servir do Foomatic, há duas possibilidades:

– Baixar os arquivos necessários do linuxprinting.org e colocá−los no lugar certo manualmente.

– Baixar os pacotes do Foomatic e usar as ferramentas de linha de comando do Foomatic

Introdução ao Sistema de Impressão CUPS 8

Page 9: 6685563 Apostila Cups Intro

CUPS – COMMON UNIX PRINTING SYSTEM

Maiores detalhes sobre estes procedimentos no arquivo:fisl2003_CUPS_FOOMATIC.pdf (no diretório PDFs)

4 – Filtros

Filtros convertem arquivos job dentro de um formato que a impressora possa imprimir. Múltiplos filtros são executados, quando necessários, para converter um arquivo job para um formato imprimível. O programa filtro lê a entrada padrão ou lê um arquivo se um nome de arquivo é fornecido.

Todos os filtros devem suportar um conjunto comum de opções incluindo nome da impressora, ID do job, título do job, número de cópias e opções do job. Toda a saída é enviada para a saída padrão.

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.

Alguns filtros são disponibilizados na instalação padrão do CUPS para impressoras “Inkjet” e “Laser” compatíveis com PCL (Page Control Language - Uma linguagem de controle de páginas para impressoras da HP e compatíveis.) das famílias Deskjet e Laserjet da HP, Epson Stylus Color e Stylus Photo, Espon 9-pin e Epson 24-pin. Estes filtros são geralmente encontrados junto com outros filtros derivados do GhostScript, no diretório /usr/lib/cups/filter.

O processo de filtragem em detalhes encontra-se no links:

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

ou no arquivo V.CUPS-Filtering-Architecture no diretório PDFs.

A figura abaixo mostra um visão geral sobre o funcionamento de filtros no sistema CUPS:

Introdução ao Sistema de Impressão CUPS 9

Page 10: 6685563 Apostila Cups Intro

CUPS – COMMON UNIX PRINTING SYSTEM

Introdução ao Sistema de Impressão CUPS 10

Page 11: 6685563 Apostila Cups Intro

CUPS – COMMON UNIX PRINTING SYSTEM

5 - Backends

Os Backends enviam os dados de impressão para a impressora e enumera dispositivos/impressoras disponíveis quando necessário. O sistema CUPS inclui Backends para conexões como:

– parallel– serial– SCSI– USB– LPD– IPP– AppSocket (JetDirect)– SMB.– Entre outros Backends que podem ser construídos

6 - Bibliotecas

O CUPS fornece uma biblioteca de funções para manipular imagens, conversão e gerenciamento de cores, dimensionamento de imagens entre outras coisas.

RESUMO

CUPS consiste de um spooler de impressão Unix/Linux e um scheduler, um sistema de filtro que converte os dados de impressão para um formato que a impressora irá imprimir e um sistema backend que enviará estes dados para o dispositivo de impressão.

O sistema CUPS faz uso extensivo:

– 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.

Introdução ao Sistema de Impressão CUPS 11

Page 12: 6685563 Apostila Cups Intro

CUPS – COMMON UNIX PRINTING SYSTEM

A figura abaixo mostra de forma básica o sistema CUPS :

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

Introdução ao Sistema de Impressão CUPS 12

Page 13: 6685563 Apostila Cups Intro

CUPS – 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

– lpstat -p -d = exibe as impressoras disponíveis– lpadmin = configura impressoras, classes e direitos de usuários– lpoption = todas características da impressora, que pode ser configurada via PPD,

podem ser visualizadas e alteradas.

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)

8 - Onde Obter Ajuda

– FAQhttp://www.freestandards.org/en/OpenPrinting/Database/IndexFAQ

– Aplicações usando arquivos PPD e Foomatichttp://www.freestandards.org/en/OpenPrinting/Database/PPDDocumentation

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 arquivolpr -P impressora arquivo

Configurando a impressora padrão

Introdução ao Sistema de Impressão CUPS 13

Page 14: 6685563 Apostila Cups Intro

CUPS – COMMON UNIX PRINTING SYSTEM

lpoptions -d impressoralpadmin -d impressora

Visualizando os jobs

lpqlpstat

Cancelando os jobs

cancel job-idlprm job-id

Listando opções da impressora

lpoptions -p impressora -l

Mais opções em:http://www.cups.org/documentation.php/options.html

Removendo uma impressora

lpadmin -x impressora

Adicionando uma impressora

Para adicionar uma impressora no sistema há várias formas:

– Linha de comando– Interface Web do Cups– Aplicações disponíveis nas distribuições Linux

Veremos abaixo o método por linha de comando:

Confirmando a execução do sistema CUPS

lpstat -tMostra se o sistema está em execução e se há alguma impressora

Introdução ao Sistema de Impressão CUPS 14

Page 15: 6685563 Apostila Cups Intro

CUPS – COMMON UNIX PRINTING SYSTEM

Adicionando a impressora

lpadmin -p laserjet -E -v parallel -D “HP” -L “Escritorio” -E -m laser.ppd

-p laserjet = nome da nova impressora- E = habilita a impressora e aceita requisições-v parallel = tipo de dispositivo da impressora-D “HP” = descrição da impressora-L “Escritorio” = descrição da localização da impressora-m laser.ppd = arquivo PPD do modelo da impressora (pode ser o path completo)

Checando a adição da impressora no sistema

lpstat -t

Outros comandos

Caso acima, não fosse utilizado a opção – E no comando lpadmin, deveriamos:

enable laserjetHabilita 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 laserjetAceita requisições para impressão

A diferença entre enable e accept é que quando a impressora está “accept” o usuário é capaz de submeter jobs de impressão mesmo que ela não esteja “enable”. Isto permite os administradores fazer pequena manutenção na impressora como troca de papel ou toner enquanto o scheduler aceita requisições de impressão. Os comando inversos são: disable e reject

Introdução ao Sistema de Impressão CUPS 15

Page 16: 6685563 Apostila Cups Intro

CUPS – COMMON UNIX PRINTING SYSTEM

10 – Referências

http://www.linuxprinting.org/~till/printing-tutorial/tut.htmlhttp://www.linuxprinting.org//kpfeifle/LinuxKongress2002/Tutorial/

http://www.freestandards.org/en/OpenPrinting/Database/CUPSDocumentationhttp://www.freestandards.org/en/OpenPrinting/Database/Documentationhttp://www.freestandards.org/en/OpenPrinting/Database/IndexFAQhttp://www.freestandards.org/en/OpenPrinting/Database/Foomatic

-Toda Docs Cupshttp://www.cups.org/documentation.php

- Historia Cupshttp://www.cups.org/book/intro.php

-Design Cupshttp://www.cups.org/documentation.php/spec-design.html

-Resolvendo Problemas Cupshttp://www.cups.org/cups-help.html

- Impressoras de redehttp://www.cups.org/documentation.php/network.html

- Cups 1.2http://www.cups.org/documentation.php/whatsnew.html

- Cups linha de comandohttp://www.cups.org/documentation.php/options.htmlhttp://www.howtoforge.com/ipp_based_print_server_cups_p2?s=39906d785500a394fd2baf2fef13738b&http://www.vivaolinux.com.br/dicas/verDica.php?codigo=6036http://learnlinux.tsf.org.za/courses/build/sys-admin/ch08s03.htmlhttp://www.togaware.com/linux/survivor/CUPS_Command.htmlhttp://www.lockergnome.com/nexus/it/2005/01/31/control-printers-in-linux-from-the-command-line/

-Manual do Administradorhttp://www.cups.org/doc-1.1/sam.html

- Manual do usuariohttp://www.cups.org/doc-1.1/sum.html

Autor:Eduardo de Oliveira HernandesAnalista de Suporte - EMPROMail: [email protected] - [email protected]

Introdução ao Sistema de Impressão CUPS 16