CUPS als Printserver konfigurieren

Treffpunkt für Dokumente

Einen Drucker mit anderen Benutzern zu teilen, schont den Geldbeutel und lastet die Hardware-Ressourcen besser aus. Hängt der Drucker an einem CUPS-Server lassen sich Dokumente sogar von Apple- oder Microsoft-Clients ausgeben.

Ausrangierte Computer eignen sich ideal als Druckerserver in einem Netzwerk. So nutzen nicht nur mehrere Personen einen Drucker gemeinsam, auch die Rechenlast übernimmt der Print-Server, und auf dem eigenen Rechner geht es mit voller Leistung weiter. Oftmals senden auch Familienmitglieder die Dokumente an verschiedene Drucker. Während Vati mit seinem Laserdrucker Massenbriefe erstellt, f;uuml;ttert die Tochter den Tintenstrahler lieber mit Fotos der letzten Party. Ähnliche Szenarien spielen sich auch im Unternehmen ab. Auch dort erlaubt das Common Unix Printing System (CUPS), dass Linux-, Microsoft- oder Apple-Clients auf jeden Drucker zugreifen können.

Cups durchleuchtet 

Drucken ist eigentlich eine einfache Angelegenheit: Der User wählt in der Anwendung den Menüpunkt Drucken und schon sendet das Programm die Daten zum Drucker. Dieser wiederum spuckt artig das Ergebnis auf Papier. Doch dies ist nicht so trivial, wie es zunächst aussieht.

Das erste Problem besteht darin, dass der Computer für die Zeit des Ausdrucks blockiert bleibt. Die meisten Drucker besitzen nicht genügend eigenen Speicher, um ein Dokument vollständig zu laden. Daher verwendet das Drucksystem mit dem Spooler ein zusätzliches Programm, das einen Zwischenspeicher bereit stellt, die so genannte Druckerwarteschlange. Der Spooler überwacht den Drucker und gibt ihm den nächsten anstehenden Auftrag (Job), wenn er dafür bereit ist. Bei Cups übernimmt diese Arbeit cupsd, der Cups-Daemon (auch Scheduler genannt). Er startet in der Regel nach dem Einschalten des Systems und wartet ständig im Hintergrund auf neue Jobs.

Auch die Vielzahl der Druckermodelle ist problematisch. Jeder Drucker verwendet andere Steuerbefehle, spricht also eine eigene Sprache. Eine Anwendung, die ein Dokument zum Drucker schickt, bereitet die Daten so auf, dass sie der Drucker versteht. Dazu müsste sie jedoch alle auf dem Markt befindlichen Druckermodelle kennen. Da dies utopisch ist, schaltet man so genannten Filter zwischen Spooler und Drucker. Diese kleinen Programme übersetzen die ankommenden Daten vor dem Ausdruck in die Sprache des Druckers. Die Anwendung überführen die Daten vorher nur in ein Standardformat, das sie anschließend dem Spooler übergibt. Auf Linux kommt das Format Postscript zum Einsatz. Adobe [6] hat Postscript als spezielle Programmiersprache für Grafiken entwickelt. Postscript-fähige Drucker interpretieren diese Dateien direkt und drucken sie ohne Hilfsprogramm aus. Um das Format auch auf anderen Druckern zu benutzen, haben Open-Source-Programmierer das Programm Ghostscript zusammengestellt. Es wandelt Postscript-Dokumente mit Hilfe eines passenden Druckertreibers in die Sprache des Druckers um. Erkennt der Cups-Spooler, dass ein Drucker Postscript nicht direkt ausgeben kann, ruft er Ghostscript auf. Dieses wandelt die Daten entsprechend um.

Den Abschluss der Kette bilden Backends. Ein Backend repräsentiert einen Anschluss wie den Parallel-Port. Entwickler erhalten damit eine relativ einfache Möglichkeit, Cups mit neuen Anschlussarten wie Firewire auszustatten.

Distributions-Cups bevorzugt

Um Cups im Netzwerk zu betreiben, sind zwei Schritte notwendig. Zunächst konfigurieren Sie die Computer, an denen ein Drucker angeschlossen ist. Dies kann ein Arbeitsplatzrechner oder ein Server sein, auf dem keine grafische Oberfläche laufen muss. Alle aktuellen Distributionen richten Cups bereits bei der Betriebssysteminstallation ein oder enthalten Werkzeuge für die nachträgliche Konfiguration. Diese richten Cups so ein, dass es automatisch beim Start des Systems aktiv ist. Sollte Ihre Distribution Cups nicht mitbringen oder möchten Sie es aktualisieren, finden Sie auf der Cups-Website [1] die aktuelle Version als Quelltext. Neue RPM- oder Debian-Binärpakete befinden sich auf den Update-Servern der Distributionen.

Vor Cups haben die Distributionen die wesentlich leistungsschwächeren BSD- oder LPRng-Drucksysteme eingesetzt. Sofern Sie eine ältere Distribution verwenden, empfiehlt es sich, diese gegen Cups auszutauschen. Weitere Informationen hierzu finden Sie auf der Cups-Website.

Einzelne Anwendungen an Cups anzupassen ist nicht notwendig. Entweder verstehen sich die Programme von Haus aus mit dem Drucksystem (wie die KDE-Anwendungen) oder sie verwenden die so genannten System-V- oder Berkley-Druckkommandos lp und lpr. Dabei handelt es sich um Kommandozeilenwerkzeuge, die von den eigentlichen Anwendungsprogrammen aufgerufen werden. Cups bringt die beiden Tools in einer kompatiblen Version mit. Sie bieten eine schnelle Möglichkeit, um Dateien direkt von der Kommandozeile an einen (entfernten) Drucker zu senden. Detaillierte Informationen zu den Kommandos befinden sich im Cups Software Users Manual [2] oder den Manpages, die Distributionen wie Suse auch auf Deutsch enthalten.

Im Gegensatz zum alten LPRng-System ist Cups prädestiniert für den Einsatz im Netzwerk, da es auf dem Internet Printing Protocol (IPP, [3]) basiert. IPP ist eine Erweiterung des Hyptertext Transport Protocol (HTTP), das im Internet Webseiten transportiert. Die Funktionsweise ähnelt daher dem Datenverkehr im Internet: ein Computer, den der Cups-Jargon als Client bezeichnet, sendet die Druckdaten an einen Cups-Server. Der dort im Hintergrund laufende Daemon cupsd nimmt die Daten entgegen, verarbeitet sie weiter und gibt sie schließlich über den Drucker aus.

Per Browser konfigurieren

Zur Konfiguration enthält Cupsd eine Webschnittstelle, die sich unter http://localhost:631 erreichen lässt. Greifen Sie von einem entfernten Rechner aus den Cups-Server zu, ersetzen Sie localhost durch den Rechnernamen oder die IP-Adresse. In der Standardkonfiguration erlaubt Cups keinen Zugriff von außen auf das Webinterface. Daher muss anfangs der Browser auf dem System laufen, das Sie konfigurieren.

Die Erlaubnis für den Fernzugriff tragen Sie in der Datei etc/cups/cupsd.conf ein. Suchen Sie dort Abschnitte, die mit <Location/...> beginnen und mit </Location> enden (Abbildung 1). Die einleitenden Location-Tags enthalten Schlüsselwörter, über die Cups den Zugriff auf die jeweilige Seite der Weboberfläche regelt.

Abbildung 1: Der Allow-Eintrag erlaubt dem Computer mit der Adresse 192.168.0.16 den Fernzugriff auf die Web-Schnittstelle von Cups.

Den Fernzugriff auf die Seite Administration schalten Sie in <Location /admin> frei. So gestattet die Zeile Allow From 192.168.0.16 dem Rechner mit dieser IP-Adresse auf die Benutzeroberfläche zuzugreifen. Vorsicht: Eine Fernverbindung ist ein Unsicherheitsfaktor, da die Passwörter im Klartext durchs Netz wandern.

Abbildung 2: Die Weboberfläche des Cups-Daemon erscheint erst, wenn die Zugriffsrechte korrekt eingestellt sind. Dies ist in der Standardkonfiguration der Fall, bei der Cups lediglich den lokalen Zugriff erlaubt. Den Fernzugriff muss root explizit freigeben.

Die Browser-Oberfläche erlaubt es nicht nur Cups einzurichten und zu verwalten (Abbildung 2). Zudem listet sie die wartenden Druckaufträge auf. Letzteres leistet auf der Kommandozeile der Befehl lpstat. Sofern Sie einen Drucker über ein Konfigurationsprogramm Ihrer Distribution einrichten können, sollten Sie diesem Weg den Vorzug geben. Auf Suse Linux funktioniert dies mit Yast. Eine Alternative ist das Kommandozeilentool lpadmin, das zudem noch einige Optionen mehr bietet, als die bereits genannten Lösungen.

Wem alle diese Methoden nicht zusagen, wählt aus den Konfigurationsprogrammen von Drittanbietern. So bringen zum Beispiel alle neuen KDE-Versionen eine entsprechende Komponente mit. Diese befindet sich im Kontrollzentrum unter Angeschlossene GeräteDrucker (Abbildung 3).

Abbildung 3: Die Cups-Konfigurationsmaske im KDE-Kontrollzentrum enthält die meisten Standrdoptionen. Ein Rechtsklick auf die weiße Fläche fördert weitere nützliche Funktionen zu Tage, mit der sich der Cups-Daemon auch bequem neu starten lässt.

Dieser Workshop benutzt das Browser-Interface der Vorzug gegeben. Dort finden Sie unter dem Punkt Printers eine Liste mit allen Druckerwarteschlangen (Abbildung 4).

Abbildung 4: Die Webseite "Printers" listet alle von Cups erkannten Druckerwarteschlangen zusammen mit dem Uniform Resource Identifier (unter Device URI) auf.

Jede Warteschlange besitzt einen Namen und individuelle Einstellungen. Sie können mehrere solcher Warteschlangen einem Drucker respektive einer Schnittstelle zuordnen. Die Schnittstelle, an die Dokumente einer Druckerwarteschlange gesendet werden, ist im Uniform Resource Identifiers (URI) Format angegeben. Die Notation ähnelt den Adressen von Internetseiten: So steht parallel:/dev/lp0 für den ersten Parallelport oder usb:/dev/usb/lp0 für den ersten USB-Drucker. Einen Überblick aller verfügbaren Schnittstellen liefert der Kommandozeilenbefehl lpinfo -v. Der URI wird später noch einmal eine Rolle spielen.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Drucken im Netz
    Drucken auf dem Notebook zu Hause und auf der Arbeit: Ist Cups korrekt eingerichtet, erkennt Ihr Notebook ohne Handarbeit automatisch alle Drucker im Netz, an dem es gerade hängt.
  • Drucken im Netzwerk mit Cups
    Vor den meisten Anwendern verborgen, wartet ein kleiner Daemon geduldig auf Druckaufträge. Doch das Common Unix Printing System kann noch mehr: Etwa einen lokalen Drucker mit anderen Nutzern im Netz teilen.
  • KDEPrint
    Mit dem neuen Print-Framework KDEPrint macht KDE 2.2 in Drucksachen einen Riesensprung nach vorn – Grund genug für eine Erkundungstour.
  • Vom iPad oder iPhone via Airprint und Cups drucken
    Apple-Geräte setzen auf eigene Technologien. Aber mit wenigen Handgriffen klappt der Druck via Airprint auch über einen Cups-Server.
  • Printserver mit Samba
Kommentare

Infos zur Publikation

LU 08/2016: Multimedia

Digitale Ausgabe: Preis € 5,99
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Aktuelle Fragen

Wie kann man das berichtigen
Udo Muelle, 17.07.2016 20:39, 1 Antworten
Fehlschlag beim Holen von http://extra.linuxmint.com/dists/rosa/main/binary-i386/Packages Hash-S...
Installation Genimotion
Horst Müller, 15.07.2016 17:00, 1 Antworten
Hallo, ich kann Genimotion nicht installieren. Folgende Fehlermeldung habe ich beim Aufruf erh...
Probleme beim Hochfahren der Terastaion 5400 mit Unix-Distrib
Sheldon Cooper, 10.07.2016 09:32, 0 Antworten
Hallo ihr lieben, habe seit zwei Tagen das Problem, das das NAS (Raid5) nicht mehr sauber hoch...
Mit Firewire Videos improtieren?
Werner Hahn, 09.06.2016 11:06, 5 Antworten
Ich besitze den Camcorder Panasonic NV-GS330, bei dem die Videos in guter Qualität nur über den 4...
lidl internetstick für linux mint
rolf meyer, 04.06.2016 14:17, 3 Antworten
hallo zusammen ich benötige eure hilfe habe einen lidl-internetstick möchte ihn auf linux mint i...