Os clientes do CUPS precisam ter drivers instalados localmente?

10

Se eu usar o CUPS, os clientes devem ter drivers instalados localmente?

Exemplo: digamos que temos 1 PC em rede com Linux, 1 servidor de impressão (ou CUPS, servidor de impressão Samba)

Se o PC Linux quiser imprimir um documento através do servidor de impressão, é necessário que o PC Linux tenha os drivers para a impressora que vai usar?

Ou ele usa alguma API genérica?

bakytn
fonte
Estou lutando com as impressoras CANON LBP. Eu tentei de tudo! E não é possível fazê-los trabalhar localmente. Mas preciso que os computadores Linux possam imprimir com eles. LBP 810 e LBP 1120.
bakytn
Acho que o seu problema é que a LBP810 (e talvez a 1120) são impressoras de win, com toda a inteligência do computador. IIRC: nunca houve drivers de Linux produzidos para o 810 (pelo menos). Veja minha edição abaixo para algumas sugestões.
ConcernedOfTunbridgeWells
Linux -> não; Windows -> deveria, mas não obrigatório
MUY Bélgica

Respostas:

10

O servidor de impressão executando o CUPS é a única máquina que precisa dos drivers. Leia sobre o CUPS na Wikipedia, por exemplo - na seção Visão geral , ele afirma isso claramente:

O CUPS permite que os fabricantes de impressoras e desenvolvedores de drivers de impressora criem mais facilmente drivers que funcionam nativamente no servidor de impressão. O processamento ocorre no servidor, facilitando a impressão baseada em rede do que com outros sistemas de impressão Unix. Com o Samba instalado, os usuários podem endereçar impressoras em computadores Windows remotos e drivers PostScript genéricos podem ser usados ​​para imprimir na rede.

Caso contrário, qual seria o benefício real da execução do CUPS?

rozcietrzewiacz
fonte
5

Se você estiver usando o Samba / CUPS como um servidor de impressão para clientes baseados em Windows, os clientes normalmente terão drivers para essa impressora, embora em alguns casos o CUPS possa fazer sua própria tradução. Por exemplo, é possível configurar o ghostscript e renderizar o postscript para exibição em uma impressora que não seja PS, embora os clientes Windows precisem de um driver PS que funcione bem com isso.

Para clientes Linux, a resposta é: é complicado, mas não é. O Unix / Linux tradicional não possui uma API nativa padrão de impressão ou renderização equivalente à GDI do Windows, embora bibliotecas como o Cairo possam fornecer essa funcionalidade para aplicativos que as utilizam. A maioria dos aplicativos unix tradicionais apenas imprimem ASCII para stdout ou gerar arquivos Postscript nativamente. Bibliotecas de renderização independentes de dispositivo, como o Cairo, serão renderizadas no Postscript por meio de seu próprio driver, que seria empacotado no cliente com a biblioteca.

Você certamente encontrará o Postscript em algum lugar do fluxo de trabalho para um sistema de impressão CUPS ou lpr / lpd mais antigo. Normalmente, os clientes produzem saída ASCII ou Postscript. A saída ASCII será convertida através de algo como a2ps e Postscript que acabamos de passar. O Postscript será passado para a impressora ou para uma camada de renderização baseada no Ghostscript.

Já faz um tempo desde que eu configurei um subsistema de impressão baseado em Linux, mas os drivers PS do IIRC são bem genéricos, com apenas um arquivo PPD para a impressora de destino. Os clientes não precisam necessariamente saber muito sobre isso. Tradicionalmente, você apenas configura filas para impressão de maneiras diferentes (por exemplo, frente e verso, não frente e verso ou papel timbrado) e elas se tornam destinos de impressão separados.

Se você estiver usando aplicativos com controle local da impressora, por exemplo, aplicativos que usam a API GNOME-Print ou imprimindo arquivos diretamente com lpr -oopções, o recurso de impressão poderá exercer mais controle sobre o destino real da impressora. Por exemplo, determinadas bandejas ou opções de duplex podem ser selecionadas. Se você tiver um arquivo PPD correto para a impressora instalada no servidor CUPS, essas opções deverão funcionar no cliente sem exigir que o cliente tenha um software de driver adicional instalado.

EDIT: No seu caso, acho que o problema pode ser que o LBP810 seja um winprinter e nunca houve drivers de Linux produzidos para ele. Sua melhor aposta pode ser obter uma impressora diferente, o que pode ser feito de forma muito barata se você a abordar corretamente.

Impressoras a laser de segunda mão são muito baratos no Ebay, e você pode obter uma Laserjet 4100 ou algo semelhante para cerca de 100 USD , dependendo da sua localização. Todos os lasers HP de gama média suportam Postscript ou PCL5 / 6 e funcionam bem com Linux e CUPS. Você deve ter poucos problemas para que um deles funcione e os usados ​​são tão baratos que você pode tratá-los como um item descartável.

ConcernedOfTunbridgeWells
fonte
Você diz que quando um PPD é instalado no servidor CUPS, o cliente não precisa de drivers. E os clientes Windows que exigem explicitamente um driver ao adicionar uma impressora compartilhada com o CUPS?
CDuv