Kapitel 9. Drucken

Inhaltsverzeichnis
CUPS
apsfilter
Drucken von True Type Fonts
Netzwerkdrucker

In der langen Entwicklungsgeschichte von Unix gibt es zwei bedeutende Drucksysteme, Berkeley Line Printer Daemon („lpd“) und das AT&T Line Printer System. Im Laufe der Jahre gab es einige Alternativen zu diesen Systemen (beispielsweise LPRng) doch an den grundlegenden Funktionen hat sich kaum etwas geändert.

Das betagte Drucksystem führte aufgrund der begrenzten Funktionalitäten zu einigen Problemen und so begannen einige Entwickler eigene Erweiterungen in die Programme einzubauen, ohne das Problem grundsätzlich zu lösen.

Von der Firma Easy Software Products wurde CUPS (Common UNIX Printing System) entwickelt und unter der GPL (bzw. LGPL für die API Library) freigegeben. CUPS benutzt das Protokoll IPP (Internet Printing Protocol) und bietet die von System V und Berkeley gewohnten Kommandozeilen-Tools. Ein Umstieg auf CUPS lohnt sich, probieren Sie es aus.

Natürlich besteht immer noch die Möglichkeit auch die „klassischen“ Drucksysteme einzusetzen. Zur Konfiguration des klassischen Drucksystems stehen verschiedene Programme zur Verfügung. apsfilter und magicfilter helfen Ihnen bei dieser Aufgabe. Sie können aber nur eines der beiden Pakete installieren, wir werden deshalb später nur auf apsfilter eingehen.

CUPS

Historisch gesehen stammen die bisherigen Drucksysteme unter Unix entweder aus der Familie der BSD Systeme (LPD, definiert durch den RFC 1179) oder aus dem AT&T Lager. Beide Drucksysteme wurden in den 70er Jahren entworfen und sind auf die Anforderungen der damaligen Drucktechnik (Zeilendrucker/Nadeldrucker) ausgelegt. Von den verschiedenen Herstellern kommerzieller Unixes wurden gelegentlich Erweiterungen eingebracht.

Natürlich gab es auch einige Entwicklungen, die versuchten die etablierten Drucksysteme zu ersetzen. Zu nennen sind hier LPRng, Palladin und PLP. Leider hat keiner dieser Ansätze grundlegende Änderungen oder Verbesserungen gebracht.

In den letzten Jahren gab es diverse Versuche, eine neue Standard Schnittstelle zu definieren, unter anderem den Entwurf zum POSIX Standard, welcher vom „Institute of Electrical and Electronics Engineers, Inc.“ (IEEE, Nr. IEEE-1387.4) herausgegeben wurde, sowie das „Internet Printing Protocol“ (IPP) entwickelt von der „Internet Engineering Task Force“ (IETF) durch die „Printer Working Group“ (PWG, IETF-IPP). Der POSIX Standard definiert einheitliche Kommandozeilen Werkzeuge, ebenso wie eine C Schnittstelle zur Druckerverwaltung und zur Verwaltung der Druckaufträge.

Das „Internet Printing Protocol“ definiert Erweiterungen zum Protokoll HTTP (HyperText Transport Protocol 1.1 [RFC2616]), um das Drucken auf Netzwerkdruckern zu ermöglichen. IPP/1.0 wurde von der IETF als experimenteller Request for Comments (RFC) im Oktober 1999 akzeptiert. Seitdem entwickelte die Printer Working Group eine erweiterte Spezifikation für die Version IPP/1.1, welche von der IETF als empfohlener Standard akzeptiert wurde. Anders als der POSIX Standard erfreut sich IPP einer weitreichenden Unterstützung durch die Industrie, und es scheint sich als Netzwerk Drucklösung für alle Betriebssysteme durchzusetzen.

CUPS benutzt IPP/1.1, um ein umfassendes und modernes Drucksystem für Unix Systeme mit einer weitreichenden Unterstützung für moderne Drucker und Protokolle zu bieten. Natürlich bleibt die Kompatibilität zu den bestehenden Anwendungen erhalten. CUPS ist Freie Software und wird unter der GNU General Public License und der GNU Lesser General Public License zur Verfügung gestellt..

Pakete

Folgende Debian Pakete, die mit CUPS im Zusammenhang, stehen sind verfügbar.

sowie einige weitere Pakete die von diesen abhängen, hauptsächlich Libraries.

Nach der Installation der gewünschten Pakete ist CUPS wie gewohnt bereits so gut wie einsatzbereit. Sie sollten aber noch den Administrativen Zugriff erlauben. Hierzu wurde eine Gruppe „lpadmin“ eingerichtet, zu der die Benutzer hinzugefügt werden können, die Administrative Rechte am Drucksystem haben sollen.

In der Grundeinstellung erlaubt die Konfiguration aus Sicherheitsgründen lediglich Verbindungen vom lokalen System. Diese Einstellung kann in der Datei /etc/cups/cupsd.conf geändert werden. Am Ende dieser Datei finden sich die Zugriffsbeschränkungen. Achten Sie darauf, den Zugriff nur von Systemen zu erlauben denen Sie vertrauen oder aktivieren Sie eine Authentifizierung.

Konfigurationsdateien

Die Konfigurationsdateien teilen sich in folgende Typen auf:

- HTTP Server Konfiguration

- Drucker und Klassen Definitionen

- MIME Types und Konvertierungsinformationen

- PostScript Printer Description ("PPD") Dateien

Die Konfiguration des HTTP Servers für CUPS ähnelt sehr der Konfiguration des Apache Webservers, hier werden die Zugriffe und Eigenschaften des Servers definiert.

Die Drucker und Klassenbeschreibungen beschreiben die verfügbaren Drucker und Klassen. Druckerklassen sind Gruppen von Druckern. Druckjobs, die an eine Klasse geschickt werden, werden auf dem ersten verfügbaren Drucker im Round-Robin Prinzip gedruckt.

In der Liste der MIME Types finden sich alle unterstützten MIME Types (zum Beispiel „text/plain“, „application/postscript“ usw.) sowie einige „magic rules“, um den Typ einer Datei zu bestimmen. Diese werden vom HTTP Server benutzt, um den „Content-Type“ für „GET“ und „HEAD“ Anfragen zu bestimmen. Weiterhin benutzt der IPP Handler die MIME Types ebenfalls zur Bestimmung der Dateitypen.

In den Konvertierungsinformationen finden sich die verfügbaren Filter. Filter werden benutzt, um die von einem Programm kommenden Daten in für den Drucker verständliche Daten umzuwandeln.

Die PPD Dateien beschreiben die Fähigkeiten eines Druckers, dies beschränkt sich nicht nur auf Postscript Drucker. PPD Dateien für Nicht-Postscript Drucker beeinhalten zusätzliche Filterfunktionen durch „cupsFilter“, um diese Drucker optimal zu unterstützen.

Administration

Kommandozeile

Drucker verändern

Zur Veränderung von Druckern von der Kommandozeile aus ist ebenfalls das Kommando lpadmin geignet.

Die Syntax lautet:


lpadmin -p printer options

Als weitere Argumente können angegeben werden:

Webbasiert

Die Administration von CUPS kann auch komplett über ein Webinterface erfolgen. Hierzu wird ein Webbrowser benötigt, CUPS benutzt den Port 631 für das Konfigurationsinterface. Aus Sicherheitsgründen läßt sich das Webinterface zunächst nur von lokalen Rechner aus benutzen, unter der URL http://localhost:631 wird das Webinterface zur Verfügung gestellt.

Alle Bereiche über die eine Veränderung der Konfiguration vorgenommen werden kann, sind nur mit einem Usernamen und dem passenden Passwort erreichbar. In jedem Fall kann die Administration als Superuser (root) erfolgen.

Die grafische Administration gliedert sich in folgende Bereiche, die über die Startseite oder von jeder Seite aus über die Navigationsleiste am oberen Bildschirmrand, erreicht werden können:

Drucker

Printers sicher der wichtigste Punkt, die Verwaltung der Drucker. Hier können Drucker hinzugefügt oder verändert werden.

In diesem Beispiel wurde bereits ein Drucker eingerichtet. Normalerweise ist diese Seite nach der Installation von CUPS leer. Durch einen Klick auf „Add Printer“ kann ein neuer Drucker dem System hinzugefügt werden.

Zunächst sind für den Drucker ein Name, der Standort und eine Beschreibung anzugeben. Wenn der Drucker lokal an der Parallelen Schnittstelle des Rechners angeschlossen ist, wählen Sie hier „Parallel Port #1“ aus.

CUPS bietet aber noch weitere Möglichkeiten um Daten auf Druckern auszugeben die nicht lokal instaliert sind.

  • http druckt direkt zum CUPS Port eines CUPS Servers.

  • ipp druckt über das Internet Printing Protocol.

  • ipd druckt über eine Queue des Internet Printing Protocols.

  • smb druckt auf freigegebenen Druckern die an Windows-Systemen hängen. Hierzu muß zusätzlich das Paket samba installiert sein, da das Programm smbspool benötigt wird.

Hier ist der Hersteller des Druckers anzugeben. An dieser Stelle geschieht die genaue Auswahl des geeigneten Druckertreibers. Versuchen Sie möglichst genau den richtigen Treiber auszuwählen.

Damit ist die Einrichtung eines Drucker grundsätzlich abgeschlossen. Es sollte trotzdem noch ein Blick auf die weiteren Parameter geworfen werden.

Hier sollten zumindest die Werte für die Papiergröße und die Druckauflösung angepasst werden. Je nach verwendetem Drucker und Treiber stehen hier noch weitere Optionen zur Verfügung. Weiterhin kann für jeden Druckauftrag eine Start- oder Endeseite gedruckt werden.

CUPS Konfigurationsdatei

Die Konfigurationsdateien für CUPS finden sich unter /etc/cups/. Normalerweise ist es nicht notwendig an diesen Dateien etwas zu verändern, dennoch hier ein Überblick über die möglichen Einträge in der Datei /etc/cups/cupsd.conf.

Wenn Sie bereits mit der Konfiguration des Apache Webservers vertraut sind, werden Sie auch mit dieser Datei schnell zurechtkommen.

Server Optionen