Suchen Sitemap Kontakt Impressum
Christian-Albrechts-Universität zu Kiel Rechenzentrum CAU Kiel

Drucken mit CUPS

Bei verschiedenen Unix- und Linux-Implementierungen setzt sich zunehmend CUPS als Drucksystem durch. CUPS steht für Common Unix Printing System.

Im Vergleich zu den bisher üblichen Drucksystemen lpr, lprng oder System V bietet CUPS zwei zusätzliche Eigenschaften:

 

  • CUPS realisiert ein Client-Server-Konzept.
    Der Administrator definiert dazu auf einem Rechner alle Drucker-Queues mit ihren Eigenschaften. Alle anderen Rechner werden dagegen als Clients betrieben und erhalten lediglich einen Verweis auf den Server. Der Client holt sich bei Bedarf Informationen vom Server und leitet die zu druckenden Daten an ihn weiter.
  • CUPS realisiert Druckertreiber auf Betriebssystem-Niveau, so wie es bei MacOS- und Windows-Systemen üblich ist. Eine CUPS-fähige Anwendung enthält keine eigenen Druckertreiber mehr, sondern ruft die CUPS-Library auf. Um die spezifischen Eigenschaften der Drucker zu berücksichtigen, verwendet CUPS deren PPD-Files (PostScript Printer Description Files), so wie es von MacOS und Windows bekannt ist. Dieses Konzept ist bei CUPS auch auf Nicht-PostScript-Drucker erweitert worden. Die PPD-Files werden auf dem Server gehalten.

Für den Anwender stehen weiterhin die zeilen-orientierten Kommandos lpr (lp), lpq (lpstat) und lprm zur Verfügung (siehe auch Drucken unter Unix). Allerdings muß der Anwender entscheiden, ob ein bereits erstelltes Druckfile

  • von CUPS gefiltert und an die druckerspezifischen Eigenschaften angepaßt werden oder
  • von CUPS ohne Änderungen an den Drucker übertragen werden soll.

Meistens wird man die Filterfunktion nicht nutzen wollen. In diesen Fällen muß das lpr-Kommando durch die Option -l , das lp-Kommando durch die Option -o raw ergänzt werden.

Man kann allerdings auch bewußt das Filtern nutzen, um z.B. Text-Files auf einem PostScript-Drucker auszugeben, ohne vorher aktiv eine Konvertierung (z.B. mit a2ps) durchzuführen:

lpr -P ps hugo.txt

ist also in diesem Kontext sinnvoll, während

lpr -P ps -l hugo.txt

nur ein leeres Blatt bringen wird.

Die lpr-Optionen -C (Class) und -i (indent) werden von CUPS nicht unterstützt.

Die Option -C wird im Rechenzentrum genutzt, um bei ASCII-Druckern zwischen Portrait- und Landscape-Ausgabe zu unterscheiden. In einer CUPS-Umgebung ist es sinnvoll, statt eines ASCII-Druckers einen PostScript-Drucker zu nutzen. Eine Landscape-orientierte Ausgabe wird dann im Druck-Kommando durch die Option -o landscape ausgewählt.

CUPS-Server

Wieviele CUPS-Server braucht eine große Einrichtung wie eine Universität ? Denkbar wäre ein zentraler Server für den gesamten Campus. Gegen einen solchen Absatz sprechen mindestens zwei Argumemte:

  • Bei Ausfall eines solchen zentralen Servers wären viele Einrichtungen betroffen.
  • Ein solcher Server würde soviele Drucker versorgen, daß ein Anwender sicherlich bald den Überblick verlieren würde, welcher Drucker denn eigentlich der von ihm auszuwählende ist.

Aus diesen Überlegungen heraus ist es sinnvoll, jeweils einen CUPS-Server für einen überschaubaren Bereich, also eine Arbeitsgruppe, eine Abteilung oder ein Institut einzurichten. Um darüber hinausgehende Bereiche zu integrieren, kann ein Netz von CUPS-Servern aufgebaut werden.

Als kleinste Einheit können zwei CUPS-Server (A und B) verknüpft werden. Dabei importiert der Server B alle Druckertreiber-Definitionen des Servers A zusätzlich zu den eigenen Definitionen. Es können auch mehrere Server (B, C, ...) parallel auf den Server A zugreifen.

Übertragen auf die Gegebenheiten eines Universität oder eines Betriebs bedeutet dies: Ein Server (A), der alle zentralen Drucker verwaltet, eine Reihe von Servern (B, C, ...), die sowohl die lokalen Drucker der Arbeitsgruppen als auch die zentralen Drucker (von A) verfügbar machen.

Bei der Ausführung eines Druckauftrags werden die zu druckenden Informationen an denjenigen Server weitergereicht, auf dem der benutzte Druckertreiber installiert ist.

Bei der Übertragung werden nach den bisherigen Erfahrungen der Name des Auftraggebers, der Queuename und die Druckdaten übermittelt, nicht jedoch der Name des Rechners, von dem der Auftrag ursprünglich kommt.

Dies wäre allerdings bei der Übertragung eines Druckauftrags an den Print-Server des Rechenzentrums erforderlich, um den Auftraggeber eindeutig zu identifizieren.

Deshalb kann der CUPS-Server des Rechenzentrums nicht für Clients bzw. Server außerhalb des Rechenzentrums zur Verfügung gestellt werden.

 

CUPS im Rechenzentrum

Auf den meisten der vom Rechenzentrum betreuten Unix-Rechner ist CUPS installiert worden.

Der CUPS-Server des Rechenzentrums ist der cupsserver.rz.uni-kiel.de, z.Zt realisiert auf web1.rz und web2.rz.

Den Nicht-PostScript-Druckern des Rechenzentrums (express, line, rzeg, rzog, kyocera) sind keine PPD-Files zugeordnet worden. Deshalb macht es keinen Sinn, aus einer CUPS-fähigen Anwendung heraus einen solchen ASCII-Drucker nutzen zu wollen.

Installation von CUPS

 

  • SuSE Linux:
    Informationen zur Installation eines CUPS-Clients unter SuSE 8.2 findet man im SuSE LINUX 8.2 Administrationshandbuch im Kapitel 7 (Druckerbetrieb) unter Drucken im TCP/IP-Netzwerk im Abschnitt Konfiguration bei einem CUPS-Netzwerk-Server.
  • RedHat:
    Auch RedHat 9 nutzt CUPS als Standard-Druckersystem.

Konfiguration von CUPS

Hier einige (nicht vollständige) Hinweise zur Konfiguration von CUPS:

 

  • Server:
    Der Verweis auf einen anderen CUPS-Server ist im File /etc/cups/cupsd.conf als Attribut BrowsePoll einzutragen.
  • Client:
    Der Verweis auf einen CUPS-Server ist im File /etc/cups/client.conf als Attribut ServerName einzutragen.

 

Weitere Informationen

 

 

Document Actions