Impressão: CUPS
O CUPS é um sistema de impressão open source mantido pela Apple e é, provavelmente, o mais simples para sistemas Unix-like.
Com o CUPS, adicionar e compartilhar impressoras pela rede se torna uma tarefa bastante fácil.
-
Baixe os pacotes com os programas e drivers necessários.
(Só possuo impressoras HP aqui, mas instale também
gutenprint
,foomatic-db
,foomatic-db-engine
,foomatic-db-nonfree
,foomatic-filters
,splix
eufr2
conforme sua necessidade)julio@julio-acer ~ $ sudo pacman -S cups ghostscript gsfonts hpoj hplip cups-pdf
-
Caso sua impressora não esteja listada, baixe seu arquivo PPD de <http://www.openprinting.org/printers para /usr/share/cups/model/>
-
Adicione o CUPS (
cupsd
) aos daemons em/etc/rc.conf
DAEMONS=(syslog-ng @network netfs crond alsa httpd mysqld dbus @ntpd sshd cupsd samba @subsonic oidentd)
-
Inicie o daemon e entre na interface web: http://localhost:631/
-
Faça login
- usuário: root
- senha: mesma senha do sistema
-
Em Administration, vá em “Find New Printer”. Ele deverá listar as impressoras conectadas, basta selecioná-las na lista.
O pacote
cups-pdf
, que instalamos anteriormente permite usar uma impressora virtual para gerar PDFs.Para configurá-lo selecione:
- Device: “CUPS-PDF (Virtual PDF Printer)”
- Make/Manufacturer: Generic
- Model/Driver: Generic Cups-PDF Printer
-
Para acessar o servidor de impressão remotamente, edite o arquivo
/etc/cups/cupsd.conf
e troqueListen localhost:631
porport 631
. -
Para permitir impressão pela rede basta editar o arquivo de configuração do samba.
Imprimir pela linha de comando
-
Use o
lpstat
para verificar as impressoras disponíveis:julio@julio-acer ~> lpstat -p -d printer CUPS-PDF is idle. enabled since Thu 19 Jan 2012 05:47:16 PM BRST printer HP_1310 is idle. enabled since Thu 19 Jan 2012 05:50:40 PM BRST no system default destination
-
Defina uma impressora padrão
julio@julio-acer ~> lpoptions -d HP_psc_1310_series 1 auth-info-required=none copies=1 device-uri=hp:/usb/psc_1310_series?serial=BR5763H068O2 finishings=3 job-hold-until=no-hold job-priority=50 job-sheets=none,none marker-change-time=0 number-up=1 printer-commands=AutoConfigure,Clean,PrintSelfTestPage printer-info='HP psc 1310 series' printer-is-accepting-jobs=true printer-is-shared=false printer-location='quarto do julio' printer-make-and-model='HP PSC 1310 Series hpijs, 3.11.10' printer-state=3 printer-state-change-time=1326936293 printer-state-reasons=none printer-type=10522636 printer-uri-supported=ipp://localhost:631/printers/HP_psc_1310_series
julio@julio-acer ~> lpstat -d system default destination: HP_psc_1310_series
-
Podemos imprimir um arquivo de texto com o comando lp.
julio@julio-acer ~> lp teste.txt request id is HP_1310-1 (1 file(s))
-
A impressão anterior ocorreu corretamente, porém o texto saiu um pouco grande e sem margem. Podemos configurar o tipo de papel, as margens e outras opções pela linha de comando:
julio@julio-acer ~> lp -d HP_1310 -o media=a4 -o cpi=12 -o lpi=8 -o page-left=72 -o page-top=72 teste.txt request id is HP_1310-20 (1 file(s))
Consulte o manual para mais opções.
Imprimindo pelo VIM
Após alguns anos usando o VIM como meu editor de textos padrão pude perceber que tem como fazer quase qualquer coisa através dele, imprimir textos é uma delas. Inclusive códigos com syntax highlighting. Diferente do GVim, que possui um ‘Print’ no menu File, realizar uma impressão pelo VIM só pode ser feita por comandos, que valem a pena decorar:
-
Abra um arquivo de texto no VIM e use o seguinte comando para imprimi-lo com a impressora padrão:
:hardcopy
A impressão saiu com margens e com o nome do arquivo e o número da página no cabeçalho.
-
Também podemos utilizar outra impressora, como a CUPS-PDF que configuramos anteriormente
:set printdevice=CUPS-PDF :set printoptions=paper:A4,syntax:y,wrap:y,number:y :hardcopy
Por padrão o CUPS-PDF salva os arquivos em /var/spool/cups-pdf/julio
. Para mudar isso, edite a
seguinte linha no arquivo /etc/cups/cups-pdf.conf
: Out /home/${USER}
Obs.: Se for imprimir código fonte, mude o colorscheme para o default antes.