20.7 Drucken mit CUPS
Zugegeben: Drucken ist kein klassisches Multimedia-Thema. Aber trotzdem passt es gut in den Kontext, da es auch hier um Hardware geht, für die zuerst ein entsprechender Treiber gefunden werden muss, bevor Sie von einem Anwendungsprogramm über einen die Ressource verwaltenden Dienst mit der Hardware sprechen können.
Die Software der Wahl ist dabei sowohl unter Linux als auch unter BSD das Common Unix Printing System, kurz CUPS.
20.7.1 Das BSD-Printing-System
Früher wurde das Drucken noch über den lpd (line printing daemon) erledigt, ein aus der BSD-Welt stammendes Drucksystem. Hatte man dort seinen Drucker konfiguriert, konnte man über die »lp«-Tools auf den meistens mit lp bezeichneten Drucker zugreifen. Die wichtigsten Tools seien hier kurz genannt:
- lpq
- Das q in lpq steht für Queue und deutet bereits an, dass man mit diesem Tool die Druckerwarteschlange betrachten kann.
- lpr
- Mit diesem Kommando kann man Dateien zum Drucken schicken.
- lprm
- Und hiermit kann man die Daten anhand ihrer Jobnummer, die wir über lpq bekommen, wieder aus der Druckerwarteschlange löschen.
In der Praxis sah es dann im einfachsten Fall so aus:
$ lpr kap13.tex $ lpq lp is ready and printing Rank Owner Job File(s) Total Size active jploetner 18 kap13.tex 6144 bytes $ lprm 18 $ lpq lp is ready no entries $
Listing 20.11 lpr, lpq und lprm in Aktion
CUPS ist nun im gewissen Sinne zum lpd kompatibel, da es eigene Varianten der LP-Tools mitbringt, die sich jedoch genauso wie ihre Vorbilder bedienen lassen.
20.7.2 Installation
Wie so oft sollte CUPS eigentlich schon standardmäßig auf Ihrem System installiert sein. Andernfalls müssen Sie nach einem entsprechenden Paket Ausschau halten, oder Sie gehen direkt auf www.cups.org.
Welcher Treiber?
Bevor Sie nun aber an die Konfiguration gehen, sollten Sie sich schlau machen, mit welchem Druckertreiber Ihr Drucker am besten funktioniert. Idealerweise finden Sie mit der Suchmaschine Ihrer Wahl unter Angabe Ihres Druckernamens und des Schlüsselwortes »CUPS« gleich ein paar Erfahrungsberichte samt wertvollen Hinweisen hinsichtlich der Treiberauswahl. Denn gerade bei brandneuen Geräten kann es vorkommen, dass noch kein dedizierter Treiber für genau dieses Modell vorhanden ist. In solchen Fällen können Erfahrungen der Community mit alternativen Treibern von unschätzbarem Wert sein.
Druckertreiber haben nichts mit Kernel-Modulen zu tun. Der Kernel stellt als eigentlichen Hardwaretreiber nur den Zugriff auf die entsprechende Schnittstelle – beispielsweise einen USB- oder den Parallelport – bereit. Ein Druckertreiber ist CUPS-spezifisch und erlaubt es dem Druckerserver, über die vom Kernel bereitgestellte Schnittstelle in der richtigen Sprache mit dem Drucker zu reden.
20.7.3 Konfiguration
CUPS selbst bietet ein Webinterface, über das es sich konfigurieren lässt. Standardmäßig werden Sie auf Port 631 des lokalen Rechners eine Administrationsoberfläche unter folgender URL vorfinden:
http://127.0.0.1:631/admin
Listing 20.12 CUPS-Webinterface
Alternativ könnten Sie beispielsweise auch das KDE-Kontrollzentrum kcontrol nutzen, das auch eine einfache Möglichkeit zur Konfiguration von CUPS bietet. Gehen Sie dort als root auf Angeschlossene Geräte – Drucker, und klicken Sie mit der rechten Maustaste auf das weiße Feld, damit aus dem Kontextmenü Drucker hinzufügen ausgewählt werden kann.
Die nächsten Schritte sind einfach und ähneln denen des Webinterfaces beim Hinzufügen eines Druckers sehr stark. In den meisten Fällen sollte für einen parallelen Drucker die Option Lokaler Drucker (parallel, seriell, USB) und auf der nächsten Seite der Punkt Parallel Port #1 mit parallel:/dev/lp0 ausgewählt werden.
Hat man anschließend den passenden Treiber gewählt, kann nach der vollendeten Druckerinstallation eine erste Testseite gedruckt werden.
Qualität
Stellt man dabei zum Beispiel eine mangelhafte Druckqualität fest, kann man über die Optionen beispielsweise die DPI-Zahl erhöhen oder in Extremfällen auch einen anderen Treiber ausprobieren. Alles in allem bietet CUPS sehr viele Möglichkeiten, um auch unter Unix einen optimalen Druck zu gewährleisten.
Abbildung 20.3 Die CUPS-Weboberfläche samt konfiguriertem Drucker
Anwenderprogramme wie OpenOffice kommen in der Regel sehr gut mit CUPS-Druckern zurecht. Nur manchmal ist noch etwas Handarbeit nötig, bevor die erste Seite gedruckt werden kann. Meistens muss dann per Hand explizit der Druckerserver eingetragen werden, damit die Liste der verfügbaren Drucker angezeigt werden kann.
Drucken im Netzwerk
Ja, mit CUPS kann man auch prima im Netzwerk drucken. Das liegt vor allem am unterstützten IPP (Internet Printing Protocol). Ab Windows 2000 <Dass Unix-Rechner im Netzwerk mit CUPS drucken können, versteht sich von selbst.> kann man direkt mit den IPP-Treibern in Windows über die URI http://server:631/printers/druckername auf den Drucker »druckername« des Servers »server« zugreifen.
CUPS und Samba
Auf älteren Windows-Maschinen kann man entweder ein entsprechendes IPP-Clientprogramm installieren, oder man gibt die Drucker gleich über Samba als Netzwerkdrucker frei. Das macht unter allen Windows-Versionen am wenigsten Probleme, erfordert aber etwas zusätzlichen Aufwand bei der Samba-Konfiguration, wenn man nicht sowieso schon einen Samba-Dienst einsetzt. In jedem Fall reicht die Zeile
printing = cups
Listing 20.13 Samba mit CUPS
in der smb.conf aus, um wunschlos glücklich zu werden.