Drucken mit CUPS

Juli 16, 2011·
Julio Batista Silva
Julio Batista Silva
· 2 Min Lesezeit

CUPS ist ein Open‑Source‑Drucksystem, das von Apple gepflegt wird und für Unix‑ähnliche Systeme wohl die einfachste Lösung darstellt.

Mit CUPS wird das Hinzufügen und Freigeben von Druckern im Netzwerk ziemlich einfach.

  1. Pakete mit den benötigten Programmen und Treibern installieren.

    (Ich habe nur HP‑Drucker; bei Bedarf auch gutenprint, foomatic-db, foomatic-db-engine, foomatic-db-nonfree, foomatic-filters, splix und ufr2 installieren)

    julio@julio-acer ~  $  sudo pacman -S cups ghostscript gsfonts hpoj hplip cups-pdf
    
  2. Fehlt dein Drucker, das PPD von http://www.openprinting.org/printers nach /usr/share/cups/model/ laden

  3. CUPS (cupsd) in /etc/rc.conf zu den Daemons hinzufügen

    DAEMONS=(syslog-ng @network netfs crond alsa httpd mysqld dbus @ntpd sshd cupsd samba @subsonic oidentd)
    
  4. Daemon starten und Web‑Interface öffnen: http://localhost:631/

  5. Einloggen

    • Benutzer: root
    • Passwort: Systempasswort
  6. In „Administration“ auf „Find New Printer“. Die angeschlossenen Drucker sollten gelistet werden – auswählen und hinzufügen.

    Mit cups-pdf steht ein virtueller PDF‑Drucker bereit.

    Konfiguration:

    • Device: „CUPS-PDF (Virtual PDF Printer)“
    • Make/Manufacturer: Generic
    • Model/Driver: Generic Cups-PDF Printer
  7. Für Remote‑Zugriff /etc/cups/cupsd.conf bearbeiten und Listen localhost:631 in Port 631 ändern.

  8. Für Netzwerkdruck Samba‑Konfiguration anpassen.

Drucken von der Kommandozeile

  1. Verfügbare Drucker prüfen (lpstat):

    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
    
  2. Standarddrucker festlegen

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
  1. Textdatei mit lp drucken.
julio@julio-acer ~> lp teste.txt
request id is HP_1310-1 (1 file(s))
  1. Die vorige Ausgabe war erfolgreich, aber zu groß und ohne Ränder. Papier, Ränder und Optionen per CLI setzen:
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))

Weitere Optionen in der Doku.

Drucken aus VIM

Nach Jahren mit VIM als Standard‑Editor stellte ich fest, dass man darüber fast alles machen kann – inklusive Drucken, sogar mit Syntax‑Highlighting. Im Gegensatz zu GVim (Menü „Print“) geht das in VIM nur per Befehl, die man sich merken sollte:

  1. Datei in VIM öffnen und mit dem Standarddrucker drucken:
:hardcopy
Die Ausgabe hat Ränder sowie Dateiname und Seitenzahl im Header.
  1. Anderen Drucker verwenden, z. B. CUPS‑PDF:

    :set printdevice=CUPS-PDF
    :set printoptions=paper:A4,syntax:y,wrap:y,number:y
    :hardcopy
    

CUPS‑PDF speichert standardmäßig unter /var/spool/cups-pdf/julio. Zum Ändern in /etc/cups/cups-pdf.conf die Zeile Out /home/${USER} bearbeiten.

Hinweis: Für Quellcode vorher das colorscheme auf default setzen.


Julio Batista Silva
Autoren
Senior Cloud-Entwickler
comments powered by Disqus