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,splixeufr2conforme sua necessidade)julio@julio-acer ~ $ sudo pacman -S cups ghostscript gsfonts hpoj hplip cups-pdfCaso 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.confDAEMONS=(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.confe troqueListen localhost:631porport 631.Para permitir impressão pela rede basta editar o arquivo de configuração do samba.
Imprimir pela linha de comando
Use o
lpstatpara 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 destinationDefina 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_seriesjulio@julio-acer ~> lpstat -d system default destination: HP_psc_1310_seriesPodemos 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:
:hardcopyA 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.
Links

Sou um engenheiro de computação brasileiro baseado na Alemanha, apaixonado por tecnologia, ciência, fotografia e línguas.
Programo há cerca de duas décadas, explorando desde aplicativos móveis e desenvolvimento web até aprendizado de máquina. Atualmente, foco em SRE de nuvem e engenharia de dados.
Sou voluntário nas comunidades de open source e Python, ajudando a organizar a PyCon DE e a PyData Berlin, mentorando e contribuindo com código e traduções.
No meu blog, compartilho dicas de Linux, guias de configuração e notas pessoais que escrevo para referência futura. Espero que outras pessoas também as considerem úteis. O conteúdo está disponível em vários idiomas.
Visite minha galeria para ver algumas das minhas fotografias.
Longe do teclado, você vai me encontrar em shows, tocando clarinete, pedalando, mergulhando ou explorando novos lugares, culturas e culinárias.
Sempre feliz em me conectar! 🙂