Alterar a diretiva padrão de erro da impressora do CUPS

9

Executo a impressão CUPS em vários servidores de aplicativos Linux multiusuário. Os sistemas são RHEL ou CentOS versão 4, 5 ou 6. Iniciando o EL5, o servidor de impressão CUPS assume como padrão uma política de erro que basicamente desativa a impressora quando ocorre um erro ou interrupção (desconexão do cabo USB, erro de rede, congestionamento de papel etc.) ) Essa é a ErrorPolicydiretiva na estrofe da impressora no /etc/cups/printers.confarquivo.

<Printer backupZ4>
Info backupZ4
DeviceURI socket://backupZ4:9100
State Idle
Accepting Yes
Shared Yes
JobSheets none none
QuotaPeriod 0
PageLimit 0
KLimit 0
OpPolicy default
ErrorPolicy stop-printer
</Printer>

Normalmente eu altero esse campo para ErrorPolicy retry-jobmanualmente no arquivo de configuração ou quando crio a impressora através da linha de comando:

lpadmin -p backupZ4 -v socket://backupZ4:9100 -o printer-error-policy=retry-job -E 

Quando outros usuários ou fornecedores gerenciam o sistema de impressão, geralmente esquecem essa alteração, que resulta na desativação total da impressora após um congestionamento de papel ou outros blips que precisam ser corrigidos com a cupsenable.

Gostaria de saber como criar retry-joba ErrorPolicy padrão no CUPS versus stop-printer.

ewwhite
fonte

Respostas:

8

Há uma solicitação de recurso que foi fechada com resolução para o CUPS 1.3 exatamente para esse comportamento. Link para o rastreador de erros do CUPS: http://www.cups.org/str.php?L1871

Não encontrei nenhuma documentação que suporte esse comportamento na documentação on-line do CUPS, mas a documentação no tarball de origem do CUPS 1.5.2 que baixei indica que uma declaração global 'ErrorPolicy' funcionaria no arquivo de configuração cupsd.conf.

Trecho da documentação do cupsd.conf no Ubuntu CUPS 1.5.2:

CUPS 1.3 / Mac OS X 10.5

ErrorPolicy

  Exemplos

     * ErrorPolicy abort-job
     * Trabalho de repetição ErrorPolicy
     * ErrorPolicy stop-printer

  Descrição

   A diretiva ErrorPolicy define a política padrão usada quando um
   o back-end não consegue enviar um trabalho de impressão para a impressora.

   Os seguintes valores são suportados:

     abortar trabalho - interrompe o trabalho e prossegue com o próximo trabalho na fila
     * Repetir trabalho - Repetir o trabalho após aguardar N segundos; the cupsd.conf
       A diretiva JobRetryInterval controla o valor de N
     * Repetir este trabalho - Repita o trabalho atual imediata e indefinidamente.
     * stop-printer - para a impressora e mantém o trabalho para impressão futura;
       Este é o valor padrão

(Nota: Os direitos autorais da documentação da Apple Inc. e Reformatted são legíveis.)

Magalhães
fonte
Sim, isso finalmente chegou ao RHEL / CentOS. Consegui fazer a mudança globalmente. Observe que isso não substitui as configurações nas impressoras existentes. Uma rápida localização / substituição ou sed cuida disso.
precisa saber é
Alguma idéia de por que a única opção para as classes de impressoras é repetir este trabalho na interface da web do CUPS? CUPS 2.1 / Ubuntu 16.04. As impressoras nessas classes podem ter todas as políticas de erro, mas a classe só fará novamente este trabalho?
Gnudiff
É melhor fazer isso como uma pergunta por si só. Eu não toquei CUPS desde o final de 2013.
Magellan