# As opções do &CUPS; apresentadas não disponíveis pelo &kcontrol;

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

## Revisão das características fornecidas

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

## Onde encontrar ajuda ao usar o &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.

### Como encontrar páginas de manual relacionadas ao &CUPS;

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

## Além do &kdeprint;: Dicas & Truques do &CUPS; na linha de comando

Aqui estão alguns exemplos de opções que são apresentadas somente se você estiver usando a linha de comando.

### Permitir ou negar o acesso a impressora para certos usuários

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

### Impondo Quotas para certas impressoras

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.

#### Exemplos Funcionais:

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.

#### Exemplos que Não são Funcionais

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

#### Mensagens de Erro Relacionadas

Uma vez que o usuário alcança seu limite de quota, ele obterá uma mensagem do tipo client-error-not-possible, quando ele desejar imprimir.

### Instalando uma impressora bruta

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.

## Problemas e Soluções do &CUPS; no &kdeprint;

Estas seção do Manual do &kdeprint; está viva graças aos retornos dos leitores. Este é apenas um pequeno início.

### Mensagens de Erro

O que o erro client-error-bad-request significa?

O usuário enviou um arquivo para o &CUPS; o qual o servidor não pode processar. Você obtém este erro também ao enviar um arquivo vazio.

E o erro client-error-not-possible?

O usuário não tem permissão para imprimir em uma certa impressora, ou ultrapassou sua quota (baseada no tamanho do arquivo e/ou número de páginas)

O que significa o erro client-error-not-found?

O usuário tentou acessar um recurso não-existente do servidor &CUPS;, tais como tentar imprimir um arquivo inexistente ou um arquivo que ele não possui permissão de leitura.

### Perguntas e Respostas

Por que eu não posso reiniciar meus trabalhos de impressão?

Para ser capaz de reiniciar os seus trabalhos completos da interface web, você precisa de uma configuração no arquivo `/etc/cups/cupsd.conf`: ajuste a opção `PreserveJobFiles True`.

Como eu obtenho uma lista longa dos trabalhos finalizados pela interface web?

A FAZER

Como uma página de contabilidade funciona?

O &CUPS; faz a contabilidade de impressão passando cada trabalho através do filtro pstops. Ele faz, além de outras coisas, a contagem de páginas. A saída deste filtro deve ser canalizada para outros filtros (como pstoraster --> rastertopcl) ou enviada para a impressora diretamente (se for uma impressora &PostScript;).

Em qualquer caso, isto funciona para impressoras de rede, paralelas, seriais ou USB do mesmo jeito. Para o pstops funcionar, ele precisa que DSC (Document Structuring Convention ou Convenção de Estruturação de Documentos) esteja em conformidade com o &PostScript; (ou próximo dele) como entrada. Assim, ele calcula as páginas durante a filtragem do servidor de impressão e grava as informações sobre cada página (hora, qual usuário, ID do trabalho, nome, qual impressoras, quantas cópias das páginas do documento, quantos kilobytes) no arquivo `/var/log/cups/page_log`.

A propósito: em minha lista pessoal de tarefas existe uma adaptação do webalizer para ler e analisar o page_log e fornecer uma saída similar. Alguém se habilita?

No entanto, não são fornecidos os resultados corretos nos seguintes casos:

- A impressora fica obstruída e talvez cancele o trabalho (experiência na vida real, ou talvez o cancelamento possa ter ocorrido por problemas no formato dos dados).

- Os trabalhos impressos como brutos são sempre contados com o tamanho de 1 página (e talvez múltiplas cópias).

Assim, a contabilidade de páginas do &CUPS; é somente uma aproximação (em muitos casos é excelente, ou no mínimo boa, em outros um pouco pobre). A única contagem de páginas confiável é aquela feita pelo contador interno da impressora (pois ele é feito para isso, se você está em uma click price ou similar). Algumas, de longe sendo não melhor, as impressoras podem ser consultadas remotamente pelas informações via SNMP (Protocolo Simples de Gerenciamento de Rede). Isto significa que, em uma rede maior e com bastante impressoras diferentes, não não existe uma ferramenta de contagem de páginas confiável e precisa.

Por que a contabilidade de páginas não funciona com clientes &Windows;?

De clientes &Windows;, os trabalhos quase sempre precisam ser enviados como brutos. Por que? Se o &CUPS; funciona como um servidor de impressão para os clientes &Windows;, usando o driver nativo para o dispositivo alvo de impressão, isto garante a formatação correta do trabalho já no cliente, e assim o servidor não deve tocá-lo e o imprime de forma bruta; logo, nenhuma filtragem é iniciada (e não é nem mesmo possível, pois a entrada dos clientes não é em formato &PostScript; como o pstops espera) e portanto, nenhum contagem de página é feita, apenas o padrão que é 1.

Como eu obtenho uma lista com as opções disponíveis para uma certa impressora ou arquivo &PPD;?

Veja a página de manual para o comando `lpoptions`. Você pode investigar uma máquina &CUPS; habilitada, vendo qualquer opção de suas impressoras disponíveis. Não existe necessidade de ter a impressora instalada localmente, e tão logo a impressora esteja disponível localmente (através do recurso de navegação de impressora do &CUPS;), ela também funcionará remotamente.

Para consultar uma opção da impressora digite ``lpoptions` `-p``HitachiDDP70MicroPress` `-l``, onde será fornecida uma longa listagem com todas as opções disponíveis, conforme lido do arquivo &PPD; para a impressora Hitachi fornecida (em meu caso, instalada em um servidor remoto) O servidor remoto e seu servidor &CUPS;, bem como o serviço &CUPS; local, precisam estar ativos e sendo executados com sucesso.

Como eu leio a listagem recuperada pelo comando `lpoptions`?

Você sabe que, para fabricantes de impressoras &PostScript;, é legal definir seus próprios nomes internos e procedimentos até mesmo para opções padrão do &PostScript;. O driver é capaz de recuperar a opção do &PPD; e mostrá-la ao usuário, de modo que ele entenda que tudo está OK. Mas, o que você faz se deseja usar algumas opções obscuras na linha de comando? Como encontrar suas sintaxes exatas?

Deixe-me dar um exemplo. Olhando para a impressora DDP70 da Hitachie como ela implementa impressão duplex, é algo relevante de se saber. Como você descreve a impressão de dois lados? Duplex ou duplex? Ou algum outro nome em especial?

    lpoptions -h transmeta -p Hitachi_DDP70_ClusterPrintingSystem -l | grep uplex

Isto mostra na saída

    TR-Duplex/Duplex: False *True

Isto é para ser interpretado como a seguir:

- O nome da opção investigada é `TR-Duplex`;

- Atrás da barra você vê a tradução da opção, como ela deve ser mostrada na &GUI; ou na interface web (Duplex);

- A opção pode pegar um de dois valores: `False` ou `True`;

- A configuração atual é `True`, a ser reconhecida pela marca com um asterisco `*`.

Para sobrescrever a configuração padrão apresentada (duplex) e imprimir um trabalho no modo simples, você precisa usar o seguinte comando:

    lpr -P Hitachi_DDP70_ClusterPrintingSystem -o TR-Duplex=False /caminho/ para/seu/trabalho

Como eu obtenho uma listagem com formato agradável das opções disponíveis para uma certa impressora ou &PPD;?

Use o comando `lphelp` que pode ser instalado em seu sistema localmente. Ainda não existe uma página de manual para o `lphelp`.

    lphelp infotecP450

Isto lista as opções disponíveis para a impressora nomeada. É formatada de um modo agradável e explica cada opção disponível e como usá-la. Você pode consultar as opções de diferentes impressoras de uma vez:

    lphelp infotec7410color DANKA_fullcolor_D2000 HP_ColorLaserJet8550

Também funciona para arquivos &PPD;. Basta especificar o caminho para os arquivos.

    lphelp /home/kurt/PPDs/HP-ColorLaserJet8550.ppd

### Resolvendo Problemas

Nenhum sistema é perfeito. Aqui estão alguns problemas comumente vistos por pessoas.

Minha impressora chamada 3-lp-duplex mostra um comportamento estranho. O que está errado?

Os nomes de impressora usados no &CUPS; devem iniciar com uma letra e podem conter até 128 letras, números e sinais de sublinhado. Usar hífens pode ser o caminho para problemas. Falando sobre nomes: os nomes de impressoras no &CUPS; não são sensíveis a maiúsculas. Assim, uma impressora chamada Melhor_HP será o mesmo que melhor _hp ou MELHOR_HP (isto é um requerimento do &IPP; no qual o &CUPS; está em completa conformidade).

Por que eu obtenho o erro Unable to connect to SAMBA host: Success com minhas impressoras compartilhadas do &Windows; acessadas via Samba?

Os direitos na máquina &Windows; remota estão ajustados corretamente para você? Você está realmente com permissão para imprimir de uma impressora &Windows; compartilhada?

Meus arquivos para uma impressora lp algumas vezes desaparecem misteriosamente e dois dias depois sou avisado de que os arquivos estão em uma impressora três andares abaixo de meu escritório. O que ocorre?

Acredite, é muito difícil que sua impressora é a única com o nome lp. Talvez o &CUPS; esteja aplicando um truque em você. Como você pode ter configurado a opção ImplicitClasses On, o &CUPS; tenta localizar todas as impressoras que ele vê na rede dentro de um nome de Classe lp. Todas as tarefas destinadas a lp são enviadas a esta classe e o primeiro membro disponível as imprime. Assim, se você teve este tipo de problema instale o &CUPS; e cutuque o sistema ... pegou a idéia?

Meu conselho: escolho um nome único para cada impressora na rede (lembre-se de que uma de sua porta paralela também torna-se uma impressora de rede para o resto do mundo, se você não tomar cuidado com suas configurações).