<para>Este capítulo fornece algumas dicas sobre as possibilidades de configuração, que podem não estar disponíveis pelo &tdeprint;, a interface &GUI; para o &CUPS;.</para>
<para>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 <ulink url="http://localhost:631/">http://localhost:631/ </ulink> para iniciar. Ali você encontrará um link para a documentação do &CUPS; disponível localmente em <acronym>HTML</acronym> e <acronym>PDF</acronym>, se você for novo com o &CUPS;.</para>
<para>O &CUPS; está acessível através de outros meio do que somente a linha de comando do &tdeprint; 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. </para>
<para>Isto é também verdadeiro para o &tdeprint;. 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.</para>
<para>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.</para>
<para>Uma lista completa de arquivos e páginas de manual disponíveis devem estar sempre no Manual do Administrador do &CUPS; (<ulink url="http://localhost:631/sam.html#FILES">http://localhost:631/sam.html#FILES</ulink>. No &konqueror; no campo da &URL; digite <userinput>man:/lpadmin</userinput> e <userinput>man:/cupsd.conf</userinput> 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.</para>
<title>Permitir ou negar o acesso a impressora para certos usuários</title>
<para>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:</para>
<para>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 <errortype>client-error-not-possible</errortype>.</para>
<para>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 <quote>negado</quote> desejar imprimir na DigiMaster via servidor &CUPS;, ele receberá uma mensagem de erro com as linhas <errortype>client-error-not-possible</errortype>.</para>
<para>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.</para>
<para>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.</para>
<para>As quotas podem ser configuradas com a opção <option>-o</option>, ao instalar uma impressora com o comando <command>lpadmin</command> 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;):</para>
<para>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).</para>
<para>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 <systemitem class="username">Kurt</systemitem> or <systemitem class="username">root</systemitem>.</para>
<para>Existem as opções <option>job-k-limit</option>, <option>job-page-limit</option>, e <option>job-quota-period</option> para se fornecer ao configurar uma impressora.</para>
<para><option>job-quota-period</option> 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>
<para>Para quotas a serem forçadas, o período de tempo <emphasis>mais </emphasis>, no mínimo, um job-limit, devem ser ajustados para valores diferentes de zero.</para>
<para>O valor padrão de 0 para a opção <option>job-quota-period</option> especifica que os limites aplicam-se a todas as tarefas que foram impressas por um usuário que ainda é conhecido para o sistema.</para>
<para>Isto configura um limite de um tamanho de arquivo de 1 MB (no total) para cada usuário da impressora existente <systemitem class= "resource">danka_infotec_4850</systemitem> durante uma semana.</para>
<para>Isto configura um limite de 100 páginas (no total) para cada usuário da impressora <systemitem class="resource">danka_infotec_4105</systemitem> durante uma semana.</para>
<para>Isto configura um limite combinado de 1 MB (no total) e 100 páginas (no total) para cada usuário da impressora <systemitem class="resource">danka_infotec_P450</systemitem> durante uma semana. Qualquer limite que for alcançado primeiro a configuração terá efeito.</para>
<para><emphasis>NÃO</emphasis> funcionais, pois somente <emphasis>um </emphasis>, período de tempo <emphasis>ou</emphasis> um limite de tarefas de impressão é definido).</para>
<para>Uma vez que o usuário alcança seu limite de quota, ele obterá uma mensagem do tipo <errortype>client-error-not-possible</errortype>, quando ele desejar imprimir.</para>
<title>Instalando uma impressora <quote>bruta</quote></title>
<para>Existem diferentes maneiras de definir uma impressora <quote>bruta </quote>. A maneira confortável é usar o comando <command>lpadmin </command>, apenas não defina um arquivo &PPD;, que será usado pela impressora:</para>
<para>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 <acronym> PCL</acronym>; 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 <quote> <command>lpadmin</command> sem um &PPD;</quote> torna-se útil.</para>
<para>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 <quote> vazio</quote>.</para>
<para>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)</para>
<para>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.</para>
<para>Para ser capaz de reiniciar os seus trabalhos <quote>completos</quote> da interface web, você precisa de uma configuração no arquivo <filename>/etc/cups/cupsd.conf</filename>: ajuste a opção <userinput> PreserveJobFiles True</userinput>.</para>
<para>O &CUPS; faz a <quote>contabilidade de impressão</quote> passando cada trabalho através do filtro <quote>pstops</quote>. 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;).</para>
<para>Em qualquer caso, isto funciona para impressoras de rede, paralelas, seriais ou <acronym>USB</acronym> do mesmo jeito. Para o pstops funcionar, ele precisa que <acronym>DSC</acronym> (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 <filename>/var/log/cups/page_log</filename>.</para>
<para>A propósito: em minha lista pessoal de <quote>tarefas</quote> existe uma adaptação do <quote>webalizer</quote> para ler e analisar o page_log e fornecer uma saída similar. Alguém se habilita?</para>
<para>No entanto, <emphasis>não</emphasis> são fornecidos os resultados corretos nos seguintes casos:</para>
<para>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).</para>
<para>Assim, a contabilidade de páginas do &CUPS; é <quote>somente</quote> 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 <quote>click price</quote> ou similar). Algumas, de longe sendo não melhor, as impressoras podem ser consultadas remotamente pelas informações via <acronym>SNMP</acronym> (Protocolo Simples de Gerenciamento de Rede). Isto significa que, em uma rede maior e com bastante impressoras diferentes, <emphasis>não </emphasis> não existe uma ferramenta de contagem de páginas confiável e precisa.</para>
<para>De clientes &Windows;, os trabalhos quase sempre precisam ser enviados como <quote>brutos</quote>. 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 <quote>bruta</quote>; 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 é <quote>1</quote>.</para>
<para>Veja a página de manual para o comando <command>lpoptions</command>. 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 <quote>navegação de impressora</quote> do &CUPS;), ela também funcionará remotamente. </para>
<para>Para consultar uma opção da impressora digite <userinput><command> lpoptions</command> <option>-p</option><parameter> HitachiDDP70MicroPress</parameter> <option>-l</option></userinput>, 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.</para>
<para>Você sabe que, para fabricantes de impressoras &PostScript;, é <quote>legal</quote> 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 <emphasis>você</emphasis> faz se deseja usar algumas opções obscuras na linha de comando? Como encontrar suas sintaxes exatas?</para>
<para>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?</para>
<para>Para sobrescrever a configuração padrão apresentada (duplex) e imprimir um trabalho no modo simples, você precisa usar o seguinte comando: </para>
<para>Use o comando <command>lphelp</command> que pode ser instalado em seu sistema localmente. Ainda não existe uma página de manual para o <command>lphelp</command>.</para>
<para>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:</para>
<para>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 <systemitem class="resource">Melhor_HP</systemitem> será o mesmo que <systemitem class="resource">melhor _hp</systemitem> ou <systemitem class="resource">MELHOR_HP</systemitem> (isto é um requerimento do &IPP; no qual o &CUPS; está em completa conformidade).</para>
<para>Por que eu obtenho o erro <errortype>Unable to connect to SAMBA host: Success</errortype> com minhas impressoras compartilhadas do &Windows; acessadas via Samba?</para>
<para>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?</para>
<para>Meus arquivos para uma impressora <systemitem class="resource">lp</systemitem> 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?</para>
<para>Acredite, é muito difícil que sua impressora é a única com o nome <systemitem class="resource">lp</systemitem>. Talvez o &CUPS; esteja aplicando um truque em você. Como você pode ter configurado a opção <quote>ImplicitClasses On</quote>, o &CUPS; tenta localizar todas as impressoras que ele vê na rede dentro de um nome de <quote>Classe</quote> 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? </para>
<para>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).</para>