Copyright © 2001 Kurt Pfeifle
É concedida permissão para copiar, distribuir e/ou modificar este documento sob os termos da Licença de Documentação Livre GNU, Versão 1.1 ou qualquer versão posterior publicada pela Fundação do Software Livre; com nenhuma Seção Não Modificável, com nenhum Texto de Capa, e com nenhum Texto de Contra-Capa. Uma cópia da licença está incluída na seção intitulada "Licença de Documentação Livre GNU".
Este manual descreve o KDEPrint. O KDEPrint não é um programa independente, mas um nova estrutura de impressão para o KDE 2.2. O KDEPrint é uma camada intermediária entre os aplicativos do KDE (ou outros) e o subsistema de impressão selecionado (e instalado) de seu SO.
Índice
Lista de Exemplos
Este manual descreve o KDEPrint. O KDEPrint não é um programa independente, mas um nova estrutura de impressão para o KDE 2.2. O KDEPrint é uma camada intermediária entre os aplicativos do KDE (ou outros) e o subsistema de impressão selecionado (e instalado) de seu SO.
Deve-se anotar que ambos, o desenvolvedor desta aplicação e o autor deste documento, tem muita familiaridade com o CUPS como um sistema de impressão. Quando ele foi escrito, o CUPS era o melhor subsistema de suporte de impressão e era o mais bem documentado.
Este manual é um trabalho em evolução. As próximas versões do programa KDEPrint e deste manual deverão suportar e explorar de forma mais completa outros sistemas de impressão.
Neste meio tempo, se o seu subsistema de impressão ainda não for bem suportado, incentivamos você a explorar o módulo Gerenciamento de Impressão em KControl. Você achará sua operação promissora e razoavelmente intuítiva, não importando qual subsistema de impressão use.
Lauri Watts, time de documentação do KDE
Este capítulo tem o objetivo de fornecer uma visão técnica do KDEPrint que não-programadores possam compreender.
O KDEPrint é uma nova e revolucionária ferramenta para fornecer um rápido acesso aos serviços de impressão tanto para usuários do KDE como para desenvolvedores do KDE.
Você pode acessar as funções do KDEPrint de diferentes maneiras: através do Gerenciador de Impressão no KControl, através do comando kprinter ou através do diálogo que aparece quando você deseja imprimir.
O KDEPrint não é um substituto para o sub-sistema de impressão propriamente dito. O KDEPrint conseqüentemente não fornece um serviço de fila de impressão, e ele não faz o processamento básico de PostScript® e outros dados de impressão.
O KDEPrint é uma camada intermediária entre a fila de impressão e o processamento de dados do sub-sistema de impressão (como instalado), e o aplicativo que busca imprimir um documento. O KDEPrint fornece uma interface comum para desenvolvedores do KDE e usuários do KDE, aos vários sub-sistemas de impressão suportados. Ao mesmo tempo, ele é personalizável, e altamente configurável.
O KDEPrint é fácil de usar tanto por desenvolvedores do KDE como usuários finais. Desenvolvedores podem portar seus aplicativos, com mudanças mínimas, para usar o KDEPrint ao invés do antigo “sistema” de impressão do Qt™. Usuários podem facilmente escolher e configurar seu sub-sistema de impressão.
Como referência para usuários novos do KDE: o Qt™ é a biblioteca básica e kit de ferramentas gráficas, que é usado por todos aplicativos do KDE; o Qt™ é desenvolvido pela TrollTech, uma companhia de software Norueguesa.
O KDEPrint possui facetas diferentes para diferentes pessoas.
O KDEPrint permite aos usuários e/ou administradores, dependendo de suas permissões, acessar os sub-sistemas de impressão(CUPS, LPD, RLPR, LPRng, PDQ etc) através de uma interface gráfica com o usuário do KDE (GUI). Usando o KDEPrint, eles podem imprimir, administrar trabalhos, impressoras e o serviço de impressão, tudo de uma maneira confortável.
Usuários experientes gostarão da capacidade de adicionar qualquer filtro de trabalho para dados a serem impressos entre a saída de seus aplicativos e a entrada no sub-sistema de impressão escolhido. Alguns exemplos para isto vieram com o “plain vanilla” do KDEPrint. Leia-o.
Se um desenvolvedor do KDE precisa de acesso à impressão para seu aplicativos, ele não precisa codificar as funções de impressão a partir do zero. Antes do KDE 2.2, este serviço era fornecido pela classe QPrinter
, uma biblioteca de funções do Kit de Ferramentas Qt™. A classe QPrinter
funcionava sob o antigo “Line Printer Daemon” (LPD). A biblioteca do KDEPrint se baseia firmemente no mais moderno Sistema de Impressão Comum para UNIX® (CUPS), enquanto ao mesmo tempo mantém compatibilidade regressa com o LPD e outros sistemas de impressão legados ou menos elaborados. Ele também “deixa a porta aberta” para qualquer novo desenvolvimento que venha ocorrer.
Para desenvolvedores do KDE usarem a nova classe KDEPrint em seus aplicativos, eles precisam apenas de mudanças mínimas no seu código: para cada chamada do QPrinter
, eles apenas precisam mudá-la para KPrinter
. Substituir uma (!) letra em poucos pontos, e automaticamente eles permitiram aos seus aplicativos usarem todos os recursos da nova biblioteca KDEPrint.
Desenvolvedores mais ambiciosos, ou com necessidades especiais, podem fazer mais: a despeito do ambiente de trabalho rico de recursos do KDEPrint, eles ainda são capazes de personalizar o diálogo de impressão do seu aplicativo criando “Abas” adicionais, onde suas extensões ao padrão do KDEPrint ficarão acessíveis.
Este recurso mencionado por último não vem sendo usado largamente no KDE, uma vez que os desenvolvedores ainda não estão totalmente cientes do poder do KDEPrint. Espera-se um maior uso disto num futuro próximo. Um exemplo que eu descobri é o aplicativo KCron. Ele permite-lhe editar o crontab através de uma GUI. Os desenvolvedores implementaram um recurso de impressão que permite-lhe (ou o root
) escolher se deseja imprimir todo o crontab (para todos os usuários) ou apenas a parte que estiver marcada. Você pode ver os efeitos no KDEPrint nas seguintes capturas de tela.
Esta imagem mostra um exemplo do utilitário KCron.
O diálogo para configurar as opções de impressão do KCron: a aba adicional intitulada Opções do Cron é do próprio KCron, e não do KDEPrint; ela é uma extensão especial adicionada pelos desenvolvedores do KCron para fins de impressão, não originada de, mas executada pelo KDEPrint. Desenvolvedores de outros aplicativos estão livres para implementar suas próprias melhorias, se eles sentirem necessidades delas.
Adição do KCron ao diálogo do KDEPrint.
A interface fácil de usar do KDEPrint para todos os sub-sistemas de impressão suportados é claro que não elimina as fraquezas tradicionais básicas de alguns destes sistemas. Mas ele repara algumas arestas. Usuários diferentes podem usar sistemas de impressão diferentes num mesmo computador. Um usuário é livre para mudar “em tempo real”, a partir do diálogo de impressão, o sub-sistema de impressão a ser usado no próximo trabalho. (Isto é possível se diferentes sistemas estão instalados de modo que eles não “sejam acessados de outras maneiras”.)
A maioria dos usuários UNIX® estão usando o LPD para impressão. O LPD fornece somente funções básicas de impressão, é muito inflexível e não utiliza muitas das opções da maioria dos sistemas modernos de impressão como o CUPS. Apesar de também trabalhar remotamente em qualquer distância (como qualquer protocolo baseado no TCP/IP), ao LPD falta comunicação bi-direcional, autenticação, controle de acesso e suporte à criptografia.
O KDEPrint pode usar o CUPS para suportar:
Consulta à LAN por impressoras disponíveis,
Autenticação Básica, Sumária e Certificada,
Controle de acesso baseado em endereços IP, endereços de rede, máscaras de rede, nomes de máquina e domínio,
e criptografia de dados de 128-Bits TLS ou SSL3, para evitar interceptação, ou pelo menos torná-la muito mais difícil.
Isto torna o KDEPrint uma solução muito mais robusta e confiável do que usando o venerável LPD.
Você obtém acesso ao KDEPrint, ou partes dele, de quatro diferentes modos:
através de seus aplicativos: se você chamar o diálogo de impressão (tanto com Arquivo+Imprimir... como com o botão com um pequeno ícone de impressora sobre ele); isto abre o diálogo de impressão.
através da digitação do comando kprinter num terminal ou numa janela do Konsole ou a partir da janela mini-CLI Executar Comando...: isto também abrirá o diálogo de impressão.
a partir do botão , iniciando o KControl, e então indo para Sistema+Gerenciador de Impressão. Isto abre o administrador do KDEPrint que é parte do Centro de Controle do KDE e também permite-lhe alternar para outras partes do KControl
a partir da linha de comando (Konsole ou mini-CLI), digite kcmshell
. Isto abre apenas a componente KDEPrint do KControl, de modo que o usuário efetue a sua configuração. printers
Iniciando o diálogo do kprinter iniciado a partir da janela do Executar Comando....
Aqui está um desenho do Kivio do diálogo do kprinter como ele aparece após ser iniciado... Você sempre pode adicionar uma nova impressora clicando no pequeno botão Assistente (marcada em vermelho/amarelo neste desenho).
O diálogo kprinter iniciado (desenho do Kivio)
O novo sistema KDEPrint inclui mais de um destaque. Tendo trabalhado num ambiente no passado que não era exatamente sofisticado, tanto quanto a impressão era concebida, dê uma olhada em alguns dos benefícios que vem com o KDEPrint
O KDEPrint possui um “Assistente para Adicionar Impressora”. O Assistente para Adicionar Impressora lhe auxilia na adição e configuração de uma nova impressora. É claro, você pode fazer isto manualmente se desejar.
O KDEPrint lhe auxilia a “descobrir” impressoras. Esta é a capacidade de procurar no ambiente por dispositivos e filas de impressão disponíveis. Isto funciona para conexões de rede usando o TCP (AppSocket, aka HP® JetDirect®, ou IPP) ou impressoras SMB/Samba (“compartilhamentos” Windows®) e parcialmente para impressoras conectadas diretamente na porta paralela, serial, ou USB.
O assistente torna a instalação e manipulação dos drivers “um estalo”. Selecionar, configurar e testar deve ser fácil como nunca se viu num sistema tipo Linux®.
O Visualizador de Trabalho de Impressão é automaticamente iniciado pelo kprinter. Ele pode ser embutido no painel do KDE (na bandeja de sistema). O Visualizador de Trabalho de Impressão permite o gerenciamento total do trabalho, se suportado pelo sub-sistema de impressão.
Você pode:
Manter e lançar trabalhos,
Mover trabalhos pendentes para outra impressora,
Cancelar trabalhos pendentes ou em processamento.
Uma captura de tela do Visualizador de Trabalho de Impressão do KDEPrint mostra as informações que você pode obter: ID do Trabalho, impressora alvo, nome do trabalho, dono do trabalho, estado do trabalho e tamanho do trabalho. Na próxima versão do KDEPrint você também poderá ver informações sobre o número de páginas (como o CUPS o calcula; veja o capítulo sobre contabilidade de páginas para mais informações sobre méritos e limitações).
Uma captura de tela do Visualizador de Trabalho de Impressão do KDEPrint.
Uma maneira alternativa de obter as mesmas informações (e ter a mesma capacidade de controle) é através do Centro de Controle do KDE selecionando Sistema+Gerenciador de Impressão. Se você não ver Informações de Impressão, dê um clique no fundo da janela e selecione Ver Informações da Impressora. Então vá para a aba Trabalhos para ver isto:
O KDEPrint usa módulos diferentes para criar a interface para os possíveis sub-sistemas de impressão. Nem todos os módulos estão desenvolvidos completamente, mas você terá funcionalidade de impressão básica com:
LPD (estilo BSD)
LPRng (Red Hat®, se você apenas usa este subconjunto do estilo BSD),
RLPR (um utilitário de linha de comando LPR, que não precisa de um arquivo a printcap
).
comandos de impressão “externos” (como no Netscape®).
O mais importante, suporte completo ao CUPS já está pronto. Módulos para outros sub-sistemas de impressão, como o PLP, PPR e PDQ devem ficar disponíveis posteriormente.
O KDEPrint torna o KDE muito mais flexível. Ele fornece liberdade de escolha para os usuários do KDE 2.2. Para usar diferentes sub-sistemas de impressão disponíveis, eles devem, é claro, serem instalados independentemente do KDE. Em versões anteriores, usuários eram obrigados a usar os sub-sistemas de impressão antigos no estilo LPD. Agora eles podem também usar o CUPS. No futuro, haverá uma integração mais fácil com novos sub-sistemas, conforme eles surgirem.
Alguns recursos específicos do KDEPrint dependem do sub-sistema de impressão escolhido. Esta dependência deve existir porque estes recursos somente são implementados em determinados sub-sistemas; lembre-se que o KDEPrint é uma camada intermediária entre aplicativos KDE e o sub-sistema de impressão, mas ele não é uma substituição para qualquer sub-sistema propriamente dito. Tais dependências devem existir por outra razão: que o KDEPrint ainda não implementou uma interface para todos os recursos para todos os sub-sistemas.
Outros recursos incluem vantagens do KDEPrint que são independentes do sub-sistema de impressão escolhido, e estão disponíveis como todos eles. No momento são as impressoras “especiais” ou “virtuais”, e alguns “pré-filtros” genéricos.
A partir deste Diálogo de Impressão, você pode selecionar uma olhada numa previsão. Para isto, o arquivo impresso é passado por filtros que o tornam apropriado para exibição na tela usando o KGhostView.
Outro destes recursos adicionais do KDEPrint são algumas poucasimpressoras “especiais” ou “virtuais”:
Estas impressoras especiais podem:
Converter seu documento para um arquivo PDF com o auxílio de um programa externo.
Enviar seu documento como um arquivo PDF anexo a um email.
Salva seu documento como um arquivo PostScript®.
Envia-o através de um backend disponível, como o Hylafax como um fax.
Estas impressoras “especiais” aparecem no diálogo de impressão do usuário como impressoras “normais”. Elas são totalmente configuráveis com personalizações para cada usuário.
O KDEPrint fornece-lhe um ambiente de trabalho para definir e configurar seus próprios “pré-filtros”. Estes pré-filtros podem ter efeito antes dos trabalhos serem passados para seu sub-sistema de impressão para posterior processamento, mas também após os arquivos (PostScript®, texto plano ou outro) de impressão terem sido gerados pelo seu aplicativo.
Existem alguns filtros úteis já pré-definidos. Eles são:
O filtro “páginas múltiplas por folha”,
o filtro “enscript” de texto,
e três filtros para auxiliar a impressão de panfletos.
Você pode criar seus próprios filtros baseados em qualquer aplicativo de terceiros que seja capaz de processar arquivos PostScript®, de texto plano ou de imagens, e qualquer saída para um destes formatos.
Estes filtros são configurados através de arquivos XML. Isto torna um extensão de conceito muito fácil para desenvolvedores experientes, mas a configuração pelo usuário final pode ser também feita através de uma intuitiva interface gráfica com o usuário. Logo não tenha medo, você não precisa aprender XML por causa do KDEPrint!
Este é um filtro pré-definido que vem com o KDEPrint. Ele permite-lhe criar e modificar a saída PostScript® a partir de uma entrada PostScript®, que imprime 1, 2, ou 4 páginas lógicas numa folha simples de papel.
Este é um filtro pré-definido que vem com o KDEPrint. Ele permite-lhe criar saída PostScript® de qualquer entrada de arquivo de texto, o que inclui destaque de sintaxe para listagens de programas, impressão-melhorada, e úteis configurações para quadros e cabeçalhos de página.
Se sua impressora é capaz de produzir saída em frente e verso, usando tecnologia de uma passada ou duas passadas, você pode ser capaz de usar um, ou uma combinação, de filtros de “panfletos”.
Para impressoras duplex, certifique-se de usar a opção duplex que “habilita” a saída por uma lado menor do papel. Dobrar o papel impresso no meio torna seu documento um belo panfleto.
Se você não possui uma impressora duplex, você pode fazer o mesmo, usando dois filtros diferentes e alguns passos adicionais.
Dependendo do seu modelo, primeiro use o filtro para impressão de páginas “ímpares”, então insira o papel na ordem correta de volta no alimentador da impressora para ter as páginas pares impressas no lado oposto. Eles podem então ser dobrados para criar um panfleto.
O KDEPrint contém um módulo para o CUPS. O CUPS, o “Sistema de Impressão UNIX® Comum” (http://www.cups.org/). é o mais avançado, poderoso e flexível de todos os sub-sistemas de impressão para UNIX® e outros sitemas operacionais estilo UNIX®. Ele ainda é relativamente novo, mas é baseado no IPP, o Protocolo de Impressão para Internet, o novo padrão emergente para o futuro da impressão em rede. O CUPS é claramente o sistema de impressão escolhido por Michael Goffioul, o principal desenvolvedor do KDEPrint.
Usuários experientes do KDE podem já estar familiarizados com os utilitários criados por Michael conhecidos como qtcups e kups (co-desenvolvido com Jean-Eric Cuendet). Eles eram, até agora, os frontends gráficos GUI para o CUPS com forte relação com o KDE.
Ambos os utilitários são ainda largamente usados. Para aqueles que não o conhecem, aqui está uma rápida explanação.
O qtcups era um frontend gráfico para os comandos de impressão lp ou lpr instalados pelo CUPS. Usa-se o qtcups abrindo-se um diálogo. Este diálogo permite-lhe selecionar confortavelmente sua impressora e opções para o trabalho de impressão. O qtcups trabalhava a partir da linha de comando, o de seus aplicativos, quando o aplicativo em questão possui um comando de impressão configurável.
O kups era uma camada gráfica para realizar as tarefas administrativas no seu servidor CUPS, e o serviço CUPS no coração dele. Você podia adicionar, excluir, modificar, configurar, iniciar, e parar impressoras. Você podia cancelar, excluir, mover, parar e reiniciar trabalhos de impressão, e você podia mudar as configurações do serviço, iniciar, parar, e reiniciá-lo.
O Módulo CUPS no KDEPrint agora contém todas (e mais) funções que eram fornecidas pelo qtcups e kups nas versões anteriores do KDE.
Em vez do qtcups, você poderá agora usar o comando kprinter e, em vez do kups, irá usar provavelmente o kcmshell printers, a partir de agora.
O módulo do KDEPrint para o CUPS também permite-lhe administração completa do sub-sistema de impressão, semelhante ao que o kups fazia antes. Ele pode iniciar, parar e configurar seu serviço CUPS. Ele pode também iniciar, parar, adicionar e excluir “impressoras” (isto é filas de impressão) e “instâncias” de impressoras. Instâncias de impressora são filas de impressão que apontam para o mesmo dispositivo de saída mas com uma configuração de opções de impressão diferente.
O módulo CUPS do KDEPrint fornece-lhe acesso ao “comando gráfico de impressão”, de maneira semelhante ao que o qtcups fazia antes.
Use o kprinter em qualquer aplicativo, seja ele ou não um aplicativo KDE, que lhe permite configurar seu comando de impressão. Exemplos destes aplicativos são Netscape®, e o StarOffice, mas não a maioria dos programas de KDE anteriores à versão 2.2.
Uma captura de tela de como usar o novo comando de impressão kprinter ao invés do antigo lpr... É claro que você precisa ter o kprinter em seu $PATH
, ou fornecer o caminho completo no diálogo; por exemplo
. Netscape® se lembrará deste comando para os trabalhos de impressão posteriores e você obterá o diálogo do kprinter para configurar suas saídas de impressão./opt/kde/bin/kprinter
Você também pode usar o kprinter a partir da linha de comando e ver a caixa de diálogo resultante aparecer:
Apenas certifique-se de fornecer pelo menos o arquivo a ser impresso a partir da linha de comando como a seguir: kprinter
. Isto enviará o Manual do Administrador do Software CUPS para o diálogo kprinter, que então aparecerá com a impressora padrão pré-selecionada./usr/share/doc/packages/cups/sam.pdf
Para pré-selecionar uma impressora específica a partir da linha de comando, use a opção -d
, por exemplo kprinter
. Você pode ainda de-selecionar a impressora -d DANKAcolorC2000
/home/kurt/linuxtag2001-paper.ps
DANKAcolorC2000
e escolher uma diferente.
Você não pode, no entanto, chamar o kprinter
sem um arquivo de impressão e esperar para abrir um arquivo a partir da caixa de diálogo de seleção na janela do kprinter. Este é um recurso que será implementado somente na próxima versão.
Usando o kprinter você será capaz de “tocar todos os sinos e soar todos assobios” de sua impressora. Você precisará de um dispositivo específico chamado PPD (Descrição de Impressora PostScript®) para possibilitar ao CUPS tornar isto fácil para você. Leia mais sobre isso em “Opções de Impressão Dependentes do Dispositivo”.
O que você tem agora é a primeira, mas já com rica em recursos, versão do KDEPrint. Esta versão, é claro, é totalmente utilizável para impressão. Você pode mesmo pensar que “isto nunca foi tão fácil” (não precisarei retornar aos dias em que você tinha que usar o Microsoft® Windows®).
No futuro, o KDEPrint virá ainda melhor. Ele irá fazer um trabalho melhor de “detecção” do seu sub-sistema de impressão instalado automaticamente. O KDEPrint já faz um belo trabalho na detecção automática se você possui o CUPS em seu sistema. Mas em muitos casos você terá que dizer ao KDEPrint o que você está usando, se você desejar manter um sistema de impressão legado.
A mais importante melhoria num futuro próximo será o término do plugin do LPRng. Na versão atual ele ainda é muito simples. Ele se restringe somente ao clássico LPD do LPRng.
Você será capaz também de adicionar impressoras diretamente do diálogo de impressão para seu sistema “em tempo real”, sem ir para o KControl primeiro.
Algumas pequenas melhorias que já estão planejadas são:
adicionar um diálogo de seleção de arquivo à janela do kprinter para permitir a combinação de arquivos adicionais ao trabalho de impressão atual
adicionar um botão de “histórico” à janela do KJobViewer e também uma coluna para mostrar o número de páginas calculado pelo CUPS para o trabalho.
Finalmente, haverá um “IO slave” que lhe permitirá acessar seu sub-sistema de impressão, via Konqueror, por exemplo. Com isto você será capaz de navegar no seu sub-sistema de impressão a partir do Konqueror através de uma URL como um atalho como print://printers/printername
. Um KPart adicionará uma pasta virtual à seção de serviços do painel de navegação do Konqueror, fornecendo um bom modo integrado para navegar e gerenciar seu sistema de impressão através da URL print:/manager
.
Por favor, contate Michael Goffioul em (kdeprint AT swing.be)
com quaisquer sugestões adicionais de usuário ou desenvolvedor.
Este capítulo tem o objetivo de fornecer um bit de embasamento teórico sobre impressão em geral, e sobre o CUPS especialmente. Se você não está interessado nisso, você pode pular para o próximo capítulo. Você terá chance de retornar a este capítulo quando desejar, porque algumas vezes você precisará de um conhecimento extra para resolver um problema prático.
A impressão é um dos mais complicados capítulos na tecnologia IT.
No início, cada desenvolvedor de um programa que fosse capaz de produzir saída impressa também tinha que escrever seus próprios drivers de impressora. Isto era um pouco complicado, porque programas diferentes possuem diferentes formatos de arquivo. Mesmo programas com o mesmo propósito, por exemplo: processadores de texto, freqüentemente não reconhecem os formatos de arquivo de outros programas. Não havia nenhuma interface comum para todas as impressoras, uma vez que os programadores freqüentemente inseriam suporte somente a alguns poucos modelos.
O surgimento de um novo dispositivo no mercado forçava aos autores do programa escreverem um novo driver se desejassem que seu programa suportasse a nova impressora. Também para os fabricantes, era impossível ter certeza de que seus dispositivos seriam suportados por qualquer programa conhecido no mudo (embora houvessem bem menos programas do que hoje).
Dar suporte em dez programas de aplicativos à uma dúzia de impressoras, significava que o administrador de sistema teria que programar 120 drivers. Logo o desenvolvimento de interfaces unificadas entre os programas e impressoras tornou-se uma necessidade urgente.
O surgimento de “Linguagens de Descrição de Página”, descrevendo a representação gráfica da tinta e toner nas folhas de papel (ou em outros dispositivos, como monitores, plotadoras fotográficas, etc) de uma maneira unificada, já serviu para preencher uma grande lacuna.
Um destes desenvolvimentos foi o PostScript® da Adobe. Isto significava que um programador de aplicativo podia se concentrar em fazer com que seu programa gerasse uma descrição em linguagem PostScript® de sua página imprimível, enquanto desenvolvedores de dispositivos de impressão poderiam focar-se em tornar seus dispositivos literalmente PostScript®.
É claro, ao longo do tempo, surgiram o desenvolvimento de outros métodos de descrição. Os mais importantes competidores do PostScript® eram o PCL (“Linguagem de Controle de Impressão”, da Hewlett-Packard®), o “ESC/P” (da Epson) e o GDI (“Interface de Dispositivo Gráfico” da Microsoft®).
O surgimento destas linguagens de descrição de página tornou a vida mais fácil, e facilitou o desenvolvimento futuro para todos. No entanto, o fato destas linguagens de descrição de páginas competidoras permanecerem diferentes e incompatíveis, torna a vida de usuários, administradores, desenvolvedores e fabricantes difícil o suficiente.
O PostScript® é a mais pesadamente usada em ambientes de impressão profissional, como Pré-Impressão e indústrias de serviços de impressão.No mundo UNIX® e Linux®, o PostScript® é o padrão predominante como o PDL. Aqui, praticamente todo programa gera uma representação PostScript® de suas páginas assim que você pressiona o botão “Imprimir”. Vamos dar uma olhada num exemplo simples de código PostScript® (feito à mão). A seguinte listagem descreve dois desenhos simples:
Exemplo 4.1. Código PostScript®
%!PS 100 100 moveto 0 50 rlineto 50 0 rlineto 0 -50 rlineto closepath .7 setgray fill % first box over; next 160 100 moveto 0 60 rlineto 45 10 rlineto 0 -40 rlineto closepath .2 setgray fill
Isto diz para a “caneta” imaginária do PostScript® desenhar uma linha de uma determinada forma, e então preenchê-la com diferentes tons de cinza. A primeira parte traduzida para um Português compreensível diz “Vá para coordenada (100,100), desenhe uma linha com 50 de comprimento para cima; e então um a partir dela para direita, então para baixo novamente, e finalmente feche esta forma. Agora preenche a forma com 70% de cinza escuro.”
É claro, o PostScript® pode ser muito mais complicado do que este simples exemplo. Ele é uma linguagem de programação completa com muitos operadores e funções diferentes. Você tanto escrever programas PostScript® para computar o valor de Pi, formatar um disco rígido ou escrever para um arquivo. A principal vantagem e força do PostScript® no entanto está na maneira de descrever a disposição de objetos gráficos numa página: ele pode também escalonar, espelhar, traduzir, transformar, rotacionar e distorcer tudo que você possa imaginar num pedaço de papel -- como letras em diferentes representações de fonte, figuras, formas, sombras, cores, linhas, pontos, quadriculados...
Um arquivo PostScript® é uma representação de uma ou mais páginas a serem impressas, de uma maneira relativamente abstrata. Preferencialmente, ele serve para descrever páginas de uma maneira independe de dispositivo. O PostScript® não é “visível” diretamente; ele somente reside no disco rígido e na RAM como uma representação codificada de futuras saídas de impressão.
O que você vê num pedaço de papel é quase sempre uma “imagem quadriculada”. Apesar de seu cérebro sugerir que seus olhos vêem uma linha: de uma boa ampliada na visão e você descobrirá milhares de pequenos pontos... (Um exemplo do contrário são linhas que foram desenhadas por “plotadoras”). E isto é a única coisa que as “máquinas de marcação” das impressoras de hoje podem colocar no papel: simples pontos de diferentes cores, tamanhos e resoluções, para criar uma “página de imagem” completa composta de diferentes padronagens de mapas de bits.
Impressoras diferentes precisam de uma imagem quadriculada preparada de modos diferentes. Pense num dispositivo de jato de tinta: dependendo de sua resolução, o número de cores usadas (um muito bom precisa de 7 cores diferentes, enquanto os mais baratos podem precisar somente de 3), o número de jatos disponíveis (algumas cabeças de impressão possuem mais de 100!) dispersando tinta simultaneamente, o “algoritmo de suavização” usado, e muitas outras coisas, o formato da quadriculação final e a ordem de transferência para o mecanismo de impressão é fortemente dependente do modelo exato usado.
No início da criação do “Serviço de Impressão Linear”, impressoras eram máquinas que martelavam linhas de texto ASCII mecanicamente por toda a mídia, dobrada como uma serpente de papel em zig-zag, puxado de uma caixa de formulário colocada embaixo da mesa... Que diferença para hoje!
Antes das imagens finais quadriculadas serem colocadas nas folhas de formulário contínuo, elas tinham que ser calculadas de algum modo a partir da representação abstrata do PostScript®. Este é um processo de computação muito intensivo. Ele é chamado de “Processo de Quadriculação da Imagem”, mais comumente “RIP”).
Com impressoras PostScript® o RIPiamento é responsabilidade do dispositivo propriamente dito. Você apenas envia o arquivo PostScript® para ele. O “Processador de Quadriculação de Imagem” (também chamado RIP) existente dentro da impressora é responsável (e especializado) por cumprir completamente e muito bem esta tarefa de interpretação das descrições de páginas PostScript® e colocar a imagem quadriculada no papel.
Pequenos dispositivos PostScript® possuem um RIP por hardware embutidos neles; ele é gravado em silício, num chip especial. Grandes impressoras profissionais freqüentemente possuem seus RIP implementados como um RIP por software executado dentro de um computador UNIX® rápido, freqüentemente um Sun SPARC Solaris ou uma máquina SGI™ IRIX®.
Mas o que acontece se você não tem a sorte suficiente de possuir uma impressora PostScript® disponível?
Você precisa fazer o RIPiamento antes de enviar os dados de impressão para o mecanismo de impressão. Você precisa adequar o PostScript® gerado por seu aplicativo na máquina cliente (a impressora cliente) propriamente dita. Você precisa saber como o formato quadriculado exato do mecanismo de impressão da impressora destino deve ser composto.
Em outras palavras, como você não pode delegar para a impressora o trabalho de compreensão e interpretação do PostScript® por si só, a impressão se torna um pouco mais complicada. Você precisa de um software que tente resolver para você os processos envolvidos.
Isto é exatamente o que o onipresente pacote do ghostscript está fazendo para muitas distribuições Linux®, *BSD e outros UNIX® que precisam imprimir para impressoras não-PostScript®: o ghostscript é um interpretador PostScript®, um software de RIP capaz de funcionar com muitos dispositivos diferentes.
Para produzir um mapa de bits quadriculado de uma entrada PostScript®, o conceito de “filtros” é usado pelo ghostscript. Existem muitos filtros diferentes no ghostscript, alguns deles especializados para um determinado modelo de impressora. Filtros do ghostscript especializados em dispositivos freqüentemente são desenvolvidos sem a permissão ou suporte do respectivo fabricante. Sem acesso às especificações e documentação, isto se torna um processo extremamente difícil de engenharia reversa de protocolos e formatos de dados.
Nem todos os filtros do ghostscript funcionam tão bem em suas impressoras. Por outro lado, alguns dos novos, como o Filtro stp do projeto de Impressão do Gimp, produzem excelentes resultados com qualidade fotográfica semelhantes ou superiores aos drivers desenvolvidos para o Microsoft® Windows®.
O PostScript® é o que a maioria dos programas aplicativos produzem para impressão no UNIX® e Linux®. Filtros são o grande cavalo de batalha de qualquer sistema de impressão aqui. Essencialmente eles produzem mapas de bits corretos a partir de qualquer entrada PostScript® para mecanismos de impressão não-PostScript®.
O CUPS usa seus próprios filtros, embora o sistema de filtragem seja baseado no Ghostscript. Os filtros chamados pstoraster e imagetoraster são derivados diretamente do código do Ghostscript, O CUPS reorganizou e melhorou todos os mecanismos do código original e organizou-o em alguns poucos módulos compactos e distintos.
O próximo desenho (feito com a ajuda do Kivio) fornece uma visão geral dos filtros e backends existentes no CUPS e como eles trabalham juntos. O “fluxo” é de cima para baixo. Backends são filtros especiais: eles não convertem dados para um formato diferente, mas eles enviam os arquivos prontos para a impressora. Existem backends diferentes para diferentes protocolos de transferência.
Ao lado da parte pesada da tarefa de filtragem para gerar um mapa de bits pronto para impressão, qualquer software de impressão precisa usar o mecanismo de fila de impressão: este é o que organiza os diferentes trabalhos de diferentes usuários para diferentes impressoras e diferentes filtros e envia-os de acordo com seus destinos. O serviço de impressão toma conta de tudo isso.
Este serviço é que mantém a casa em ordem: ele também é responsável pelo controle do trabalho: usuários devem poder cancelar, parar, reiniciar, etc seus trabalhos (mas não trabalhos de outras pessoas) e assim por diante.
Agora que você sabe como um arquivo em linguagem PostScript® (que descreve a disposição da página de uma maneira independente de dispositivo) é transformado numa Imagem Quadriculada, você deve se estar perguntando: “Bem, existem diferentes tipos de dispositivos de saída de quadriculação: primeiro eles diferem em sua resolução; então eles possuem tamanhos de papel diferentes; eles vem com muitas opções de acabamento (impressão em frente e verso, panfletos, saída perfurada e grampeada com diferentes folhas de papel colorido sendo alimentadas a partir de diferentes bandejas, etc). Como fazer isto se adequar ao nosso modelo independente de dispositivo do PostScript®?”
A resposta vem com os chamados arquivos de Descrição de Impressora PostScript® (PPD). Um PPD descreve todos os recursos dependente do dispositivo que podem ser utilizados por um determinado modelo de impressora. Ele também contém os comandos código que devem ser usados para chamar determinados recursos do dispositivo. Ma os PPD não são um livro fechado, eles são simplesmente arquivos texto em ASCII.
Os PPDs foram “inventados” pela Adobe para tornar mais fácil para os fabricantes implementar seus próprios recursos em impressoras PostScript®, e ao mesmo tempo manter um modo padronizado de fazer isto. PPDs são muito bem documentados e descritos pela Adobe. Suas especificações são um padrão aberto de fato.
Lembre-se, a impressão avançada com PostScript® foi originalmente desenvolvida somente para uso com sistemas Microsoft® Windows® e Mac® da Apple. Por muito tempo, todos os melhores recursos de impressão dos dispositivos modernos estavam simplesmente inacessíveis aos usuários do Linux® e UNIX®. O CUPS mudou isto decisivamente. O CUPS intimamente ligado aos PPDs e deste modo PPDs existentes podem ser utilizados sem problemas com todos os sistemas que possuem o CUPS instalado.
Usando os PPDs os fabricantes de impressoras serão capazes de inserir recursos de hardware específicos em seus produtos, recursos como impressão em frente e verso, saídas grampeadas, saídas furadas, acabamento, etc. Os drivers de impressoras carregam este PPD apenas como um arquivo de configuração adicional. Assim o driver de impressora aprende sobre as opções disponíveis do dispositivo e como chamá-las; o driver também fornece uma GUI ao usuário. Através deste mecanismo você ainda será capaz de imprimir arquivos de linguagem de descrição de página PostScript® “independentes do dispositivo” e com as opções de acabamento específicas de cada dispositivo no topo, que serão adicionadas ao aplicativo gerador de PostScript®.
Os PPDs não foram originalmente rotinados em sistemas UNIX® e Linux®. Os vendedores nunca fornecem estes PPDs disponibilizando-os para qualquer outro Sistema Operacional diferente dos originalmente suportados: Microsoft® Windows® e Mac® OS. Como existe um brilhante movimento para o suporte completo e utilização da especificação PPD existente, o CUPS agora fornece o poder de usar todos os recursos das impressoras modernas aos usuários de sistemas Linux® e estilo Linux®. O KDEPrint torna este uso ainda mais confortável do que os desenvolvedores do CUPS jamais sonharam.
O CUPS pode usar PPDs originais do Windows®, distribuídos pelos vendedores no caso de impressoras PostScript®. Eles normalmente são grátis, e podem ser obtidos de qualquer computador Windows® com um driver PostScript® instalado para o respectivo modelo, ou dos discos fornecidos com a impressora. Existem também diversos lugares na web para baixá-los.
Agora você sabe como Impressoras-PostScript® podem usar PPDs. Mas e as impressoras não-PostScript®? O CUPS tem um truque muito bom: usando o mesmo formato e estrutura de dados das Descrições de Impressoras PostScript® (PPDs) do mundo PostScript®, ele pode também descrever opções de trabalho de impressão disponíveis para impressoras não-PostScript®, Para este propósito especial, o CUPS apenas adicionou algumas poucas opções especiais (como a linha que define o filtro a ser usado para posterior processamento do arquivo PostScript®).
Logo, os desenvolvedores podem usar o mesmo motor de software para procurar nos Arquivos de Descrição de Impressora por opções disponíveis para todo tipo de impressora. É claro que os desenvolvedores do CUPS não podem esperar que os fabricantes de hardware não-PostScript® de repente desenvolvam PPDs. Eles tem a dificuldade de iniciar, eles mesmos, e escrevê-los a partir do zero. Mais de 1000 destes arquivos estão disponíveis na versão comercial do CUPS, chamada ESP PrintPro.
Entretanto existem muitos PPDs específicos do CUPS disponíveis. Mesmo agora eles não são, na maioria dos casos, originários dos fabricantes de impressora, mas de desenvolvedores de software Livre. O CUPS os popularizou, e outros seguirão o caminho: onde o sistema de impressão no Linux® e UNIX® um ou dois anos atrás ainda era feito de quebra-galhos, hoje ele é capaz de suportar um grande número de impressoras, incluindo jatos de tinta com 7 cores capazes de impulsioná-lo à saída com Qualidade de Foto.
Você pode obter PPDs para serem usados com o CUPS e impressoras não-PostScript® de diferentes lugares na Web:
primeiro, existe o repositório em www.linuxprinting.org, que permite-lhe gerar um PPD-“CUPS-O-Matic” online para qualquer impressora que seja já suportada pelo pelo tradicional ghostscript. Isto lhe auxilia a mudar para o CUPS, com um mínimo de esforço, se você desejar. Se sua impressora funciona bem com o modo tradicional de impressão do ghostscript, use o CUPS-O-Matic para conectar seu driver ao sistema CUPS e você terá o melhor dos dois mundos.
em segundo, existem PPDs do CUPS para mais de 120 modelos de impressoras, que são suportados pelo novo driver universal stp. O stp (criado originalmente para a Stylus Photo) é agora desenvolvido pelo projeto de impressão do gimp; ele foi iniciado por Mike Sweet, o primeiro desenvolvedor do CUPS e agora está disponível através do gimp-print.sourceforge.net. Este driver imprime com qualidade real de Foto em muitas jatos de tinta modernas e pode ser configurado para criar 120 PPDs do CUPS durante sua própria compilação. HP® Laser- e Jato de Tinta, Epson® modelos Stylus e Photo Color bem como algumas Canon® e Lexmark® são suportadas.
em terceiro, existe a extensão comercial do CUPS a partir dos próprios desenvolvedores do CUPS: ela é chamada ESP PrintPro e vem com mais de 2.300 drivers de impressora. Existem também melhorias nos filtros imagetoraster e pstoraster incluídas.
O CUPS torna realmente fácil para os fabricantes iniciarem o suporte a impressão no Linux® e UNIX® para seus modelos por um custo razoavelmente baixo. O ambiente de trabalho modular do CUPS facilita adicionar qualquer filtro (=driver) com um mínimo de esforço e acessar e utilizar todo o ambiente de trabalho de impressão que o CUPS está criando.
Leia mais sobre os empolgantes recursos do CUPS na documentação do CUPS disponível em http://www.cups.org/documentation.html e http://www.danka.de/printpro/faq.html. Também em http://www.linuxprinting.org/ existe um repositório universal para todos os assuntos relacionados com impressão no Linux® e UNIX®.
Por muito tempo muitos desenvolvedores ficaram profundamente insatisfeitos com o bom e velho LPD. Alguns poucos novos projetos foram iniciados para melhorar a impressão: LPRng é o exemplo mais conhecido. Outros são o PDQ, PPR, PLP, GNUlpr e RLPR. Mas nenhum destes novos programas foram vistos com a “grande solução”; a maioria deles apenas implementavam a mesma e velha especificação LPD com pequenas (ou muitas) novas extensões, o que tornavam-nos incompatíveis uns com os outros.
Vendo o desenvolvimento de não apenas uma, mas diferentes alternativas viáveis ao venerável estilo BSD do LPD, GrandTaylor, autor doComo Fazer Impressão no Linux, finalmente juntou-se ao chamado LPD Deve Morrer! em sua “Campanha Para Abolir o Serviço de Impressão Linear”.
Junto com o acima, no lado industrial das coisas, existiram esforços no sentido de superar a bem conhecida fraqueza do LPD. Isto começou com extensões proprietárias para melhorar o antigo LPD, e prosseguiu até a tentativa da Hewlett-Packard® de estabelecer o JetDirect HP® como um novo padrão para protocolo de impressão em rede. O resultado foi cada vez mais incompatibilidades.
No final, uma iniciativa definiu um novo padrão industrial e o padrão IETF tomou forma. O “Grupo de Trabalho de Impressão” ou PWG, uma agregação aberta de vendedores de hardware, software e sistemas operacionais, rascunhou o no “Protocolo de Impressão para Internet”, IPP. O IPP v1.1 foi agora aprovado pelo IETF (Força-Tarefa de Engenharia da Internet) como um padrão proposto, e agora conta com o suporte da unanimidade das indústrias na Europa, EUA e Japão. A maioria dos modelos de impressora de rede atuais agora possuem suporte embutido ao IPP ao contrário do tradicional LPR/LPD ou Impressão JetDirect.
O IPP promete resolver muitos dos problemas que os administradores de rede têm. Este trabalho normalmente lida com ambientes de rede heterogêneos e gasta mais da metade de suas horas de trabalho lidando com problemas de impressão.
Com a criação de um conjunto unificado de funções de consulta para que o IPP possa habilitar impressoras e servidores, transferir arquivos e configurar atributos de controle de trabalho, etc, o IPP está destinado a trabalhar com qualquer plataforma do SO. Isto no entanto não acontecerá do dia para a noite, uma vez que muitos dispositivos de impressão legados ainda estarão em uso por muitos anos ainda. Contudo, no IPP existe uma previsão de criar compatibilidade retroativa de todas as implementações do IPP. O CUPS está fornecendo a possibilidade de impressão IPP em todos os ambientes.
A vantagem mais determinante será sua integração com o conjunto existente de outros robustos protocolos IP. Sendo uma extensão do comprovado e robusto protocolo HTTP 1.1, para a tarefa especial de manipular um arquivo de impressão e dados relacionados, é também muito fácil conectá-lo a outros padrões conforme eles se desenvolvam e se disseminem:
Autenticação Básica, Sumária e Certificada para usuários que busquem o acesso à serviços de impressão.
Criptografia SSL3 e TLS para transferência de dados.
Comunicação bi-direcional dos clientes com os dispositivos de impressão, usando o mecanismo HTTP/IPP GET e POST
Integração com o serviço de diretório LDAP para manter um banco de dados consistente das impressoras disponíveis, suas capacidades e custos de página, etc, bem como senhas de usuário, ACLs, etc.
Impressão “Puxada” (ao contrário do usual modelo “Empurrada”), onde um servidor ou impressora apenas precisa dizer a URL de um documento, de onde ele é obtido a partir de um recurso na internet, e imprimir.
Você já viu uma demonstração das possibilidades do CUPS numa rede? Você deve ter ficado bem impressionado se você não sabia exatamente o que esperar.
Imagine você como administrador de uma “LAN”. Para fins de teste você instalou uma distribuição KDE/CUPS numa máquina da sua rede, completando com uma dúzia de impressoras configuradas e funcionais: PostScript®, Laser, Jatos de Tinta, Bolhas de Tinta, e outras. Seus usuários do KDE desta distribuição estão muito contentes, pois eles podem imprimir como nunca antes, “tocando todos os sinos e assobios” de cada impressora. Você gastou 2 horas para fazer tudo funcionar perfeitamente... e agora todos os outros 100 usuários da rede querem o mesmo. Duas horas novamente para cada máquina? Impossível fazer isto antes do próximo ano, você pensa?
Errado. Apenas mude uma configuração na máquina onde o CUPS foi originalmente instalado para torná-la um “servidor”. Instale o CUPS em cinco outras máquinas, como “clientes”. Ao retornar ao seu primeiro cliente, você encontra usuários alegremente brincando com as configurações para as doze impressoras que você tinha definido anteriormente no “servidor”. De algum modo magicamente as impressoras apareceram nos diálogos “Imprimir” das cinco novas máquinas clientes do CUPS.
Seus usuários imprimem, mas nenhum driver foi instalado nos clientes, nenhuma fila de impressão definida.
Ora, como esta mágica funciona?
A resposta para isso não é nem um pouco complicada.
Se um servidor CUPS estiver na LAN, ele procura pelos nomes de todas as impressoras disponíveis na LAN, usando o protocolo UDP e porta 631. A porta 631 é reservada como uma “porta conhecida” pela IANA (a “Autoridade para Atribuição de Números na Internet”) para utilização pelo IPP. Todos os clientes CUPS ouvem as informações do servidor CUPS enviadas para sua porta 631. Deste modo eles tomam conhecimento das impressoras disponíveis, e deste modo eles obtém o “caminho” para as impressoras também.
Usando o IPP, que é realmente uma inteligente extensão do HTTP v1.1, o CUPS é capaz de endereçar todos os objetos relacionados ao sistema de impressão através de “Localizadores de Recurso Universal” ou URLs. Trabalhos de impressão são excluídos ou reiniciados, impressoras são consultadas ou modificadas, tarefas de administração são realizadas no servidor, com o IPP e o CUPS, tudo é endereçável através de determinadas URL. Muitas coisas importantes podem ser feitas através da interface web do CUPS, acessível por exemplo com o Konqueror.
E mais, os clientes basicamente podem “administrar” e “usar” qualquer impressora que verem, da mesma maneira que fariam com elas instaladas localmente. É claro, você pode configurar restrições através de listas de controle de acesso, etc, de modo que nem todo cliente possa usar toda impressora como desejar.
Os clientes podem até mesmo ser capazes de imprimir sem o filtro (ou driver) apropriado instalado localmente.
Como isto funciona? Se um cliente deseja saber como e selecionar opções específicas da impressora, ele envia uma solicitação (chamada CUPS-get-ppd) ao servidor. O servidor passa para o cliente tudo sobre todas as opções específicas da impressora, conforme lido no PPD existente no lado servidor. O usuário no lado cliente pode ver as opções e selecionar as que desejar. Ele então envia o arquivo a ser impresso, normalmente um “raw” PostScript® sem filtragem, juntamente com as opções de impressão para o servidor de impressão, usando o IPP como protocolo de transporte. Todo processamento posterior, especialmente a filtragem para gerar o formato final para a impressora destino, é então feito pelo servidor. O servidor deve ter os programas necessários (“drivers” ou “filtros”) para fazer isto.
Deste modo um cliente imprime sem precisar instalar um driver localmente.
Qualquer mudança no servidor, como a adição ou modificação de uma impressora, é instantaneamente “conhecida” pelos clientes sem nenhuma configuração posterior necessária.
Alguns outros recursos avançados existentes no CUPS são capazes de fazer o “balanceamento da carga”.
Se você definir a mesma fila de impressão em dois ou mais servidores diferentes, os clientes enviarão seus trabalhos para o primeiro que responder ou servidor disponível. Isto implica num balanceamento automático da carga nos servidores. Se você tiver que desligar um servidor da rede para manutenção os outros receberão suas tarefas sem que os usuários percebam alguma diferença.
Este capítulo do Manual do KDEPrint irá levá-lo através da maior parte parte da configuração ou das opções de seleção do KDEPrint. Ele tratará principalmente do CUPS nesta versão, em razão de autor ter mais familiaridade com ele e também porque o KDEPrint inicializa-se melhor com o suporte ao CUPS. Versões posteriores do software KDEPrint e as edições deste manual suportarão e explorarão outros sistemas de impressão mais detalhadamente.
Você precisa definir o seu subsistema de impressão antes de estar apto a instalar qualquer impressora com o KDEPrint. Há duas áreas onde você pode definir isso: ou através do KControl (A seção Gerenciamento de Impressão), ou diretamente e “na mosca” no diálogo da impressora.
Navegue por ->->->. Em cima, você pode ver um botão que o deixa selecionar qual subsistema de impressão deseja usar. No KDE 2.2 pode-se escolher uma das seguintes alternativas:
CUPS ("Common UNIX® Printing System")
Imprimir através de um programa externo (genérico)
LPR (Sistema de Impressão BSD Padrão)
Sistema de impressão genérico UNIX® LPD (o padrão)
Ambiente RLPR (impressão por servidor remoto LPD por linha de comando)
É claro que o sistema escolhido deve estar instalado, levantado e rondando em sua máquina antes de sua seleção ou antes de ser levado a feito.
Em sua primeira inicialização, o KDEPrint tentará uma autodetecção. Isto funciona apenas para:
CUPS, que, primeiro, verifica se há um "daemon" CUPS rodando.
LPD, que verifica se há um "daemon" LPD rodando, mais um arquivo printcap
.
O sistema que você escolheu deve estar instalado em sua máquina antes de sua seleção. A recomendação pessoal do autor é o CUPS.
Uma vez autodetectado, escolhido ou modificado, o subsistema ativo de impressão irá passar a ter efeito em todas as aplicações do KDE. Usuários diferentes podem ter diferentes subsistemas de impressão em uso, se eles existirem no computador e forem compatíveis uns com os outros. Suas configurações são armazenadas em kdeprintrc
. Este arquivo é exclusivo de cada usuário e normalmente está instalado em $
.HOME
/.kde/share/config/kdeprintrc
Este arquivo não deve ser editado diretamente, vez que todas as opções podem ser alternadas na GUI do KDEPrint.
Você pode sempre selecionar um subsistema de impressão diferente, instantaneamente, pela caixa de diálogo do kprinter.
Uma vez que você tenha escolhido e instalado seu subsistema de impressão preferido, você está pronto para investigar, configurarar, administrar e trabalhar com este sistema através da área de trabalho do KDEPrint.
Navegue para ->->->. Na parte direita da janela você verá, pelo menos, 4 impressoras pré-definidas. Estas são as impressoras virtuais ou com finalidades especiais, explicadas na seção. Você provavelmente verá uma barra de ferramentas com 13 ícones no topo da janela e, pelo menos, 4 abas no parte de baixo da janela, denominadas Informações, Trabalhos, Propriedades e Exemplos.
Inicie a configuração do servidor de impressão (agora que você escolheu o CUPS, isto é equivalente a configuração do serviço CUPS) clicando no botão apropriado. Você pode encontrá-lo movendo o mouse vagarosamente sobre os botões e lendo as dicas. Ele deve ser o 11o da esquerda, ou o terceiro da direita, e seu ícone é uma chave inglesa.
A janela de Configuração do Servidor CUPS surge na tela. Ela fornece uma visão estruturada de todas as configurações que se aplicam ao serviço CUPS. O arquivo de configuração para o serviço está localizado normalmente em /etc/cups/cupsd.conf
. Ele é um arquivo ASCII com uma sintaxe similar ao arquivo de configuração do servidor web Apache. É uma boa idéia criar uma cópia de segurança, apenas para o caso em que algo dê errado com a configuração através dos diálogos do KDEPrint/CUPS:
cp /etc/cups/cupsd.conf
/etc/cups/cupsd.conf.bak
Como essa interface gráfica do usuário para a edição do arquivo de configuração é um recurso novo, você pode ter uma segunda chance de recuperar o arquivo original. Então, por favor, crie a cópia.
Um recurso muito bom é a “Ajuda Rápida” disponível. Se você clicar no pequeno ponto de interrogação (O Que é Isso?) na barra de títulos da janela, você verá o cursor mudando de forma. Agora clique sobre um campo de configuração do cupsd para saber o que ele significa e quais são as suas opções. Na maioria dos casos, você deverá compreender o significado imediatamente, caso contrário, dirija-se para a excelente documentação do CUPS (se o serviço CUPS estiver rodando, você pode obtê-la on-line em sua própria máquina, em http://localhost:631/documentation.html).
Se o CUPS não estiver rodando mas estiver em seu sistema, você pode encontrá-lo no sistema de arquivos de sua própria máquina. A localização exata depende do seu SO, mas no Linux® o padrão é /usr/share/doc/cups/
ou /usr/share/doc/cups/documentation.html
.
Para informações melhores, mais recentes e mais detalhadas, você sempre deve dirigir-se à documentação original do CUPS. O CUPS está, muito mais rápido que o KDE, em um processo rápido de desenvolvimento. Existem constantemente novos recursos sendo adicionados, e eles algumas vezes pode ser somente configurados diretamente nos arquivos de configuração. A interface do KDEPrint pode não ser equiparada com o desenvolvimento do CUPS.
No caso de você querer olhar os arquivos originais de configuração do seu sistema CUPS - aqui estão:
Estes caminhos são baseados na instalação padrão, e seu SO pode tê-los instalado em um prefixo diferente, como por exemplo /usr/local/
, mas a hierarquia deve ainda combinar com o mostrado abaixo.
/etc/cups/
A pasta com os arquivos de configuração
/etc/cups/cupsd.conf
O arquivo de configuração para o serviço CUPS
/etc/cups/printers.conf
O arquivo que contém informações sobre suas impressoras localmente instaladas.
/etc/cups/ppd/
A pasta com os arquivos PPD de suas impressoras instaladas.
Os links a seguir funcionam somente se o seu serviço CUPS estiver ativo e sendo executado. Para acessar toda a documentação original do CUPS, vá para:
Uma página com todos os links para outros documentos.
O acesso direto para o Manual do Administrador do CUPS, no formato HTML .
O acesso direto para o Manual do Administrador do CUPS, no formato PDF.
A última documentação on-line do site do CUPS
Os seguintes links fornecem acesso para os mesmos arquivos (provavelmente ícones e gráficos estarão faltando), mesmo se o seu servidor CUPS não estiver rodando. Você precisa, no entanto, que o CUPS esteja instalado em seu sistema (algumas distribuições podem colocar os arquivos em outro lugar - você está sozinho para procurar ....). Para acessar a documentação original do CUPS, vá para:
Esta documentação está disponível mesmo quando o serviço CUPS estiver instalado, embora você possa encontrar imagens e ícones que estiverem faltando quando você ver os arquivos HTML.
Como observado acima, a hierarquia abaixo deve estar intacta, mas o seu SO pode ter instalado o CUPS em uma localização diferente.
/usr/share/doc/cups/documentation.html
Uma página com todos os links para outros documentos.
/usr/share/doc/cups/sam.html
O acesso direto para o Manual do Administrador do CUPS, no formato HTML .
/usr/share/doc/cups/sam.pdf
O acesso direto para o Manual do Administrador do CUPS, no formato PDF.
Existem alguns poucos Sites e Grupos de Discussão sobre o CUPS (e Impressão no Linux® de um modo Geral) e fornecer ajuda para iniciantes em:
O Site do CUPS.
LinuxPrinting.org, o local do Linuxprinting HOWTO (Documento Como Fazer de Impressão) e da Base de Dados de Impressoras no Linux®
E finalmente, existe um site para o KDEPrint e documentações relacionadas em http://kdeprint.sourceforge.net/
Na próxima seção serão mostradas a maioria das opções de configuração do KDEPrint com o CUPS.
Esta seção ainda não está completa
Visão em árvore, ícone e lista
Os ícones da barra de tarefas
Fontes diferentes para impressoras diferentes
Ícones diferentes significa coisa diferentes
Esta é a Tela de Saudação para os diálogos de configuração do servidor. Clicar em um dos ítens da visão de árvore na lateral esquerda da tela abre o componente apropriado das preferências de configuração.
Cada configuração possui um valor padrão. Os padrões normalmente deixam o CUPS trabalhar como um cliente inteiramente funcional. Os clientes escutam a Porta TCP/IP 631 para difusão de informações pelos servidores CUPS em uma rede. Esta informação deixa os clientes imprimirem imediatamente após receber os trabalhos, sem instalar qualquer driver ou configurar qualquer impressora nos clientes.
Para configurar o servidor CUPS (que difunde seu serviço para a LAN), você precisa modificar as configurações padrão.
O diálogo para configurar o servidor CUPS: tela de saudação.
O diálogo para configurar o servidor CUPS: tela de saudação.
Para selecionar a configuração padrão de qualquer ítem, basta habilitar a caixa de verificação no lado direito da tela. Para definir um ítem para um valor diferente, desabilite a caixa e então faça a configuração que deseja no lado esquerdo da tela.
A configuração completa do servidor inclui:
Configuração de Suporte a Certificado e a Criptografia do Servidor
Configuração Geral da Rede
Cada um destes ítens de configuração será descrito nas seções seguintes do manual.
A configuração geral do servidor é feita nesta tela. Ela inclui:
Nome do servidor
E-mail dos administradores
Usuário do servidor
Grupo do servidor
Nome do usuário remoto
A aba para configurar as preferências gerais do servidor CUPS deixa você modificar os valores padrão. Clique no pequeno ponto de interrogação e então vá até um dos campos para obter uma “Ajuda Rápida” sobre o significado da configuração.
Se você não estiver certo, deixe em branco e volte para a documentação original do CUPS primeiro. Se o serviço já estiver rodando, a ajuda pode ser lida do Konqueror apontando para a URL http://localhost:631/documentation.html.
Ali, primeiramente “faça amizade” com o Manual do Administrador do Software. Caso contrário, ou seja, se o serviço CUPS não estiver rodando, tente procurar em seu sistema de arquivos local, por padrão em /usr/share/doc/cups/
ou /usr/share/doc/cups/documentation.html
.
O nome da máquina de seu servidor, como é conhecido para o mundo. Por padrão, o CUPS usará o nome da máquina do sistema. Para configurar o servidor padrão usado pelos clientes, veja o arquivo client.conf
.
Por exemplo, digite minhamaquina.domínio.com
Este é o nome da máquina que é reportado para os clientes, e se mesmo assim você encontrar problemas estranhos ao acessar o servidor, coloque aqui o seu endereço IP. Desta maneira, você elimina qualquer problema de resolução de nomes em potencial, e pode mais facilmente verificar qual o problema real.
Este é o endereço de e-mail para envio de todas os problemas ou objeções. Por padrão, o CUPS usará “root@nomemáquina”.
Por exemplo, digite root@suamáquina.com
.
Ao contrário do que a ajuda rápida sugere, é legal também enviar um e-mail cheio de entusiasmo sobre o CUPS e o KDEPrint para o administrador do sistema.
O usuário sob qual o servidor roda. Normalmente deve ser lp
, mas você pode configurar as coisas para outro usuário, se necessário.
O servidor deve iniciado primeiramente como root, para suportar a porta IPP padrão em 631. Ele modifica os usuários mesmo quando um programa externo estiver rodando.
Exemplo: lp
.
Esta é a conta de usuário UNIX® que irá executar filtros e programas CGI - estes programas são responsáveis por mostrar uma boa interface de administração web, disponível em http://localhost:631/.
Não há necessidade de configurar a diretiva User para o root
, e portanto, nunca faça isso, pois isso somente envolve perigos. Alguém pode descobrir vulnerabilidades de segurança em um dos filtros de arquivo usados, drivers de impressora ou programas CGI, e pode executar remotamente comandos arbitrários em seu sistema, com privilégios de root. Sempre use uma conta sem privilégios para a diretiva User do servidor.
O grupo sob o qual o servidor roda. Normalmente deve ser sys
, mas você pode configurar coisas com outro grupo, se necessário.
Exemplo: sys
.
O nome do usuário atribuído para acessos sem autenticação de sistemas remotos. Por padrão é remroot
.
Este nome aparecerá em arquivos de registro e consultas, como o proprietário do trabalho etc, para todos os recursos e localizações do servidor CUPS que são configurados para permitir acesso sem autenticação. As entradas autenticadas procuram os nomes autenticados.
A configuração de registro do servidor é feita nesta tela. Ela inclui:
Configuração Arquivo de Registro de Acesso
Configuração Arquivo de Registro de Erro
Configuração do arquivo de Registro de Página
Configuração do Nível de Registro
Configuração do Tamanho Máx. do Arquivo de Registro
Esta é uma tela importante para você. Se você encontrar problemas, aqui é o local onde ajustar o Nível de registro para “Depuração”, reiniciar o servidor CUPS e então olhar o arquivo de registro de erros, definido aqui para entradas que podem fornecer a você algo sobre o problema.
Aqui é onde se acessa os registros do servidor. Se isto não iniciar com um caractere /
, então assume-se que é relativo à raiz do servidor.
Você pode usar também o nome especial syslog
, para enviar a saída para o arquivo ou serviço syslog (registro do sistema).
Por exemplo:
./var/log/cups/acces_log
O formato deste arquivo é armazenado no chamado “Common Log Format” ou formato comum de registro. Desta maneira, você pode usar programas, tais como o Webalyzer ou qualquer outra ferramenta de relatório de acessos web, para gerar relatórios sobre as atividades do servidor CUPS.
Para incluir o nome do servidor no nome do arquivo, use um %s no nome. Exemplo:
./var/log/cups/access_log-%s
kurt@transmeta:~ >
tail
/var/log/cups/access_log
127.0.0.1 - - [04/Aug/2003:20:11:39 +0100] "POST /printers/ HTTP/1.1" 200 109 127.0.0.1 - - [04/Aug/2003:20:11:39 +0100] "POST /admin/ HTTP/1.1" 401 0 127.0.0.1 - - [04/Aug/2003:20:11:39 +0100] "POST / HTTP/1.1" 200 210 127.0.0.1 - - [04/Aug/2003:20:11:39 +0100] "GET /ppd/DANKA_P450.ppd HTTP/1.1" 200 51021 127.0.0.1 - - [04/Aug/2003:20:11:39 +0100] "POST /jobs/ HTTP/1.1" 200 246 10.160.16.45 - - [04/Aug/2003:20:11:39 +0100] "GET /printers/DANKA_P450 HTTP/1.0" 200 0 127.0.0.1 - - [04/Aug/2003:20:11:39 +0100] "POST / HTTP/1.1" 200 80 127.0.0.1 - - [04/Aug/2003:20:11:39 +0100] "POST / HTTP/1.1" 200 139 10.160.16.45 - - [04/Aug/2003:20:11:40 +0100] "GET /cups.css HTTP/1.0" 200 198 127.0.0.1 - - [04/Aug/2003:20:11:40 +0100] "POST / HTTP/1.1" 200 139 10.160.16.45 - - [04/Aug/2003:20:11:39 +0100] "GET /printers/DANKA_P450 HTTP/1.0" 200 7319 10.160.16.45 - - [04/Aug/2003:20:11:40 +0100] "GET /images/title-logo.gif HTTP/1.0" 200 5729
Você pode ver uma linha separada para cada acesso único, mostrando o endereço IP do cliente, a data e hora do acesso, o método de acesso (POST ou GET), o recurso requisitado, a versão HTTP usada pelo cliente, o código de status e o número de bytes transferidos. O código de status 200 significa successful-OK (sucesso), e o 401, no exemplo anterior, significa um acesso sem autorização que foi negado. Para uma explicação detalhada sobre o formato do registro, dirija-se ao Manual do Administrador do CUPS.
Se isto não iniciar com um caractere /
, então assume-se ser relativo a raiz do servidor. A configuração padrão é /var/log/cups/error_log
.
Você pode usar também o nome especial syslog
, para enviar a saída para o arquivo ou serviço syslog (registro do sistema).
Por exemplo:
./var/log/cups/error_log
O trecho do registro de erro abaixo mostra a você a parte registrada para a impressão da página de teste, com a configuração padrão de Log level (ou nível de registro) para “info”. Para mais informações sobre a opção Log Level veja a seguir.
kurt@transmeta:~ >
tail
/var/log/cups/error_log
I [04/Aug/2003:23:15:10 +0100] Job 213 queued on 'DANKA_P450' by 'root' I [04/Aug/2003:23:15:10 +0100] Started filter /usr/lib/cups/filter/pstops (PID 18891) for job 213. I [04/Aug/2003:23:15:10 +0100] Started backend /usr/lib/cups/backend/lpd (PID 18892) for job 213.
Se isto não iniciar com um caractere /
, então assume-se ser relativo a raiz do servidor. A configuração padrão é /var/log/cups/page_log
.
Você pode usar também o nome especial syslog
, para enviar a saída para o arquivo ou serviço syslog (registro do sistema).
Por exemplo:
./var/log/cups/page_log
O arquivo de registro de página possui uma linha para cada página de cada trabalho impresso.
Aqui está mostrado como algumas entradas se parecem:
kurt@transmeta:~ >
tail
/var/log/cups/page_log
GIMP_print_stp_HP kdetest 201 [03/Aug/2001:03:18:03 +0100] 4 1 GIMP_print_stp_HP kdetest 201 [03/Aug/2001:03:18:03 +0100] 5 1 GIMP_print_stp_HP kdetest 202 [03/Aug/2001:11:46:49 +0100] 1 1 GIMP_print_stp_HP kdetest 203 [03/Aug/2001:11:46:54 +0100] 1 1 DANKA_infotec_P450 kurt 204 [04/Aug/2001:03:29:00 +0100] 1 33 DANKA_infotec_P450 kurt 204 [04/Aug/2001:03:29:00 +0100] 2 33 DANKA_infotec_P450 kurt 204 [04/Aug/2001:03:29:00 +0100] 3 33 DANKA_infotec_P450 kurt 204 [04/Aug/2001:03:29:00 +0100] 4 33 DANKA_infotec_P450 root 205 [04/Aug/2001:19:12:34 +0100] 1 14 DANKA_infotec_P450 root 206 [04/Aug/2001:19:15:20 +0100] 1 1
Neste trecho do arquivo você encontra informações sobre o nome das impressoras(GIMP_print_stp_HP
e DANKA_infotec_P450
) usadas através deste servidor, os nomes de usuários (kdetest
, kurt
e root
), os IDs dos trabalhos (“201” até “205”), o tempo de impressão, o número da página no trabalho e o número de cópias por páginas. Por exemplo, o trabalho com ID 204 tem 4 páginas e 33 cópias impressas, e o trabalho com ID 205 tem 14 cópias de somente 1 página) .
O CUPS é dependente (para o seu cálculo de número de páginas em um trabalho) em passar o PostScript® pelo filtro “pstops”. Veja o o programa Kivio na arquitetura de filtro do CUPS para ter uma idéia sobre onde este filtro fica no processo de impressão. O pstops é usado para a conteagem em conformidade com DSC (DSC significa Convenções de Estruturação de Documento, um padrão definido pela Adobe), a ser enviado pelo cliente. Na maioria dos casos, isto funciona.
No entanto, esta contagem de página não funciona para todas as filas de impressão “brutas” (são aquelas, por definição, que não usam qualquer filtragem na máquina com CUPS, e passam pelo pstops). Cada trabalho indo através de uma fila “bruta” é contado como 1 página-trabalho (com a possibilidade de múltiplas cópias). Isto é especialmente verdade para todos os trabalhos enviados por clientes Microsoft® Windows® via Samba para o servidor CUPS, já que estes trabalhos já estão chegando no formato correto para a impressora, pois os clientes usam o driver original da impressora.
Eu ainda estou procurando por alguém que escreva uma boa ferramenta de análise de registro de página para o CUPS. Ela deveria gerar um relatório com saída gráfica, similar aos relatórios de registro de acesso do Webalizer. Desta maneira, você poderia ter boas estatísticas a serem usadas para contabilidade, sobre o uso de impressora, carga dependente da hora do dia ou do dia da semana, usuários, etc. Alguém interessado?
Esta configuração controla o número de mensagens registradas em um arquivo de registro de erro. Ela pode ser uma das seguintes opções:
Registra tudo.
Registra quase tudo.
Registra todas as requisições e mudanças de estado.
Registra erros e avisos.
Registra somente erros.
Não registra.
Se você precisar resolver algum problema (ou se deseja estudar o funcionamento interno do CUPS), configure o nível de registro para debug ou debug2, e então, o error_log terá muito mais entradas (não somente erros, mas também entradas com informação).
Você pode usar isto para assistir “ao vivo” o que o CUPS está fazendo quando está enviando uma impressão. Em um Konsole digite:
kurt@transmeta:~ >
tail
-f
-n
100
/var/log/cups/error_log
Isto fornecerá as últimas 100 linhas (-n
100
) do arquivo na tela, em uma atualização em “tempo real” (-f
) do que está acontecendo. A listagem a seguir mostra a impressão de uma página de teste (alguns pedaços foram cortados por razões de espaço ... tente sozinho se precisar de mais informações):
I [04/Aug/2003:23:15:12 +0100] Job 214 queued on 'DANKA_P450' by 'root'
D [04/Aug/2003:23:15:12 +0100] StartJob(214, 08426fe0)
D [04/Aug/2003:23:15:12 +0100] StartJob() id = 214, file = 0/1
D [04/Aug/2003:23:15:12 +0100] job-sheets=none,none
D [04/Aug/2003:23:15:12 +0100] banner_page = 0
D [04/Aug/2003:23:15:12 +0100] StartJob: argv = "DANKA_P450","214","root","KDE Print Test",
[....]
D [04/Aug/2003:23:15:12 +0100] StartJob: envp = "PATH=/usr/lib/cups/filter:/bin:/usr/bin", [....]
D [04/Aug/2003:23:15:12 +0100] StartJob: statusfds = 5, 6
D [04/Aug/2003:23:15:12 +0100] StartJob: filterfds[1] = 7, -1
D [04/Aug/2003:23:15:12 +0100] StartJob: filter = "/usr/lib/cups/filter/pstops"
D [04/Aug/2003:23:15:12 +0100] StartJob: filterfds[0] = 8, 9
D [04/Aug/2003:23:15:12 +0100] start_process("/usr/lib/cups/filter/pstops", [....]
I [04/Aug/2003:23:15:12 +0100] Started filter /usr/lib/cups/filter/pstops (PID 18991) for job 214.
D [04/Aug/2003:23:15:12 +0100] StartJob: backend = "/usr/lib/cups/backend/lpd"
D [04/Aug/2003:23:15:12 +0100] StartJob: filterfds[1] = -1, 7
D [04/Aug/2003:23:15:12 +0100] start_process("/usr/lib/cups/backend/lpd", [....]
I [04/Aug/2003:23:15:12 +0100] Started backend /usr/lib/cups/backend/lpd (PID 18992) for job 214.
D [04/Aug/2003:23:15:12 +0100] Page = 595x842; 15,16 to 580,833 [....]
As linhas com “D” no início são entradas no nível de depuração, e as marcadas com “I” são as do nível “info”.
Controla o tamanho máximo de cada arquivo de registro antes de estarem rotacionados. O padrão é 1048576 (1 MB). Ajuste isto para 0 para desabilitar a rotação de logs.
Digite um tamanho em bytes, como por exemplo 1048576
O diálogo para configurar o servidor CUPS. Pastas diferentes devem ser configurados aqui. Normalmente, você não precisa modificar nada nesta seção. No caso de você brincar com a aparência de fontes do sistema (TrueType, PostScript® ou outra), este é o lugar para fazer as configurações do uso de tais fontes para impressão. As configurações da pasta do servidor incluem:
Executáveis: onde encontrar os executáveis do servidor
Configuração: onde encontrar os arquivos de configuração do servidor
Dados: onde encontrar os arquivos de dados do servidor
Arquivos Temporários: onde colocar os arquivos de impressão temporários do servidor
Requisições Temporárias: onde encontrar o servidor
Caminho das Fontes: onde encontrar as fontes do servidor
A pasta raiz para os executáveis do agendador. Por padrão, este valor é /usr/lib/cups
(ou /usr/lib32/cups
no IRIX 6.5)
A pasta raiz para o agendador. Por padrão é /etc/cups
.
De acordo com os autores do SuSe, é o /usr/share/doc/cups
. Ele contém toda a documentação em HTML ou PDF para o CUPS, que está disponível através da interface web em http://localhost:631/documentation.html.
A pasta raiz para os arquivos de dados do CUPS. Por padrão é o /usr/share/cups
.
Ele contém coisas como banners, conjunto de caracteres, dados, drivers, fontes e modelos do pstoraster.
A pasta onde colocar os arquivos temporários. Esta pasta deve ter acesso de escrito para o usuário definido na tela anterior. O padrão é /var/spool/cups/tmp
ou o valor da variável de ambiente TMPDIR
.
A pasta onde os arquivos requisitados são armazenados. Por padrão é /var/spool/cups
O lugar para configurar o CUPS para a manipulação de fontes (TrueType ou PostScript®). O CUPS procurará aqui por fontes integradas nos arquivos de impressão. Isto atualmente só afeta o filtro pstoraster, e o padrão é /usr/share/cups/fonts
.
Para especificar mais de uma pasta, liste-as com dois pontos como separador. Faça assim:
/caminho/para/primeiro/dirfontes/:/caminho/para/segundo/dirfontes/:/caminho/para/ultimo/dirfontes/
Para a diretiva Font funcionar como desejado, a aplicação que deseja imprimir precisa:
Referenciar corretamente suas fontes desejadas no cabeçalho do PostScript® gerado;
Ou integrar a fonte no arquivo PostScript®.
Referenciar a fonte pelo nome deixa-a livre para que o RIP e o dispositivo de impressão respeitem-na e realmente usem-na. O RIP ou a impressora podem usar somente a fonte desejada, se estiver disponível no sistema.
No caso de uma impressora PostScript®, isto precisa ser uma fonte residente da impressora. Se a impressora não a possui, ela tentará e substituirá por uma fonte similar adequadamente.
No caso de uma impressora diferente de PostScript®, isto é feito pelo CUPS e pelo seu sistema de filtragem RIP. O CUPS usará a diretiva de caminho de fontes para achar a fonte correta com o RIP , no filtro pstoraster.
No caso de um dispositivo de saída PostScript®, o CUPS apenas coloca na fila o arquivo (na verdade, ele passa pelo filtro pstops para propósitos de contagem), não “trabalhando” nele. Assim, se você imprimir em uma impressora PostScript®, é responsabilidade da impressora usar a fonte pedida. Ele não poderá usar, se a fonte não é carregada dentro da impressora, ou se não estiver integrada ao PostScript®.
O diálogo para configurar para configurar as preferências HTTP do servidor CUPS é mostrado aqui.
As preferências para a configuração do servidor HTTP com o CUPS são as seguintes:
A Pasta do documento
O Idioma Padrão
O Conjunto de caracteres Padrão
A pasta raiz para os documentos HTTP que estão no servidor. Por padrão, a pasta compilada é /usr/share/cups/doc
O idioma padrão, se não especificado pelo navegador. Se não especificado, a localização atual é usada.
Use o modelo de códigos de localização com duas letras, como por exemplo en
ou de
.
O conjunto de caracteres padrão a ser usado. Se não especificado, o padrão é UTF-8. Isto pode também ser sobrescrito em documentos HTML.
O diálogo para configurar as preferências de segurança do servidor CUPS. As configurações de suporte a criptografia são as seguintes:
Certificado do Servidor: o arquivo a ser lido, contendo o certificado do servidor
A chave do servidor: o arquivo a ser lido, contendo a chave do servidor
O arquivo a ser lido, contendo um certificado. O padrão é /etc/cups/ssl/server.crt
.
O arquivo a ser lido, contendo a chave do servidor. Por padrão é /etc/cups/ssl/server.key
.
O diálogo para a configuração de outras opções do servidor CUPS é mostrado aqui. As seguintes configurações do servidor são feitas por esta tela:
Preservar histórico do trabalho: se deseja-se preservar o histórico de um trabalho para visualização posterior
Preservar arquivos do trabalho: se deseja-se preservar completamente os arquivos de trabalho do RIP para re-impressão posterior
Arquivo printcap: configuração do nome e caminho para o arquivo printcap
Cache do RIP: configuração do tamanho da cache do RIP em memória
Limite de Filtro: definindo um limite para o filtro
Preserva ou não o histórico do trabalho após um trabalho ser finalizado, cancelado ou parado. O padrão é yes (sim).
Indica se preserva ou não os arquivos do trabalho após ele estar completo, ou for cancelado ou parado. O padrão é não (no).
O nome do arquivo printcap. O padrão é sem nome de arquivo. Deixe em branco para desabilitar a geração do arquivo printcap.
A configuração do printcap é necessária somente para satisfazer aplicações antigas que necessitam deste arquivo.
A quantidade de memória que cada RIP deve usar para colocar bitmaps em cache. O valor pode ser qualquer número real, seguido por “k”para kilobytes, “m” para megabytes, “g ” para gigabytes, ou “t” para ladrilhos, onde um ladrilho equivale a 256 x 256 pixels.
Ajusta o número máximo em que filtros de trabalhos podem ser executados ao mesmo tempo. O limite 0 significa sem limite. Um trabalho típico pode precisar de um limite de filtro de no mínimo 200. Limites menores que o mínimo requeridos por um trabalho forçam para que um único trabalho seja impresso por vez. O limite padrão é 0 (sem limite).
O diálogo para configurar as preferências de rede do servidor CUPS é mostrado aqui. Ele inclui:
Procurar por nome da máquina ou endereços IP
Porta
Tamanho máx. da requisição
Tempo limite
Ajusta a busca ou não por endereços IP para a obtenção de um nome de máquina totalmente qualificado. O padrão é desligado, por razões de performance.
Digite aqui as portas e endereços que o servidor deve escutar. A porta padrão 631 é reservada para o Protocolo de Impressão Internet (IPP), que é a que usamos aqui.
Você pode ter múltiplas entradas para escutar, para mais que uma porta ou endereço, ou ainda, para restringir o acesso.
Infelizmente, muitos navegadores web não suporta as atualizações TLS ou HTTP para criptografia. Se você deseja o suporte a criptografia baseada em web, provavelmente precisará ouvir a porta 443, a porta do protocolo HTTPS.
Use os botões e para adicionar e remover entradas da lista.
Você pode digitar portas por sua própria conta, como por exemplo 631
, ou nomes de máquinas com portas, como por exemplo minhamaquina:80
ou 1.2.3.4:631
.
Controla o tamanho máximo das requisições HTTP e dos arquivos de impressão. A configuração padrão é 0, que desabilita este recurso.
O tempo limite (em segundos) antes da requisição terminar sem completar. O padrão é de 300 segundos.
O diálogo para configurar as preferências do cliente de rede do CUPS é mostrado aqui. Ele inclui:
Aceitar requisições do tipo "Keep Alive"
Tempo-limite da requisição:
Num máx de clientes:
Habilita ou não o suporte a opção de conexão Keep-alive (ou manter ligado). O padrão é habilitado (on).
O tempo limite (em segundos) antes que as conexões do tipo manter vivas sejam automaticamente fechadas. O padrão é de 60 segundos.
Controla o número máximo de clientes simultâneos que serão manipulados. O padrão é de 100.
O diálogo para configurar as preferências gerais de navegação do CUPS é mostrado aqui. Ele inclui:
Habilitar navegação
Usar nomes curtos quando possível
Usar classes implícitas
Habilita ou não as informações de difusão de impressoras para outros servidores CUPS. Habilitado por padrão.
Habilita ou desabilita o uso de nomes “curtos” para impressoras remotas quando possível (por exemplo impressora
em vez de impressora@maquina
). Habilitado por padrão.
Habilita ou não o uso de classes implícitas.
As classes de impressoras podem ser especificadas explicitamente, no arquivo classes.conf
, baseadas implicitamente nas impressoras disponíveis na LAN (rede), ou em ambos.
Quando as classes implícitas estão habilitadas, as impressoras na LAN com o mesmo nome (por exemplo Acme-LaserPrint-1000
) serão colocadas dentro de uma classe com o mesmo nome. Isto permite a você configurar múltiplas filas redundantes em um rede, sem muitas dificuldades de administração. Se um usuário enviar um trabalho para Acme-LaserPrint-1000
, o trabalho irá para a primeira fila disponível.
Esta opção está habilitada por padrão.
O diálogo para a configuração da conexão de navegação do servidor CUPS é mostrado aqui. Ele inclui:
Endereços de difusão: O endereço de difusão ou broadcast (UDP) para transmitir a informação da impressora
Porta de difusão: O número da porta para o uso de difusão
Endereços de busca de informações: O(s) endereço(s) para a busca por informações sobre as impressoras nos servidores que não devem possuir difusão (ou aqueles que não estão alcançáveis pela LAN devido existir roteadores entre eles).
Após pressionar o botão , você verá o diálogo a seguir para digitar um novo valor, correspondente a difusão de saída de pacotes de navegação. É o mesmo tipo de diálogo usado para adicionar outros endereços do servidor CUPS, para serem buscadas as informações sobre a impressora.
Esta opção especifica um endereço de difusão a ser usado. Por padrão, as informações de navegação são difundidas para todas as interfaces ativas.
HP-UX® 10.20 e anteriores não manipulam corretamente a difusão, a menos que você tenha uma máscara de rede da Classe A, B, C ou D (isto é, sem suporte a CIDR).
A porta usada para difusões do tipo UDP. Por padrão esta é uma porta IPP, e se você modificar isto, precisa fazê-lo em todos os servidores. Somente uma opção deste tipo é reconhecida.
Busca por todos os servidores para impressoras.
O diálogo para configurar os pacotes de navegação permitos e/ou negados ao servidor CUPS, de outros servidores, é mostrado aqui.
Permitir Navegação:
Negar Navegação:
Ordem de Navegação:
O diálogo para digitar um novo valor, referente ao endereço de outro servidor CUPS para aceitar pacotes de navegação, está mostrado aqui. Ele é aberto clicando-se no botão , ao lado do campo chamado Permitir Navegação. É o mesmo diálogo que aquele usado para adicionar endereços de envio de navegação “negados ”.
O diálogo para digitar um novo valor para o endereço de outro servidor CUPS, para que sejam aceitas pacotes dele, é mostrado aqui.
Permitir Navegação especifica uma máscara de endereço para que sejam permitidos pacotes de navegação de entrada. O padrão é permitir pacotes de todos os endereços.
Negar Navegação especifica uma máscara de endereço para que sejam negados pacotes de navegação de entrada. O padrão é não negar pacotes de nenhum endereço.
Tanto Negar Navegação como Permitir Navegação aceitam as seguintes notações para endereços:
All
None
*.dominio.com
.domínio.com
máquina.domínio.com
nnn.*
nnn.nnn.*
nnn.nnn.nnn.*
nnn.nnn.nnn.nnn
nnn.nnn.nnn.nnn/mmm
nnn.nnn.nnn.nnn/mmm.mmm.mmm.mmm
As restrições de nome da máquina/nome do domínio funcionarão somente se você habilitou a busca por nomes de máquina!
Especifica a ordem de comparações do tipo permissão/negação.
O diálogo para configurar as preferências de tempo limite de navegação do servidor CUPS está mostrado aqui. Ele inclui:
Intervalo de Navegação
Tempo limite de Navegação
O tempo entre as atualizações de navegação, em segundos. O padrão é de 30 segundos.
Note que as informações de navegação são enviadas assim que o estado da impressora muda, pois isto representa o tempo máximo entre atualizações.
Ajuste isto para 0 para desabilitar as difusões de saída, e assim, suas impressoras locais não são avisadas, mas você ainda pode ver as impressoras em outras máquinas.
O tempo limite (em segundos) para as impressoras de rede - se você não obter uma atualização dentro deste tempo, a impressora será removida da lista.
Definitivamente, este número não deve ser menor que o período de intervalo de navegação, por razões óbvias. O padrão é de 300 segundos.
O diálogo para configurar o servidor CUPS como um relay é mostrado aqui. Entre as configurações de relay de navegação estão:
Navegação entre retransmissão de pacotes
O diálogo para se digitar um novo valor para um par de endereços, onde se define a retransmissão entre um servidor CUPS e a rede é mostrado aqui.
Retransmite pacotes de um endereço ou rede para outro.
O diálogo para se configurar a segurança do servidor CUPS, para quaisquer uma das localizações do servidor definidas, é mostrado aqui. Ele contém as seguintes configurações, que podem ser definidas separadamente para quaisquer recursos válidos (ou localizações) do servidor CUPS:
Grupo do Sistema:
Permissões de Acesso:
Autenticação:
Classe:
Nomes:
Criptografia:
Permitir:
Negar:
Ordem:
Os recursos ou localizações válidos do servidor CUPS são:
Localização da Raiz do Servidor: /
Localização da Administração do Servidor: /admin
Todas as impressoras do servidor: /printers
Qualquer impressora individualmente no servidor, como por exemplo /printers/infotec_P320
Todas as classes de impressoras no servidor: /classes
:
Qualquer classe de impressora individual no servidor, como por exemplo /classes/todas_infotecs_P320_ou_P450
Para todas as localizações que não estão definidas separadamente, a configuração da localização “acima” é válida.
Por exemplo, se você possui uma impressora chamada infotec_P450
sem as opções de segurança configuradas, então segurança de /printers
terá a responsabilidade para esta impressora, pois é uma sub-localização de /printers
. Se, entretanto, não existir configuração de segurança para /printers
, então a segurança de /
(a segurança geral) será feita. Você deve configurar isto conforme queira, ou o valor padrão pré-compilado será tomado.
O nome do grupo para o sistema (System
) ou para o acesso à administração da impressora. O valor padrão varia de acordo com o sistema operacional, mas será sys
, system
ou root
(marcado nesta ordem).
As permissões de acesso para cada pasta servida pelo escalonador. As localização são relativas à raiz do documento.
A autorização a ser usada:
Não executa autenticação.
Executa a autenticação usando o método básico do HTTP.
Executa a autenticação usando o método Digest do HTTP.
A autenticação de certificado local pode ser substituída pelo cliente para o Básico ou Digest, ao se conectar à interface local.
A classe de autorização. Atualmente somente as classes “Anônimo”, “Usuário”, “Sistema” (usuário válido pertencente ao grupo configurado como grupo do sistema) e “Grupo” (usuário válido pertencente ao grupo especificado) são suportadas.
O nome do grupo para a autorização do grupo (“Group”)
Habilita ou desabilita o uso de criptografia. Isto depende de se ter a OpenSSL ligada à biblioteca do CUPS e ao escalonador.
Os possíveis valores são:
Sempre usar criptografia (SSL)
Nunca usar criptografia.
Usa a criptografia TLS atualizada.
Usa criptografia se o servidor requisitá-la.
Permite o acesso do nome da máquina, domínio, endereço IP ou rede especificado. Os valores possíveis são:
All
None
*.dominio.com
.domínio.com
máquina.domínio.com
nnn.*
nnn.nnn.*
nnn.nnn.nnn.*
nnn.nnn.nnn.nnn
nnn.nnn.nnn.nnn/mmm
nnn.nnn.nnn.nnn/mmm.mmm.mmm.mmm
A máquina e o endereço de domínio requerem que você habilite buscas por nome de máquina, como descrito anteriormente.
Nega o acesso do nome da máquina, domínio, endereço IP ou rede especificado. Os valores possíveis são:
All
None
*.dominio.com
.domínio.com
máquina.domínio.com
nnn.*
nnn.nnn.*
nnn.nnn.nnn.*
nnn.nnn.nnn.nnn
nnn.nnn.nnn.nnn/mmm
nnn.nnn.nnn.nnn/mmm.mmm.mmm.mmm
A máquina e o endereço de domínio requerem que você habilite buscas por nome de máquina, como descrito anteriormente.
A ordem de processament de permissão e negação.
O diálogo para as configurações de segurança do servidor CUPS é discutido aqui. Nós usamos o exemplo, para adicionar definições de segurança, ao contrário das configurações padrão, para o recurso chamado todas as impressoras
. Para o servidor web do CUPS, esta é a localização que você acessa através de http://localhost:631/printers/ ou (remotamente) através de http://cups.server.name:631/printers/
A primeira captura de tela mostra a localização geral para esta definição. Selecione ou um recurso para qual deseja saber sobre suas configurações de segurança.
Este diálogo serve para adicionar um novo recuros. Ele se parece com o diálogo de modificação de um recurso já existente. Aqui estão as opções gerais:
Esta é a segunda parte do diálogo para adicionar um novo recurso. Ele se parece muito com o diálogo para modificar um recurso já existente. Aqui você define as máscaras reais de acesso para o recurso em questão.
Clique no ícone mais a esquerda da barra de ferramentas , na parte superior da janela, para iniciar o “Assistente de Adição de Impressora”.
Este assistente mostra as várias etapas para instalar uma nova impressora. Atualmente, este assistente trabalha com o CUPS e com o módulo RLPR. O número de etapasdepende de o subsistema de impressão atual estar ativo e disponível para você em sua distribuição.
A tela de boas-vindas informa que você pode retornar à qualquer tempo para mudar uma configuração.
Escolha o protocolo de “backend” que o CUPS deverá usar com sua nova impressara:
impressora local (serial, paralela, USB)
fila LPD remota
impressora compartilhada SMB (Windows®)
Impressora em rede (TCP, HP® JetDirect, AppSocket)
Impressora de rede com IPP (IPP/HTTP)
impressora de arquivo
impressora fax/modem serial
Classe de Impressoras
Se algumas opções aparecerem acinzentadas, elas não estão disponíveis. Por exemplo, pode não existir software de "backend" para o FAX ou para o modem instalado para ser usado.
O conteúdo da próxima tela depende de sua escolha na janela anterior. Se você sabe os detalhes, apenas digite os parâmetros de configuração de rede diretamente.
Em outros casos, o assistente pode varrer a rede para você, para ajudar a decidir qual configuração poderia ser útil.
Se você usa uma das conecções de rede (LPD remota, SMB, CUPS remoto, impressora de rede com IPP), você tem a opção de varrer a rede. Seja cuidadoso quando optar por isso, em alguns ambientes de rede a varredura é considerada hostil e prejudicial!
No caso do SMB, KDEPrint usará os utilitários nmblookup e smbclient do Samba (que precisam estar intalados para funcionar) para recuperar a informação presente em uma estrutura de árvore.
No caso de IPP (Port 631) e rede TCP /AppSocket (Port 9100) KDEPrint tentará abrir a por e, se for bem sucedido, enviar uma requisição atributo de busca de ipp da impressora para a impressora. Para as novas impressoras HP® o último geralmente funciona porque elas suportam ambas, AppSocket e IPP.
Algumas impressoras ou outros fabricantes usam outros números de portas para impressão direta pelo TCP/IP. Talvez você precise dar uma olhada em qual é o utilizado. O botão Configurações no diálogo permite à você realizar uma busca, inclusive de endereços IP portas e tempo de esperar para usar.
Novamente: seja cuidadoso para não não ser confundido com um invasor em sua rede, se você se utilizar da técnica de varredura.
A parte mais difícil provavelmente é a “Seleção do Modelo de Impressora”. Há poucos anos a situação era difícil porque era difícil encontrar alguns "drivers". A dificuldade agora é que há muitos, embora alguns deles sejam muito bons, muitos outros estão quebrados.
Se você tem um “banco de dados” atual de "drivers" disponíveis em seu sistema, selecione o produto na parte esquerda da janela principal, em seguida, o modelo de dispositivo na parte direita. Esta divisão da janela mostra todos os PPDs encotrados pelo CUPS no repositório padrão de PPDs. Este repositório normalmente está em /usr/share/cups/model/
. Se você deseja que o seu "driver" seja encontrado automaticamente pelo CUPS e pelo KDEPrint, coloque-o lá.
Na próxima tela você verá a descrição do "driver" previamente selecionado. Essa descrição é extraída do atual PPD utilizado.
Para uma impressora PostScript® real nunca tente instalar um PPD “Foomatic” ou “Gimp-Print”, mesmo que lhe seja oferecido. Você não será feliz com isso. Em seu lugar, encontre o PPD original do fabricante, preferivelmente um escrito para Windows® NT e o use.
Algumas distribuições Linux tem fornecido ao CUPS toda combinação possível de filtros Ghostscript e arquivos “foomatic” de PPD que elas puderam encontrar na internet. Muitos desses são imprestáveis, gerados há anos, quando o pessoal da www.linuxprinting.org começou seus primeiros experimentos com o fornecimento de PPDs de terceiros para o CUPS. Embora em estágio “Alpha” naqueles tempos, eles ganharam vida e agora podem ser encontrados em vários lugares na internet, tornando-se um deserviço ao CUPS.
Se você não tem certeza sobre qual utilizar, verifique em:
E peça ajuda. Depois, verifique uma documentação detalhando as diferenças entre os vários "drivers" e modelos de PPD em http://kdeprint.sourceforge.net/. Faça isso com tempo!
Através do botão você estará apto a recuperar qualquer PPD localizado em qualquer local disponível em seu sistema.
Especifique as configurações do primeiro "driver" agora. O mais importante é tamanho padrão do papel. Em muitos casos isto é ajustado para “Letter”. Se você vive em um país que usa “A4” e não quer que sua primeira página de teste atolada, agora é a hora de prevenir isto.
Você está pronto para começar o teste de impressão. Tecle o botão .
A penúltima tela deixa você selecionar se quer faixas e quais quer utilizar para marcar o começo e/ou fim de cada trabalho de impressão naquela impressora. Você pode também selecionar e deselecionar faixas antes de imprimir, usando as opções de diálogo do trabalho.
Se você precisar utilizar faixas personalizadas, copie-as para /usr/share/cups/banners/
para fazê-las disponíveis para seleção. Elas devem ser arquivos PostScript®, entretanto.
A última tela deixa você inserir um nome para sua nova impressora.
O nome deve começar com uma letra e deve conter números e destaques com um tamanho máximo de 128 carácteres. Conforme-se com isso se você quiser evitar o comportamento errático do seu "daemon" CUPS.Os nomes de impressora no CUPS não são "case sensitive"! Este é um pré-requisito do IPP. Assim, os nomes DANKA_infotec
, Danka_Infotec
e danka_infotec
representam a mesma impressora.
Este capítulo fornece algumas dicas sobre as possibilidades de configuração, que podem não estar disponíveis pelo KDEPrint, a interface GUI para o CUPS.
A maioria das características usadas freqüentemente e funções do CUPS são suportadas no KDEPrint.
O gerenciamento de impressão é suportado: adicionar, remover, modificar, configurar, testar, desabilitar, habilitar ....
O gerenciamento de trabalhos é suportado: cancelamento, liberação, movimentação para outra impressora, espera
Opções de impressão: para o controle completo, como fornecido pelo CUPS.
Muitas informações sobre o funcionamento interno do CUPS estão disponíveis através da interface web, que o CUPS sempre suportará. Ela funciona com qualquer navegador (até mesmo com os baseados em texto). Apenas vá para http://localhost:631/ para iniciar. Ali você encontrará um link para a documentação do CUPS disponível localmente em HTML e PDF, se você for novo com o CUPS.
O CUPS está acessível através de outros meio do que somente a linha de comando do KDEPrint e o navegador, que são as duas interfaces nativas. Os muitos utilitários de linha de comando adicionam o controle completo que você precisa ter sobre o CUPS. A interface web é somente um sub-conjunto de todas as opções de controle ou configuração disponíveis.
Isto é também verdadeiro para o KDEPrint. Geralmente, como no desenvolvimento do CUPS, a maioria dos novos recursos serão primeiro implementados pela linha de comando. Certifique-se de que você possui as últimas versões das páginas de manual do CUPS, para ficar atualizado sobre os novos recursos, após instalar uma nova versão.
Dependendo de seu método de atualização, o seu arquivo de configuração ativo pode não ter sido substituído por um novo, e assim o seu servidor novo do CUPS pode não saber como se comunicar com o arquivo de configuração antigo, sobre como os novos recursos para se utilizar.
Uma lista completa de arquivos e páginas de manual disponíveis devem estar sempre no Manual do Administrador do CUPS (http://localhost:631/sam.html#FILES. No Konqueror no campo da URL digite man:/lpadmin
e man:/cupsd.conf
para encontrar o comando mais importante e o arquivo de configuração. Você já sabia sobre as ótimas capacidades do Konqueror de mostrar as tradicionais páginas de manual do UNIX®, não sabia? Leia isto. Daqui por diante você encontrará mais dicas e links interessantes para outras páginas de manual e documentações.
Este é um modo de encontrar quais páginas de manual relacionadas ao CUPS estão no seu sistema:
kurt@transmeta:~ >
apropos
cups
cups-calibrate (8)- ESP Printer Calibration Tool lpstat (1) - print cups status information cups-lpd (8) - receive print jobs + report printer status to lpd clients classes.conf (5) - class configuration file for cups backend (1) - cups backend transmission interfaces filter (1) - cups file conversion filter interfaces cups-polld (8) - cups printer polling daemon mime.types (5) - mime type description file for cups cupsd (8) - common unix printing system daemon lpadmin (8) - configure cups printers and classes cupsd.conf (5) - server configuration file for cups mime.convs (5) - mime type conversion file for cups printers.conf (5) - printer configuration file for cups mime.convs (5) - mime type conversion file for cups cups-polld (8) - cups printer polling daemon lpstat (1) - print cups status information backend (1) - cups backend transmission interfaces mime.types (5) - mime type description file for cups cupsd (8) - common unix printing system daemon lpadmin (8) - configure cups printers and classes printers.conf (5) - printer configuration file for cups cupsd.conf (5) - server configuration file for cups filter (1) - cups file conversion filter interfaces
Aqui estão alguns exemplos de opções que são apresentadas somente se você estiver usando a linha de comando.
Ao instalar (ou modificar) uma impressora através da linha de comando, você pode negar ou permitir o uso desta impressora para certos usuários:
lpadmin -p
HeidelbergDigimaster9110
-v
lpd:/10.160.16.99/mqueue
-u
allow:kurt,sylvi,hansjoerg
-E
-P
/home/kurt/PPDs/DVHV.ppd
permitirá o uso desta (acredite: muito boa e também muito profissional) impressora para somente os três usuários mencionados e, ao mesmo tempo, nega acesso a todos os outros. Se outro usuário desejar imprimir na DigiMaster via servidor CUPS, ele receberá uma mensagem de erro com as linhas client-error-not-possible.
lpadmin -p
HeidelbergDigimaster9110
-v
lpd:/10.160.16.99/mqueue
-u
deny:tackat,boss,waba
-E
-P
/home/kurt/PPDs/DVHV.ppd
negará o uso da mesma impressora para os três usuários mencionados e ao mesmo tempo, permitirá que todos os outros a acessem. Se o usuário “negado” desejar imprimir na DigiMaster via servidor CUPS, ele receberá uma mensagem de erro com as linhas client-error-not-possible.
Somente uma das duas opções podem ser usadas de uma vez, e no presente não há suporte para uma opção similar em um modo baseado por grupo. Isto será implementado no futuro.
Algumas vezes você pode impor quotas para certas impressoras. Com quotas você pode ajustar limites superiores par ao número de páginas, ou a quantidade de dados a serem impressos em um certo período, em uma certa impressora.
As quotas podem ser configuradas com a opção -o
, ao instalar uma impressora com o comando lpadmin ou, depois, para uma impressora já existente. A seguir estão algumas linhas guia (que está faltando escrever atualmente na documentação oficial do CUPS):
Com o CUPS você pode ter quotas de contagem de páginas e baseadas em tamanho de arquivos, para impressoras individuais.
As quotas são calculadas para usuário individualmente (assim, um conjunto único de limites aplica-se a todos os usuários para a impressora em questão).
As quotas incluem páginas de banner (se elas são usadas).
Isto significa que: você pode limitar todos os usuário a imprimirem apenas 20 páginas por dia em uma impressora cara, mas não pode limitar cada usuário em especial, exceto Kurt
or root
.
Existem as opções job-k-limit
, job-page-limit
, e job-quota-period
para se fornecer ao configurar uma impressora.
job-quota-period
ajusta um intervalo de tempo para o processamento da quota (intervalos são determinados em segundos; assim, um dia são 60x60x24=86.400, uma semana 60x60x24x7=604,800, e um mês são 60x60x24x30=2.592.000 segundos).
Para quotas a serem forçadas, o período de tempo mais , no mínimo, um job-limit, devem ser ajustados para valores diferentes de zero.
O valor padrão de 0 para a opção job-k-limit
especifica que não existem limites.
O valor padrão de 0 para a opção job-page-limit
especifica que não existem limites.
O valor padrão de 0 para a opção job-quota-period
especifica que os limites aplicam-se a todas as tarefas que foram impressas por um usuário que ainda é conhecido para o sistema.
Trabalhando com ambos: período de tempo mais um ou mais job-limits, definidos
lpadmin -p
danka_infotec_4850
-o
job-quota-period=604800
-o
job-k-limit=1024
Isto configura um limite de um tamanho de arquivo de 1 MB (no total) para cada usuário da impressora existente danka_infotec_4850
durante uma semana.
lpadmin p
danka_infotec_4105
-o
job-quota-period=604800
-o
job-page-limit=100
Isto configura um limite de 100 páginas (no total) para cada usuário da impressora danka_infotec_4105
durante uma semana.
lpadmin -p
danka_infotec_P450
-o
job-quota-period=604800
-o
job-k-limit=1024
-o
job-page-limit=100
Isto configura um limite combinado de 1 MB (no total) e 100 páginas (no total) para cada usuário da impressora danka_infotec_P450
durante uma semana. Qualquer limite que for alcançado primeiro a configuração terá efeito.
NÃO funcionais, pois somente um , período de tempo ou um limite de tarefas de impressão é definido).
lpadmin
-p
danka_infotec_P320
-o
job-quota-period=604800
lpadmin
-p
danka_infotec_FullColor
-o
job-page-limit=100
lpadmin
-p
danka_infotec_HiSpeed
-o
job-k-limit=1024
Existem diferentes maneiras de definir uma impressora “bruta ”. A maneira confortável é usar o comando lpadmin , apenas não defina um arquivo PPD, que será usado pela impressora:
lpadmin -p
Raw_Danka_infotec
-E
-v
lpd://10.160.16.137/PORT1
As filas de impressoras brutas são aquelas que não mexem no arquivo de impressão para transformá-lo em um arquivo de formato diferente. Você precisa disto, por exemplo, para imprimir de clientes Windows® via Samba, através do servidor CUPS para uma impressora PCL; neste caso, o driver do lado do Windows® gerará o formato do arquivo de impressão finalizado para a impressora alvo, e através dos filtros do CUPS será feita a filtragem para o propósito. Sob certas circunstâncias (se deseja certificar-se de que o arquivo vai para a impressora sem filtragem pelo CUPS), o comando “ lpadmin sem um PPD” torna-se útil.
Estas seção do Manual do KDEPrint está viva graças aos retornos dos leitores. Este é apenas um pequeno início.
Nenhum sistema é perfeito. Aqui estão alguns problemas comumente vistos por pessoas.
Gerenciamento de impressão: operações básicas são suportadas (adicionar/ remover/modificar).
Cada usuário pode predefinir as impressoras que querem usar pelo especificação do "host" e das filas de impressão relacionadas. As impressoras são armazenadas em uma “base por usuário”. Este módulo é baseado no utilitário rlpr rlpr.
Módulo usado por padrão (na primeira inicialização, por exemplo).
Módulo genérico que permite apenas o envio de trabalhos de impressão. Não suporta gerenciamento de impressoras ou de trabalhos. Foi desenvolvido para trabalhar em uma larga variedade de sabores UNIX®: Linux®/LPR, HP-UX®, Solaris, IRIX®. Também suporta algumas extensões LPRng (como a ausência do caracter de continuação \
em arquivos printcap
).
Suporte simples (velho?) ao LPR. Um módulo LPRng está em desenvolvimento e esperamos que esteja disponível para o lançamento versão 2.3.
Um módulo LPRng para o KDEPrint está em desenvolvimento e, esperamos que, disponível à partir do lançamento do KDE 2.3.
Este módulo reserva o comando de impressão para ser completamente especificado (padrão Netscape®). Uma linha de edição é somada ao diálogo da impressora para este proprósito. Isto pode ser usado em muitos casos, por exemplo com um programa de impressão próprio.
Meu empregador é Danka Deutschland GmbH, um fabricante independente e líder, fornecedor de sistemas de impressão digital de alta velocidade e profissionais, sejam preto-e-branco ou coloridos. Danka fornece hardware, software, serviço, manutenção, suprimentos e soluções personalizadas para os produtos em seu portfólio. Eu trabalho como um Engenheiro de Sistemas. Entre os tipos de impressora que a Danka oferece estão Heidelberg (mais conhecido como Kodak), Canon, Hewlett-Packard®, Hitachi, Infotec e EfI.
Meu conhecimento sobre o Linux® e a comunidade do Software Livre não é muito antigo. Quando eu comecei a brincar com o Linux® no início de 1999, meu desapontamento mais profundo era com o fraco suporte para impressão. É verdade que eu conseguir fazer com que todas nossas máquinas imprimissem documentos simples -- mas como imprimir frente e verso? Como obter saídas perfuradas? Como ordenar o seu trabalho de impressão? Ou margens de furação, folhas de rosto e todas as outras belíssimas opções de finalização que nossos drivers de impressão oferecem aos clientes? Sem chance -- pelo menos para mim como um não-geek!
Eu comecei a pesquisar na Internet por uma solução. Felizmente não muito depois, em Maio de 1999, Mike Sweet, principal desenvolvedor do CUPS, anunciou a primeira versão Beta deste espetacular sofware de impressão. Após usá-lo, eu rapidamente percebir que ele era o que eu procurava!
O próximo passo que eu tentei: fazer com que as distribuições Linux® se interessassem por este novo material. Acredite-me -- isto foi muito mais difícil! Eles pareciam pensar que já possuíam o que havia de melhor para trabalhos de impressão. Provavelmente uma razão era que eles (e muitos desenvolvedores Linux®) nunca tiveram que pensar como melhorar o suporte a uma impressora duplexadora -- porque nunca tiveram uma próxima de suas mesas...
Finalmente, minhas tentativas de fazer com que algumas publicações de impressão no Linux® se interessassem no CUPS “se voltaram” contra mim - um editor pressionou-me para que escrevesse uma série de artigos sobre o assunto eu mesmo. E por isso que algumas pessoas começaram a me chamar pelo apelido “Evangelista CUPS”. Eu não me livrarei deste apelido tão cedo, agora que o pessoal do KDE convocou-me para seu quadro oficial de lançamento versões. É, lá vou eu...
De qualquer modo, o CUPS está agora se difundindo em todo o mundo e deve finalmente triunfar: eu sinto um indisfarçado orgulho de ter apoiado e contribuído com ele desde sua infância.
Isto deve encorajá-lo: mesmo se alguns usuários mais experientes em Linux® do que você forem céticos quanto a isso, e mesmo se seu conhecimento de programação for próximo do zero (como eu) - existem muitas tarefas e trabalhos e idéias, e talentos que você pode contribuir para a comunidade de Software Livre. Não apenas dentro do projeto do KDE... ;-)
Eu gostaria de agradecer...
Mike Sweet pelo desenvolvimento do CUPS em primeiro lugar
Jean-Eric Cuendet pelo kups inicial e o qtcups, o antecessor do KDEPrint
Michael Goffioul por fazer todo trabalho duro recentemente
Martin Konold por pensar duas vezes
Sven Guckes por ensinar-me pequenas coisas sobre a arte de “sobreviver no terminal” (apenas no caso do KDE não estar lá ;-) )
...a numerosos outros para mensionar que também me deram pequenos bits e bytes de conhecimento que possuíam
e por último, mas não menos importante: Tom Schwaller por me encorajar a me tornar um “escritor de documentação”
O KDEPrint foi desenvolvido num sistema usando o CUPS 1.1.6. O KDEPrint foi testado em outras versões do CUPS e até o presente nenhuma incompatibilidade é conhecido. Mas no momento em que estava escrevendo este Manual, o CUPS 1.1.9 foi lançado com alguns novos recursos ainda não suportados pelo KDEPrint. É claro que você será capaz de acessar estes recursos, mas você precisará descartar o KDEPrint e usar ferramentas de linha de comando do CUPS ou editar os arquivos de configuração manualmente. O desenvolvimento do KDEPrint continuará e este Manual tentará ser sempre a melhor documentação disponível para o usuário sobre ele.
Direitos autorais do KDEPrint 2001, Michael Goffioul (kdeprint AT swing.be)
Este programa é licenciado sob os termos da Licença Pública Geral GNU.
Copyright da Documentação 2001, Kurt Pfeifle, (kpfeifle AT danka.de)
Esta documentação é licenciada sob os termos da Licença de Documentação Livre GNU.
Tradução de Magno Kretzschmar Nardin(127.o.o.1 AT bol.com.br)
Would you like to make a comment or contribute an update to this page?
Send feedback to the KDE Docs Team