Eu tenho um cliente que está executando o RHEL 6 em vários servidores. A política proíbe a atualização. A política também proíbe conectá-lo à Internet. É acessível apenas para usuários de LAN.
Toda a saída é gerada em arquivos somente texto que são impressos em impressoras de linha Printronix. A configuração dessas impressoras foi simples, pois são impressoras de rede, elas estão diretamente conectadas à LAN e suportam LPD.
( De memória :)
lpadmin -E -h 192.168.1.10 -m anywhere -p Printer1
lp -d Printer1 textfile.txt
Agora, ele quer imprimir em um HP P1102 conectado ao seu PC.
Em seu PC (executando o Windows 10), habilitei o suporte LPD, compartilhei a impressora e a adicionei ao servidor:
lpadmin -E -h 192.168.1.20\HP1102 -m anywhere -p HP1102
lp -d HP1102 textfile.txt
Se eu abrir a janela da impressora no PC, vejo que um trabalho chega do servidor, mas depois desaparece da fila, nada é impresso, a impressora não aquece.
A próxima coisa que tentei é fornecer um PPD ao criar a impressora via lpadmin. No entanto, não consigo encontrar um arquivo PPD para ele.
Eu baixei o hplib, mas tentar instalar via rpm dá vários erros de dependência. Essa falta de conectividade é problemática.
Alguém tem um PPD para este modelo? Ou para qualquer modelo compatível? Como eu disse, toda saída é somente texto; sem gráficos, sem fontes, sem cores.
As impressoras de linha normalmente aceitam a entrada no modo de texto como estão, pois imprimem letras individuais diretamente. Mas as impressoras a laser precisam transformar tudo em uma imagem de bitmap para que o laser a transfira para o papel.
Impressoras a laser de baixo custo (como LaserJet P1102) podem não ter os recursos de hardware/firmware para transformar texto em uma imagem de uma página de texto e, em vez disso, dependerão do PC host para fazer isso. (Isso é conhecido como "impressão baseada em host" ou "Winprinter".)
O bitmap resultante pode até estar em um formato proprietário, que pode ser produzido apenas pelos drivers do fornecedor (a menos que seja submetido a engenharia reversa com êxito). Aparentemente, o servidor LPD do Windows não é capaz disso: provavelmente o driver de impressora do Windows para esta impressora espera apenas os formatos que as versões atuais do Windows usam internamente.
O banco de dados da impressora openprinting.org identifica o nível de suporte do Linux para esta impressora como Paperweight , indicando que não havia solução de impressão de código aberto para este modelo de impressora no momento em que a entrada foi criada. No entanto, a página de especificações da HP para este modelo indica que o suporte ao Linux da HP parece existir.
Portanto,
hplib
com suas dependências, pode ser a única maneira de oferecer suporte a essa impressora no Linux. Apenas ter um arquivo PPD não é suficiente: o arquivo CUPS PPD especificará as ferramentas necessárias para converter uma imagem bitmap ou um trabalho de impressão PS/PDF para o formato exigido pela impressora, mas você também precisará das ferramentas reais... que eu acho que seria fornecido porhplib
e suas dependências.Obtenha uma mídia de DVD para RHEL 6.x (6.10 se permitido pela política do cliente, ou versão apropriada se não), ou apenas uma imagem ISO de um. Você poderá facilmente montá-lo e usá-lo como um repositório de pacotes local para
yum
, consulte este documento público de suporte do RHEL para obter instruções.Em poucas palavras:
Depois de montar o DVD ou imagem ISO em algum local do sistema de arquivos, você precisará de um
.repo
arquivo para indicar sua disponibilidade como repositório para arquivosyum
. O conteúdo necessário de tal.repo
arquivo será:Substitua
<NNNNNNNNNN.NNNNNN>
por um ID de mídia que você pode encontrar em um.discinfo
arquivo na raiz do DVD/imagem e<full pathname of the mount point>
pelo nome do caminho completo do ponto de montagem do DVD/imagem. Em seguida, coloque o arquivo resultante como/etc/yum.repos.d/<name of your choice>.repo
.Em algumas versões do RHEL, haverá um
media.repo
arquivo básico preparado no diretório raiz do DVD/imagem para simplificar esse processo. Você precisará adicionar as últimas 3 linhas a ele.Finalmente execute
yum clean all
, e agora você pode usaryum
como se tivesse uma conexão com um repositório RHEL. Você pode ter que usar a--noplugins
opção comyum
para evitar atrasos associados às tentativas de contato com os servidores de rede RedHat.