Imprimindo do Linux para Windows via LPD sem usar o Samba

As ultimas atualizações do Windows 10 criaram grandes problemas para imprimir de Linux para Windows.
Passei por situações onde em ambiente de teste funcionava mas nos cliente por mais que tudo estava configurado igual dava erro e não imprimia.
Cansando e sem perspectiva de solução optei por uma nova abordagem do problema.
Em vez de insistir usando SAMBA/CUPS por que não usar CUPS/LPR ?
Apesar de pouco documentado o Windows possui suporte a impressão no formato LPR mas o mesmo vem desativado por padrão.
Então vamos para os procedimentos necessários.

Parte 1 – Ativar o Serviço LPD no Windows.

Então o primeiro passo é ativar o mesmo. Para isto abre o painel de controle “Clássico” o mesmo do estilo do Windows7.

Vá em Painel de controle.:

Painel de controle\Programas.:

Painel de controle\Programas\Programas e recursos.:

Selecione “Ativar ou desativar recursos do Windows”

Na janela “Ativar ou desativar recursos do Windows” procure por “Serviços de impressão e Documentos” e marque a opção “Serviço de impressão LPD”

Aplique as modificações do Windows e reinicie caso necessário.

Instale, configure e compartilhe sua impressora no windows como faria normalmente. Mas recomendo no nome do compartilhamento usar nomes curtos e evitar espaços nos nomes, pois na hora de configurar o computador com Linux espaços devem ser substituídos por %20 o que pode deixar a configuração mais confusa e gerar erros.

Parte 2 – Configurar o cliente LINUX.

Caso o computador onde a impressora esteja instalada possua endereço ip fixo podemos configurar apontando para o endereço ip do computador. Mas caso o mesmo não possua ip fixo ai devemos configurar pelo nome NetBios mas para isto precisamos de configurações adicionais em seu computador com Linux.

Nas distribuições baseadas em Debian instale os pacotes:
smbclient libnss-winbind
Fontes: https://charlieharvey.org.uk/page/slow_nautilus_browse_with_netbios

apt-get install smbclient libnss-winbind

Agora edite o arquivo.:
/etc/nsswitch.conf

localize a linha começando com “hosts:” algo parecido como abaixo.

hosts:          files mdns4_minimal [NOTFOUND=return] dns myhostname

edite e após a palavra files adicione “wins”, deve ficar assim agora.

hosts:          files wins mdns4_minimal [NOTFOUND=return] dns myhostname

Agora seu computador com Linux consegue localizar computadores windows pelo nome netbios. Agora podemos configurar via cups para imprimir no computador com windows.
No meu exemplo vou configurar utilizando a interface web do próprio cups mas outros métodos podem ser usados.

Como na imagem abaixo acesse em seu navegador o endereço https://127.0.0.1:631

Vá em “Administração” e selecione “Adicionar impressora”

Vai surgir uma janela de autenticação. Em distribuições Debian digite o login “root” e a senha do mesmo. Caso seu Linux seja Ubuntu ou Linux Mint use o usuário principal e senha do mesmo.
Com a autenticação bem sucedida selecione a opção “Impressora ou máquina LPD/LPR”. Obs: Eventualmente o texto pode variar um pouco conforme a versão do Cups ou do Linux.

Agora clique em continuar. Obs: No meu exemplo a versão do Cups está com erro de tradução e está escrito “Continar”…

No meu exemplo o computador se chama “win10-pc” e a impressora está compartilhada como “hplaser”.
Então a configuração fica.: lpd://win10-pc/hplaser

Após configurar clique em continuar.

Selecione o fabricante da impressora. No meu exemplo selecionei “HP”.

Na próxima tela selecione o modelo de sua impressora conforme o exemplo abaixo.

Na próxima tela selecione “Definir opções padrão”

Pronto. A impressora está configurada.

Agora pode testar sua impressão. Claro que para algumas impressoras como hp1102w e modelos Samsung drivers adicionais devem estar instalados em seu Linux para o correto funcionamento.