Home / LinuxUser / 2004 / 04 / CUPS als Printserver konfigurieren

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

War doch klar...
(229 Punkte bei 11 Stimmen)
Pardus Linux am Ende?
(201 Punkte bei 6 Stimmen)
Meinst Du: Patch CD Updates?
(179 Punkte bei 5 Stimmen)
One goes, one comes
(161 Punkte bei 4 Stimmen)
Speichern in der Cloud
(161 Punkte bei 4 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Shopping
Topsuche
 
Yatego Deutschlands größte Shoppingmall. 10000 Shops,
3.5 Mio Artikel. Alle Bestseller, Servertechnik und Technik Themenwelten.

Notebooks und Netzwerkhardware bei Mercateo günstig kaufen.
Internet Telefonie mit VoIP Telefonen von Gigaset
Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.
Günstige Digitalkameras finden Sie im Preisvergleich.

Treffpunkt für Dokumente

CUPS als Printserver konfigurieren

01.04.2004 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.

Einem Freund empfehlen    Druckansicht Bookmark and Share
Kommentare

1022 Hits
Wertung: 0 Punkte (0 Stimmen)

Schlecht Gut

Infos zum Autor

Tim Schürmann

Tim Schürmann

Tim Schürmann ist Diplom-Informatiker und derzeit als freier Autor unterwegs. Mehr Informationen finden Sie auf seiner Homepage unter www.tim-schuermann.de.


Infos zur Publikation

Infos zur Publikation

title_2012_02

Aktuelle Ausgabe kaufen:

Heft bestellen Heft als PDF kaufen

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,50 und mit DVD EUR 8,50. Weitere Informationen zum Heft finden Sie auf der LinuxUser-Homepage.

Im LinuxUser-Probeabo erhalten Sie drei Ausgaben für 3 Euro. Das Jahresabo (ab EUR 56,10) können Sie im LNM-Shop bestellen.

Tipp der Woche

Duden Korrektor unter 64-Bit
Duden Korrektor unter 64-Bit
Tim Schürmann, 06.02.2012 10:36, 0 Kommentare

Der Duden Korrektor bietet eine äußerst nützliche Rechtschreib- und Grammatikkorrektur für LibreOffice und bringt in der aktuellen Version 8 e...

Aktuelle Fragen

rndc reload zone - failed bad zone
Ludwig jun. B., 06.02.2012 16:08, 2 Antworten
Schönen guten Tag, ich habe folgendes Problem. Immer wenn ich folgendes Kommando ausführen bek...
Skype für 64-Bit-Prozessor u. Suse 12.1
Klaus Sigerist, 05.02.2012 11:39, 3 Antworten
Hallo Gemeinde! Ich bin nur ein einfacher Nutzer und habe Probleme mit der Installation von Skyp...
8! Anfängerfrage :) Wie finde ich in Ubuntu die Datenträger (Bild, Text)
samuel leusam, 04.02.2012 15:53, 1 Antworten
Ich habe neu Ubuntu. Wenn ich die SD Karte im Laptop einstecke, erkennt er sie und gibt ihr den N...
OpenSuse 12.1-Service Kit 01/12
Christoph-J. Walter, 28.01.2012 08:52, 2 Antworten
Hallo Gemeinde, ich habe 12.1 neu installiert. Alles in Ordnung! Nun möchte ich das Service Kit (...
Ubuntu 11.10 konfigurieren
Michael Hinz, 27.01.2012 17:52, 1 Antworten
Ubuntu läuft bei mir. Allerdings nur, wenn die Daten-CD eingelegt ist. Unabhängig von Bios-Einste...