[ anterior ] [ Conteúdo ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ] [ 16 ] [ 17 ] [ 18 ] [ 19 ] [ 20 ] [ 21 ] [ próximo ]
Este capitulo descreve como imprimir em seu sistema GNU/Linux
e as
formas de impressão via spool, rede, gráfica, etc.
Antes de seguir os passos descritos neste capítulo, tenha certeza que seu kernel foi compilado com o suporte a impressora USB e/ou paralela ativado, caso contrário até mesmo a impressão direta para a porta de impressora falhará. .
Uma porta de impressora é o local do sistema usado para se comunicar com a
impressora. Em sistemas GNU/Linux
, a porta de impressora paralela
é identificada como lp0, lp1, lp2
no diretório /dev
,
caso a impressora seja USB, o dispositivo será o mesmo, mas estará disponível
no diretório /dev/usb
. Os dispositivos lp0, lp1 e
lp2
correspondem respectivamente a LPT1
, LPT2
e LPT3
no DOS
e Windows
. Recomendo que
o suporte a porta paralela esteja compilado como módulo no kernel.
Isto é feito direcionando a saída ou o texto com > diretamente
para a porta de impressora no diretório /dev
.
Supondo que você quer imprimir o texto contido do arquivo
trabalho.txt
e a porta de impressora em seu sistema é
/dev/usb/lp0
, você pode usar os seguintes comandos:
cat trabalho.txt >/dev/usb/lp0 - Direciona a saída do comando
cat
para a impressora USB conectada em lp0.
cat <trabalho.txt >/dev/usb/lp0. Faz a mesma coisa que o acima.
cat -n trabalho.txt >/dev/usb/lp0 - Numera as linhas durante a impressão.
head -n 30 trabalho.txt >/dev/usb/lp0 - Imprime as 30 linhas iniciais do arquivo.
cat trabalho.txt|tee /dev/usb/lp0 - Mostra o conteúdo do
cat
na tela e envia também para a impressora USB.
Os métodos acima servem somente para imprimir em modo texto (letras, números e caracteres semi-gráficos).
OBS: Note que a impressora somente imprimirá diretamente a partir da porta, caso ela seja uma impressora com firmware interna (impressora inteligente). Algumas impressoras mais recentes (principalmente os modelos mais baratos) somente imprimem caso estejam configuradas com o respectivo driver (Win Printers ou impressoras via software), e nunca aceitarão o comando diretamente para a porta de impressão. Para Win Printers, a melhor alternativa de configuração de funcionamento será através do CUPS (Common Unix Print System).
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 seqüê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.
A impressão em modo gráfico requer que conheça a marca e modelo de sua impressora e os métodos usados para imprimir seus documentos. Este guia abordará somente a segunda recomendação :-)
O método mais usados pelos aplicativos do GNU/Linux
para a
impressão de gráficos do Ghost Script. O Ghost Script (chamado de
gs) é um interpretador do formato Pos Script (arquivos
.ps
) e pode enviar o resultado de processamento tanto para a tela
como impressora. Ele está disponível para diversas plataformas e sistema
operacionais além do GNU/Linux
, inclusive o DOS
,
Windows
, OS/2
, etc.
O formato .ps
esta se tornando uma padronização para a impressão
de gráficos em GNU/Linux
devido a boa qualidade da impressão,
liberdade de configuração, gerenciamento de impressão feito pelo gs e
por ser um formato universal, compatíveis com outros sistemas operacionais.
Para imprimir um documento via Ghost Script, você precisará do pacote
gs
, gsfonts
(para a distribuição Debian
e distribuições baseadas, ou outros de acordo com sua distribuição Linux) e
suas dependências. A distribuição Debian
vem com vários exemplos
Pos Script no diretório /usr/share/doc/gs/example
que são úteis
para o aprendizado e testes com o Ghost Script.
Hora da diversão:
Copie os arquivos tiger.ps.gz
e alphabet.ps.gz
do
diretório /usr/share/doc/gs/examples
(sistemas
Debian
) para /tmp
e descompacte-os com o comando
gzip -d tiger.ps.gz e gzip -d alphabet.ps.gz
. Se a sua
distribuição não possui arquivos de exemplo ou você não encontra nenhuma
referência de onde se localizam, mande um e-mail que os envio os 2 arquivos
acima (são 32Kb).
O Ghost Script requer um monitor EGA, VGA ou superior para a visualização dos seus arquivos (não tenho certeza se ele funciona com monitores CGA ou Hércules Monocromático) .
Para visualizar os arquivos na tela digite:
gs tiger.ps gs alphabet.ps
Para sair do Ghost Script
pressione CTRL+C. Neste
ponto você deve ter visto um desenho de um tigre e (talvez) letras do alfabeto.
Se o comando gs alphabet.ps mostrou somente uma tela em branco,
você se esqueceu de instalar as fontes do Ghost Script (estão localizadas no
pacote gsfonts
na distribuição Debian).
Para imprimir o arquivo alphabet.ps
use o comando:
gs -q -dSAFER -dNOPAUSE -sDEVICE=epson -r240x72 -sPAPERSIZE=legal -sOutputFile=/dev/lp0 alphabet.ps
O arquivo alphabet.ps
deve ser impresso. Caso aparecerem
mensagens como Error: /invalidfont in findfont no lugar das
letras, você se esqueceu de instalar ou configurar as fontes do Ghost Script.
Instale o pacote de fontes (gsfonts
na Debian
) ou
verifique a documentação sobre como configurar as fontes.
Cada uma das opções acima descrevem o seguinte:
-q, -dQUIET - Não mostra mensagens de inicialização do Ghost Script.
-dSAFER - É uma opção para ambientes seguros, pois desativa a operação de mudança de nome e deleção de arquivo e permite somente a abertura dos arquivos no modo somente leitura.
-dNOPAUSE - Desativa a pausa no final de cada página processada.
-sDEVICE=dispositivo - Dispositivo que receberá a saída do Ghost
Script. Neste local pode ser especificada a marca o modelo de sua impressora
ou um formato de arquivo diferente (como pcxmono, bmp256) para que o arquivo
.ps
seja convertido para o formato designado.
Para detalhes sobre os dispositivos disponíveis em seu Ghost Script, digite gs --help|less ou veja a página de manual. Normalmente os nomes de impressoras e modelos são concatenados, por exemplo, bjc600 para a impressora Canon BJC 600, epson para impressoras padrão epson, stcolor para Epson Stylus color, etc.
O Hardware-HOWTO contém referências sobre hardware suportados pelo
GNU/Linux
, tal como impressoras e sua leitura pode ser útil.
-r<ResH>x<ResV> - Define a resolução de impressão (em dpi) Horizontal e Vertical. Os valores dependem de sua impressora.
-sPAPERSIZE=tamanho - Tamanho do papel. Podem ser usados a4, legal, letter, etc. Veja a página de manual do gs para ver os outros tipos suportados e suas medidas.
-sOutputFile=dispositivo - Dispositivo que receberá a saída de processamento do gs. Você pode especificar
arquivo.epson - Nome do arquivo que receberá todo o resultado do
processamento. O arquivo.epson
terá toda a impressão codificada
no formato entendido por impressoras epson e poderá ser impresso com o comando
cat arquivo.epson >/dev/lp0.
Uma curiosidade útil: É possível imprimir este arquivo em outros sistemas
operacionais, tal como o DOS
digitando: copy /b arquivo.eps
prn (lembre-se que o DOS
tem um limite de 8 letras no nome
do arquivo e 3 na extensão. Você deve estar compreendendo a flexibilidade que
o GNU/Linux
e suas ferramentas permitem, isso é só o começo.
impressao%d.epson - Nome do arquivo que receberá o resultado do
processamento. Cada página será gravada em arquivos separados como
impressao1.epson
, impressao2.epson
.
Os arquivos podem ser impressos usando os mesmos métodos acima.
/dev/lp0 para uma impressora em /dev/lp0
- para redirecionar a saída de processamento do gs
para a saída padrão. É útil para usar o gs com pipes |.
\|lpr - Envia a saída do Ghost Script para o daemon de impressão. O objetivo é deixar a impressão mais rápida.
Se você é curioso ou não esta satisfeito com as opções mostradas acima, veja a
página de manual do gs
.
O Magic Filter é um filtro de impressão inteligente. Ele funciona
acionado pelo spool de impressão (mais especificamente o arquivo
/etc/printcap
) e permite identificar e imprimir arquivos de
diversos tipos diretamente através do comando lpr arquivo.
É um ótimo programa e ALTAMENTE RECOMENDADO se você deseja apenas clicar no botão imprimir e deixar os programas fazerem o resto :-) A intenção do programa é justamente automatizar os trabalhos de impressão e spool.
A maioria dos programas para ambiente gráfico X11, incluindo o Netscape, Word
Perfect, Gimp e Star Office trabalham nativamente com o
magicfilter
.
O Magic Filter é encontrado no pacote magicfilter
da distribuição
Debian
e baseadas.
Sua configuração pode ser feita com o programa magicfilterconfig
que torna o processo de configuração rápido e fácil para quem não conhece a
sintaxe do arquivo /etc/printcap
ou não tem muitas exigências
sobre a configuração detalhada da impressora.
Após instalar o magicfilter
reinicie o daemon de impressão (se
estiver usando a Debian
, entre no diretório
/etc/init.d
e como usuário root digite ./lpr
restart ou ./lprng restart).
Para testar o funcionamento do magicfilter
, digite lpr
alphabet.ps e lpr tiger.ps, os arquivos serão enviados para
o magicfilter
que identificará o arquivo como Pos Script,
executará o Ghost Script e retornará o resultado do processamento para o daemon
de impressão. O resultado será visto na impressora.
Se tiver problemas, verifique se a configuração feita com o
magicfilterconfig
está correta. Caso precise re-configurar o
magicfilter
, digite magicfilterconfig --force
(lembre-se que a opção --force substitui qualquer configuração personalizada
que tenha adicionado ao arquivo /etc/printcap
).
Durante a configuração do magicfilter
, a seguinte linha é
adicionada ao arquivo /etc/printcap
:
:if=/etc/magicfilter/epson9-filter
Não tenho nenhum contrato de divulgação com a epson :-) estou usando
esta marca de impressora porque é a mais tradicional e facilmente encontrada.
A linha que começa com :if no magicfilter
identifica
um arquivo de filtro de impressão.
O arquivo /etc/magicfilter/epson9-filter
é criado usando o formato
do magicfilter, e não é difícil entender seu conteúdo e fazer algumas
modificações:
#! /usr/sbin/magicfilter # # Magic filter setup file for 9-pin Epson (or compatible) printers # # This file is in the public domain. # # This file has been automatically adapted to your system. # # wild guess: native control codes start with ESC 0 \033 cat # PostScript 0 %! filter /usr/bin/gs -q -dSAFER -dNOPAUSE -r120x72 -sDEVICE=epson -sOutputFile=- - -c quit 0 \004%! filter /usr/bin/gs -q -dSAFER -dNOPAUSE -r120x72 -sDEVICE=epson -sOutputFile=- - -c quit # PDF 0 %PDF fpipe /usr/bin/gs -q -dSAFER -dNOPAUSE -r120x72 -sDEVICE=epson -sOutputFile=- $FILE -c quit # TeX DVI 0 \367\002 fpipe /usr/bin/dvips -X 120 -Y 72 -R -q -f # compress'd data 0 \037\235 pipe /bin/gzip -cdq # packed, gzipped, frozen and SCO LZH data 0 \037\036 pipe /bin/gzip -cdq 0 \037\213 pipe /bin/gzip -cdq 0 \037\236 pipe /bin/gzip -cdq 0 \037\240 pipe /bin/gzip -cdq 0 BZh pipe /usr/bin/bzip2 -cdq # troff documents 0 .\?\?\040 fpipe `/usr/bin/grog -Tps $FILE` 0 .\\\" fpipe `/usr/bin/grog -Tps $FILE` 0 '\\\" fpipe `/usr/bin/grog -Tps $FILE` 0 '.\\\" fpipe `/usr/bin/grog -Tps $FILE` 0 \\\" fpipe `/usr/bin/grog -Tps $FILE`
Você deve ter notado que para cada tipo de arquivo existe o respectivo programa que é executado, basta você modificar as opções usadas nos programas neste arquivo (como faria na linha de comando) para afetar o comportamento da impressão.
Por exemplo, modificando a resolução para -r240x72 no processamento de arquivos Pos Script (gs), a impressora passará a usar esta resolução.
Aqui será explicado como fazer seu sistema Linux
atuar como um
servidor de impressão para outras máquinas de sua rede.
As máquinas autorizadas a usar a impressora local deverão ter seus nomes
incluídos no arquivo /etc/hosts.lpd
(para o daemon
lpd
padrão) ou /etc/lprng/lpd.perms
(para o daemon
lpd
do pacote lprng
).
O arquivo /etc/lprng/lpd.perms
do lprng
é mais
configurável (e complexo), uma linha como:
ACCEPT HOST=estacao1.dominio.org SERVICE=X,R,P,Q,M,C
aceitará os serviços (SERVICE) de conexão (X), lpr (R), impressão de trabalhos
(P), lpq (Q), lprm (M) e lpc (C) da máquina estacao1.dominio.org
.
Veja os comentários neste arquivo para entender o funcionamento de suas opções
ou a página de manual do lpd.perms
.
O rlpr
redireciona a impressão diretamente ao servidor de
impressão. Sua vantagem é que a impressão é feita diretamente sem a
necessidade de configurar um arquivo /etc/printcap
e dispensar
trabalhos adicionais de administração. Ele envia o trabalho de impressão
diretamente ao daemon lpd
na na porta 515 (a máquina deve estar
configurada para aceitar conexões, veja Dando
permissão para impresão remota via lpd/lprng, Seção 9.6.1).
Para enviar o arquivo listagem.txt
para a impressora hp
no servidor impr.meudominio.org
:
rlpr -Himpr.meudominio.org -Php listagem.txt
A opção -H especifica o nome do servidor de impressão e -P o nome da impressora. Caso não tenha permissões para imprimir na impressora remota, uma mensagem será mostrada.
Através deste método, a impressão será tratada através do spool remoto
(lpd
ou lprng
) e enviada ao servidor de impressão.
Para que isto funcione, utilize a seguinte configuração no seu arquivo
/etc/printcap
:
lp:Impressora remota:\ :sd=/var/spool/lpd/lp:\ :rm=impr.meudominio.org:\ :rp=hp:\ :sh:
Então quando for executado o comando lpr
na máquina remota, o
lprng
enviará a impressão para a impressora hp (rp=hp) na
máquina impr.meudominio.org
(rm=impr.meudominio.org
).
Caso você tenha a opção de imprimir tanto para uma impressora local quando para uma remota, você poderá usar uma configuração como a seguinte:
lp|hp|Impressora Local:\ :lp=/dev/lp0:\ :sd=/var/spool/lpd/hp:\ :sh:\ :pw#80:\ :pl#66: \ :px#1440:\ :mx#0:\ :if=/etc/magicfilter/dj930c-filter:\ :af=/var/log/lp-acct:\ :lf=/var/log/lp-errs: hp-r|Impressora Remota:\ :sd=/var/spool/lpd/lp:\ :rm=impr.meudominio.org:\ :rp=hp:\ :sh:
Para selecionar qual impressora será usada, adicione a opção
-Pimpressora na linha de comando dos utilitários lpr
,
lpq
, lprm
(por exemplo, lpr -Php-r
relatorio.txt. Quando a opção -P é especificada, a impressora
lp será usada por padrão.
OBS Lembre-se de reiniciar seu daemon de impressão toda vez
que modificar o arquivo /etc/printcap
.
[ anterior ] [ Conteúdo ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ] [ 16 ] [ 17 ] [ 18 ] [ 19 ] [ 20 ] [ 21 ] [ próximo ]
Guia Foca GNU/Linux
Versão 6.43 - domingo, 05 de setembro de 2010gleydson@guiafoca.org