Tenho um aplicativo que desenvolvi que controla o acesso à impressora para usuários específicos. Eu faço isso usando o CUPS e os comandos lpadmin
lpadmin -u allow:"+PRINT_USER_NAME+" -p "+printerName
lpadmin -u deny:"+PRINT_USER_NAME+" -p "+printerName
Este comando parece funcionar muito bem para todos, exceto para esta impressora EPSON Stylus Pro 9800. Mesmo que o usuário tenha permissão para imprimir, esta mensagem de erro aparece na fila
/Library/Printers/EPSON/InkjetPrinter2/Filter/rastertoescpII.app/Contents/MacOS/rastertoescpII failed
Agora, aqui está o chute, que acredito ser a chave. Quando um usuário tem permissão para imprimir, ele aparece no painel de controle do CUPS como sendo permitido assim
Mas se eu remover completamente esse usuário da lista Permitir e Prevenir, essencialmente dizendo que tem permissão para imprimir, tudo funcionará perfeitamente. Portanto, a mensagem de erro só aparece se o usuário estiver na lista de Permitidos controlados pelo CUPS.
Então posso pensar em 2 opções:
1) Descubra por que o uso do CUPS para controle de acesso causa esse problema com esta impressora específica.
2) Descubra como (usando a linha de comando) retirar um usuário da lista de negações sem usar o lpadmin -u allow
comando. Isso deve fazer com que o usuário não esteja mais em nenhuma lista de controle de acesso do CUPS, o que provou funcionar.
A opção nº 2 parece ser a opção mais fácil. Ajuda por favor?
Responder1
Descobri, quando estava com a opção também e usei o comando
lpadmin -u allow:all -p "+printerName
Isso essencialmente limpa a lista de controle de acesso do CUPS tanto no lado de aprovação quanto no de negação, dando-me assim o resultado que desejo e que funcione. Embora eu esteja curioso para saber por que isso está acontecendo em primeiro lugar.