Verteilter Druck

Drucken im Netz

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

Seit einigen Jahren dient Cups als Standardlösung für das Drucken unter Linux. Die meisten Distributionen erkennen angeschlossene Drucker und richten sie bei der Installation unter Cups ein. Doch die leistungsfähige Software kann weit mehr, als nur direkt am PC angeschlossene Drucker anzusteuern: Cups stellt auf Wunsch die von ihm verwalteten Geräte auch im Netz zur Verfügung.

Gerade für Notebooks ist das praktisch: Egal, ob Sie das Gerät zu Hause oder auf der Arbeit ans Netz anschließen, bei richtiger Konfiguration des lokalen Cups und der Cups-Serverumgebung im Netzwerk zeigen Anwendungen unter Drucken immer die gerade zur Verfügung stehenden Drucker. Dies gilt zumindest für Anwendungen, die Cups unterstützen – also alle KDE-Anwendungen, aber auch OpenOffice und Firefox sowie viele andere.

Anstellen und Filtern

Um unter Linux Textdateien auf einem Drucker auszugeben, genügt der Befehl cat Datei.txt > /dev/lp0 für einen Drucker an der ersten seriellen Schnittstelle oder cat Datei.txt > /dev/usb/lp0 für einen Drucker am USB-Port. Je nach Distribution lauten die Dateinamen für den USB-Anschluss eventuell anders. In der Praxis stellt das Kopieren auf die Device-Datei keine befriedigende Lösung dar, denn diese bleibt gesperrt, solange der Druckvorgang läuft. Ein neuer Druckauftrag lässt sich also erst abschicken, wenn der vorausgehende beendet ist. Außerdem funktioniert diese Vorgehensweise meist nur mit Textdateien.

Um wie gewohnt drucken zu können, bauen die Linux-Distributionen den rudimentären Druckerzugriff über die Device-Datei mit Cups aus:

  • Eine Warteschlange speichert anstehende Aufträge, bis der Drucker wieder bereit ist.
  • Der Befehl Drucken in Linux-Anwendungen stellt die Daten für den Druckauftrag als Postscript-Datei bereit. Die meisten Laserdrucker verarbeiten die Postscript-Befehle direkt, so gut wie allen Tintenstrahlern erfordern jedoch einen weiteren Zwischenschritt: Ghostscript übersetzt die Postscript-Anweisungen in die herstellerspezifische Druckersprache. Drucker, deren Befehlssprache nicht öffentlich dokumentiert ist, bleiben hier meist außen vor und lassen sich nicht unter Linux einsetzen. Cups ruft für jede Druckerwarteschlange Ghostscript mit der zum Drucker passendenen Treiber- oder – im Cups-Jargon – Filterdatei auf, ohne dass sich der Anwender darum kümmern muss.
  • Außerdem sendet Cups bei entsprechender Konfiguration in regelmäßigen Abständen eine Liste der lokalen Warteschlangen in das Netzwerk. Rechner, deren Cups-Server so konfiguriert sind, dass sie auf diese Broadcasts hören, können auf die veröffentlichten Drucker ohne weitere Konfiguration zugreifen.

TIPP

Infos zu Linux-kompatiblen Druckermodellen finden Sie bei Linuxprinting.org [1].

Sobald Sie einen mobilen Rechner an ein Netzwerk anschließen, in dem ein Cups-Server Broadcasts versendet, findet das Notebook die Drucker ohne weitere Konfiguration. Nicht einmal die Netzwerkadresse des Cups-Servers muss bekannt sein. Der Nachteil der großen Flexibilität liegt im Bereich Sicherheit: Nicht nur redlichen Benutzern, auch potentiellen Angreifern liefert diese Methode die Adresse des Cups-Servers und die Namen der installierten Druckerwarteschlangen.

Deswegen kennt Cups noch eine zweite Methode, um Drucker über das Netz zur Verfügung zu stellen: Auch wenn der Server aus Sicherheitsgründen keine Broadcasts versendet, kann der Client seinerseits den Server nach Druckerwarteschlangen fragen (Polling). Hierzu muss er die Netzadresse des Servers kennen. Die Methode funktioniert also nicht ohne vorherige Konfiguration in beliebigen Netzwerken. Dafür muss der Server sich nicht sicherheitstechnisch aus der Deckung wagen. Der Kasten "Stiller Cups-Server" beschreibt die Einrichtung.

Abbildung 1: Cups kennt zwei Methoden, um Drucker im Netz bereit zu stellen: Beim Broadcasting veröffentlicht der Server die lokal installierten Drucker, beim Polling liegt die Initiative beim Client, was eine erhöhte Sicherheit bietet.

Server-Konfiguration

Dieser Artikel geht davon aus, dass die Drucker, die Sie im Netz freigeben möchten, bereits lokal eingerichtet sind und funktionieren. Sollte das noch nicht der Fall sein, hilft ein Artikel aus LinuxUser 11/2005 [2] weiter.

Die Datei /etc/cups/cupsd.conf beziehungsweise /etc/cups/cupsd/browse.conf unter Ubuntu regelt die Freigabe per Broadcasting: Der Parameter BrowseAddress legt fest, unter welcher Netzwerkadresse der Server die lokal vorhandenen Drucker anbietet. Obwohl es in Cups verschiedene Mechanismen gibt, die den Zugriff auf die lokalen Drucker einschränken (siehe Kasten "Cups und Sicherheit"), ist es trotzdem nicht sinnvoll, dass Cups im gesamten Internet bekannt gibt, welche Drucker bei Ihnen zu Hause oder in der Firma stehen.

Folgende Einträge in /etc/cups/cupsd.conf, begrenzen die Freigabe: BrowseAddress 192.168.0.1 veröffentlicht die Warteschlangen nur auf den Rechnern mit den angegebenen IP-Adresse, 192.168.0.* bezieht den Adressbereich von 192.168.0.0 bis 192.168.0.255 ein. Verbindet sich der Cups-Server über zwei unterschiedliche Karten mit dem lokalen Netzwerk und dem Internet, ist es am sinnvollsten, hier einen Netzadapter anzugeben (zum Beispiel BrowseAddress @IF(eth0)). Hier können Sie Mehrere BrowseAddress-Einträge vornehmen. Damit das Browsing überhaupt funktioniert, muss außerdem der Wert des Eintrags Browsing auf On stehen, der Wert von BrowseProtocols muss cups, cups slp oder all lauten. Beides ist in der Cups-Standardeinstellung der Fall.

Das KDE-Kontrollzentrum stellt allen, die nicht die Konfigurationsdateien direkt verändern möchten, unter Angeschlossene Geräte | Drucker ein übersichtliches grafisches Werkzeug zur Konfiguration des Cups-Servers zur Verfügung. Die Option Server einrichten im Pulldown-Menü Druckserver öffnet das Konfigurationswerkzeug (Abbildung 2).

Unter der Kategorie Durchsuchen passen Sie die Broadcast/Browsing-Einstellungen an: Achten Sie darauf, dass die Kontrollkästchen Durchsuchen und CUPS aktiv sind. Alle anderen Einstellungen behalten die Standardwerte. Fügen Sie nun mit dem Button Hinzufügen Adressen, Adressbereiche oder Netzwerkschnittstellen hinzu, an die der Server seine Broadcasts senden soll: Belassen Sie den Typ im sich öffnenden Dialogfeld auf Senden. Für die Adresse oder Netzwerkschnittstelle geben Sie einen der im vorigen Absatz beschriebenen Werte ein.

Beschwert sich das Einrichtungswerkzeug über fehlende Rechte, klicken Sie auf den Button Systemverwaltermodus rechts unten. Suse Linux stellt mit YaST ein weiteres grafisches Werkzeug zur Konfiguration des Cups-Server bereit (siehe Kasten "Netzwerkdrucker mit YaST einrichten").

Abbildung 2: Das Kde-Kontrollzentrum enthält ein übersichtliches Konfigurationswerkzeug für den Cups-Server.

Nun muss nur noch sichergestellt sein, dass der Client auch auf den Server zugreifen darf. Der Kasten "Cups und Sicherheit" erläutert, wie Cups den Zugriff auf die Drucker absichert oder freigibt.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Related content

  • CUPS als Printserver konfigurieren
    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.
  • 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.
  • Drucker mit CUPS einrichten und im Netzwerk benutzen
    CUPS kann nicht nur dazu hergenommen werden, vom eigenen Rechner direkt auf den damit verbundenen Drucker zu drucken. Im heterogenen Netzwerk können Sie die Drucksuite auch verwenden, um Windows-Rechner mit einem Drucker an einem Linux-Rechner zu verbinden. Wir zeigen, wie das geht.
  • KDEPrint
    Mit dem neuen Print-Framework KDEPrint macht KDE 2.2 in Drucksachen einen Riesensprung nach vorn – Grund genug für eine Erkundungstour.
  • 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.
Kommentare

Infos zur Publikation

title_2014_08

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

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

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

Tipp der Woche

Schnell Multi-Boot-Medien mit MultiCD erstellen
Schnell Multi-Boot-Medien mit MultiCD erstellen
Tim Schürmann, 24.06.2014 12:40, 0 Kommentare

Wer mehrere nützliche Live-Systeme auf eine DVD brennen möchte, kommt mit den Startmedienerstellern der Distributionen nicht besonders weit: Diese ...

Aktuelle Fragen

Server antwortet mit falschem Namen
oin notna, 21.07.2014 19:13, 1 Antworten
Hallo liebe Community, Ich habe mit Apache einen Server aufgesetzt. Soweit, so gut. Im Heimnet...
o2 surfstick software für ubuntu?
daniel soltek, 15.07.2014 18:27, 1 Antworten
hallo zusammen, habe mir einen o2 surfstick huawei bestellt und gerade festgestellt, das der nic...
Öhm - wozu Benutzername, wenn man dann hier mit Klarnamen angezeigt wird?
Thomas Kallay, 03.07.2014 20:30, 1 Antworten
Hallo Team von Linux-Community, kleine Zwischenfrage: warum muß man beim Registrieren einen Us...
openSUSE 13.1 - Login-Problem wg. Fehler im Intel-Grafiktreiber?
Thomas Kallay, 03.07.2014 20:26, 8 Antworten
Hallo Linux-Community, habe hier ein sogenanntes Hybrid-Notebook laufen, mit einer Intel-HD460...
Fernwartung für Linux?
Alfred Böllmann, 20.06.2014 15:30, 7 Antworten
Hi liebe Linux-Freunde, bin beim klassischen Probleme googeln auf www.expertiger.de gestoßen, ei...