Introdução
Um assunto que assusta muitos usuários novatos no
Linux, é a impressão. O Linux não possui um
excelente sistema de impressão, porém já
possui um suporte bem razoável para impressoras.
O sistema de impressão do Linux é baseado no
UNIX, cujo utilitário lpr, servia para imprimir texto ou
PostScript. Porém, hoje cada vez mais, novos formatos
surgem (PDF, GIF, JPG etc.) e cores são exigidas cada
vez mais.
Compatibilidade
A Primeira coisa a fazer, é verificar se a sua
impressora funciona no Linux. Uma boa maneira de fazer isso
é olhando listas de compatibilidade existentes na
Internet. A primeira é a:
Unix
printer compatibility database
, onde é possível procurar por impressora, tipo e
fabricante.
Uma outra lista de impressoras compatíveis é a
Lista
de Impressora Compatíveis com o Ghostscript
com centenas de referências.
Configuração
É necessário verificar se o seu kernel já
possui suporte a impressoras habilitados. Para isso,
você deve carregar o módulo
parport
(se você tiver o kernel 2.2 ou melhor). Caso você
ainda tenha o kernel 2.0 ou menor, use o módulo
lp
. Se você digitou
modprobe módulo
e não carregou, provavelmente terá que recompilar o
kernel.
Visto isso, a próxima etapa é configurar o
periférico. Existem várias alternativas para isso.
Indicaremos três opções diferentes.
A primeira que eu gosto muito e funciona na maioria dos
casos é usar o trio Ghostcript + Magicfilter ou
Apsfilter + LPRNG. Em praticamente todas as
instalações de impressora que já fiz no Linux,
esse trio sempre deu certo.
Note que eu posso usar o
lpr
, mais antigo de Berkley. Porém o lprng é mais
completo (embora complexo).
O processo começa quando temos um documento de
qualquer tipo (.pdf, .ps, .gif, ...) e queremos imprimir.
Esse arquivo passa pelo filtro do MagicFilter ou APSFilter
que define qual o seu tipo e o converte para Postscript,
mandando para o
lprng
que irá imprimir remotamente ou no local. O lprng
permite definir permissões de impressão e quotas,
sendo bem avançado.
Em geral, basta instalar em meus sistemas o lprng, o
magicfilter (ou o apsfilter) e o ghostscript (com suas fontes
- não esqueça, pois) que tudo funciona. O
magicfilter/apsfilter possui um configurador para cada filtro
de cada impressora. Assim, as coisas ficam mais fáceis.
Veja o exemplo abaixo:
O arquivo de configuração da impressora,
usando-se o trio de programas acima, é o
/etc/printcap
. Ele foi gerado pelo magicfilterconfig, respondendo-se as
questões na figura. Veja um exemplo dele:
lp|hplj3|HP Laserjet III:
:lp=/dev/lp0:sd=/var/spool/lpd/hplj3:
:sh:pw#80:pl#72:px#1440:mx#0:
:if=/etc/magicfilter/laserjet-filter:
:af=/var/log/lp-acct:lf=/var/log/lp-errs:
Temos uma impressora HP Laserjet III. Nesse exemplo,
você pode imprimir, chamando por
lpr arquivo
,
lpr -Plp arquivo
ou
lpr -Phplj3
. Os arquivos são impressos a partir do diretório
de spool
/var/spool/lpd/hplj3
e o filtro usado pelo MagicFilter é o
laserjet-filter
. Além disso, os erros ficam no
/var/log/lp-errs
e o gasto da impressora fica no
/var/log/lp-acct
.
Caso você queira usar a impressora de outra
máquina, seu
/etc/printcap
ficaria aproximadamente assim:
lp|hplj3|remota:
:lp=/dev/null:sd=/var/spool/lpd/hplj3:rm=ip.ip.ip.ip:rp=hplj3:
:sh:pw#80:pl#72:px#1440:mx#0:
:if=/etc/magicfilter/ljet3-filter:
:af=/var/log/lp-acct:lf=/var/log/lp-errs:
Isto é, a impressora imprime para o
/dev/null
e joga para a máquina
ip.ip.ip.ip
que possue a impressora
hplj3
instalada.
Uma vez instalado e configurado, basta digitar:
lpr arquivo
Onde arquivo é o nome do arquivo que você quer
imprimir. Ele pode ser de qualquer tipo que o filtro do
Magic/APSfilter entenda. Para ver o status da impressora,
digite:
lpq
Já para remover um job
n
, use:
lprm n
ou para remover todos os jobs, faça:
lprm all
Já para controlar a impressora: iniciar, terminar,
reordenar, use o comando:
lpc
PDQ
Mas talvez o lprng seja muito complexo para uma tarefa
simples que é armazenar um arquivo e despachá-lo
para impressão. Uma outra alternativa é o
PDQ
(Print, Dont Queue!) que pretende ser um sistema mais simples
e fácil de configurar, possuindo inclusive um front-end
gráfico para isso.
CUPS
Uma outra forma de imprimir é através do
CUPS
que é suportado pela empresa Easy Software que vende
mais de 2300 drivers de impressoras.
O
KUPS
serve de front-end gráfico em KDE para configurar o
CUPS.
Minha experiência com o PDQ ou o CUPS é pequena,
por isso, expliquei mais sobre a primeira alternativa,
porém parecem excelentes formas de configurar a
impressora. Lembre-se é necessário usar o
Ghostscript nessas duas opções também, se
você não possui um impressora Postscript.
Dicas
Use o comando a2ps para converter de texto para
PostScript. Ele pode converter em 2, 4 ou 8 colunas um
arquivo texto e prepará-lo direto para
impressão.
Para imprimir páginas manuais (por exemplo a do
ls
), use o comando:
$ man ls | col - b | lpr
Instale conversores de formatos. Em minha máquina
desktop, existem os programas:
html2ps
,
latex2html
,
latex2rtf
,
sgmltools
,
ps2pdf
,
pdf2ps
,
dvips
,
ps2ascii
,
ppmtogif
,
ppmtobmp
, ..., até o
gimp
e
image magick
, além do
eye of gnome
e
eletric eyes
. Eles são uma mão na roda quando é
necessário a conversão de um arquivo para
outro.
Para imprimir envelopes, use o programa
envelope
.