Guia do Linux/Avançado/Impressão/Imprimindo via spool

Imprimindo via spool

editar

A impressão via spool (fila de impressão) tem por objetivo liberar logo o programa do serviço que está fazendo a impressão deixando um outro programa especifico tomar conta.

Este programa é chamado de daemon de impressão, normalmente é o lpr ou o lprng (recomendado) em sistemas GNU/Linux.

Logo após receber o arquivo que será impresso, o programa de spool gera um arquivo temporário (normalmente localizado em /var/spool/lpd) que será colocado em fila para a impressão (um trabalho será impresso após o outro, em sequência). O arquivo temporário gerado pelo programa de spool é apagado logo após concluir a impressão.

Antes de se imprimir qualquer coisa usando os daemons de impressão, é preciso configurar os parâmetros de sua impressora no arquivo /etc/printcap. Um arquivo /etc/printcap para uma impressora local padrão se parece com o seguinte:


     lp|Impressora compatível com Linux
      :lp=/dev/lp0
      :sd=/var/spool/lpd/lp
      :af=/var/log/lp-acct
      :lf=/var/log/lp-errs
      :pl#66
      :pw#80
      :pc#150
      :mx#0
      :sh

É possível também compartilhar a impressora para a impressão em sistemas remotos, isto será visto em uma seção separada neste guia.

Usando os exemplos anteriores da seção Imprimindo diretamente para uma porta de impressora, vamos acelerar as coisas:

  • cat trabalho.txt |lpr - Direciona a saída do comando cat para o programa de spool lpr.
  • cat <trabalho.txt |lpr. Faz a mesma coisa que o acima.
  • cat -n trabalho.txt |lpr - Numera as linhas durante a impressão.
  • head -n 30 trabalho.txt |lpr - Imprime as 30 linhas iniciais do arquivo.

A fila de impressão pode ser controlada com os comandos:

  • lpq - Mostra os trabalhos de impressão atuais
  • lprm - Remove um trabalho de impressão

Ou usado o programa de administração lpc para gerenciar a fila de impressão (veja a página de manual do lpc ou digite ? ao iniciar o programa para detalhes).

OBS1: Se a impressora não imprimir ou não for possível compartilhar a porta de impressora paralela com outros dispositivos (tal como o plip), verifique se o módulo parport_pc foi carregado e com os valores de irq e I/O corretos (por exemplo, modprobe parport_pc io=0x378 irq=7). Muitas vezes sua porta paralela pode funcionar sem problemas durante a impressão, mas se ao utilizar plip ocorrerem erros, a causa pode ser essa. Na distribuição Debian, use o programa modconf para configurar os valores permanentemente para o módulo parport_pc.

OBS2: Se tiver mais de uma impressora instalada na máquina, será necessário especificar a opção "-P impressora" para especificar qual impressora deseja imprimir/controlar.