Por que não consigo imprimir do Windows no CUPS a partir de um único aplicativo?

2

Eu configurei um servidor Fedora 10 e quero imprimir em uma impressora conectada a partir de três estações de trabalho Windows Vista e duas XP.

Depois de muita leitura manual, tive essa situação:

  • Todas as estações de trabalho podem imprimir
  • Uma estação de trabalho pode imprimir de todos os aplicativos, exceto um.

O infrator é o IE7 (e o IE8) de uma estação de trabalho do Vista Business. Toda vez que um trabalho de impressão é iniciado a partir desse aplicativo nessa estação de trabalho específica, recebo um erro de "acesso negado" nos logs do CUPS. Imprimir a partir do IE a partir de outras estações de trabalho funciona. (WTF?!)

Minha solução atual é primeiro imprimir em um arquivo PDF e, em seguida, imprimir esse PDF do Adobe Reader a partir da mesma estação de trabalho.

Um problema secundário é que eu não tenho muita experiência com o Fedora / Linux, então isso pode ser uma questão noob. Desculpe se esse é o caso.

  • Qual poderia ser o problema?
  • "Acesso negado" a quê? O log não fornece mais informações sobre qual recurso o acesso foi negado. Quais são os suspeitos do costume?
  • Qual é a melhor maneira de depurar essas situações?

Eu não estou usando o Samba para impressão, eu simplesmente não consegui fazê-lo funcionar. Estou usando o CUPS sem autenticação, ou seja, todos podem imprimir. Nas estações de trabalho, adicionei as impressoras como "impressora da Internet", fornecendo este URL https://myserver:631/printers/myprinter

EDIT: Eu atualizei para o Fedora 11 e o problema ainda existe ...

EDIT 2: Mais algumas informações:

  • atualizei para o Fedora 12 e o problema ainda existe
  • Imprimir a partir do Adobe Reader como um plugin do Internet Explorer resulta no mesmo problema, então parece que o problema está em algum lugar com o processo em si.
por Daniel Rikowski 08.06.2009 / 19:07

2 respostas

1

O problema pode ser o formato dos dados que são enviados para a impressora. Você usa drivers de impressora nativos na estação de trabalho do Windows? Nesse caso, talvez seja necessário ativar a impressão "bruta", ou seja, enviar códigos de impressão binários brutos da estação de trabalho até a impressora.

Pode ser necessário editar o arquivo de configuração cups e descomentar application/octet-stream para ativar a impressão não processada. Não sei quais são as ramificações de segurança disso.

A outra coisa que pode ou não funcionar para você é configurar sua impressora como uma impressora postscript, usando um driver de postscript genérico no cliente Windows. No entanto, raramente consegui que isso funcionasse corretamente.

    
por 08.06.2009 / 19:35
0

Como você está expondo a impressora ... via Samba eu assumo? Como Sr. Brilhante e Novo disse, você provavelmente quer expor a impressora como uma impressora "bruta", permitindo que os dispositivos Windows usem os drivers normais para falar com a impressora. É assim que eu sempre expus as impressoras de um servidor Linux para clientes Windows.

Para depurar isso, você deve examinar os logs do Samba e os logs do CUPS. Primeiro, verifique os logs do Samba para ver se você pode ver o acesso das máquinas Windows à impressora. Verifique também os logs do CUPS. Procure por erros em qualquer conjunto de registros.

Se você tiver o selinux habilitado, então para fins de teste somente execute o comando:

setenforce permissive

Depois de fazer isso, reinicie o Samba e o CUPS e tente acessar. Se isso fizer diferença, talvez seja necessário procurar nos logs de auditoria do selinux para alterar algumas permissões. Supondo que você normalmente tenha o selinux no modo enforcing, quando tiver concluído o teste, reative-o com:

setenforce enforcing
    
por 08.06.2009 / 22:53