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.
Um die Urlaubsfotos in neuem Glanz erstrahlen zu lassen, haben Sie einen neuen Tintenstrahldrucker angeschafft. Zwei Zimmer weiter bekommt Ihr Sohn davon Wind und möchte seine letzten Party-Schnappschüsse ebenfalls auf Papier festhalten. Dank Cups ist dieser Wunsch nicht mit dem Umhertragen von Geräten verbunden.
Bevor der Computer Ihres Filius den Tintenstrahler benutzen darf, müssen Sieihn erst einmal anschließen und einrichten. Dazu spielen Sie im ersten Schritt alle Cups-Pakete ein und stellen sicher, dass Cups nach dem Systemstart auch läuft. Die meisten Distributionen führen die dazu nötigen Konfigurationsschritte bereits bei der Installation durch.
Einen neuen Drucker melden Sie oder Ihr Junior dann schnell über das Einrichtungsprogramm der Distribution an. Die einzelnen Schritte dorthin unterscheiden sich von Distribution zu Distribution. Aus diesem Grund beschreibt die folgende Anleitung einen allgemein gültigen Weg. Er beginnt mit der Einrichtung des Computers, an dem der Drucker physikalisch hängt – im Beispiel also Ihres PCs.
Einrichtung
Den Kern von Cups bildet ein kleines Hintergrundprogramm, der Cups-Daemon cupsd. Er nimmt Druckaufträge entgegen und leitet sie an das gewünschte Gerät weiter. Ist das gerade beschäftigt, wandert das Dokument in eine Warteschlange. Kommt ein neuer Drucker hinzu, müssen Sie diesen zunächst beim Daemon bekannt machen. Dazu öffnen Sie einen Web-Browser und geben folgende URL ein: http://localhost:631. Daraufhin erscheint die Konfigurationsseite aus Abbildung 1.

Drucker verwalten gibt eine Übersicht über alle verfügbaren Drucker.” width=”300″ height=”212″ />
Abbildung 1: Die Startseite der Web-Oberfläche von Cups. Der PunktDrucker verwalten gibt eine Übersicht über alle verfügbaren Drucker. Einige Distributionen starten den Cups-Daemon beim Hochfahren des Systems nur dann, wenn Sie schon zuvor einen Drucker eingerichtet haben. Unter älteren Suse-Versionen aktivieren Sie beispielsweise unter Yast die Option Cups als Server. Nur wenn das Konfigurationsprogramm Ihrer Distribution hier keine weiteren Möglichkeiten vorsieht, behelfen Sie sich, indem Sie in einem Terminalfenster als Benutzer root das entsprechende Startskript aufrufen. Unter Suse-Linux lautet der Aufruf rccups start, Debian-Benutzer geben /etc/init.d/cupsys start ein.
Von der Startseite wechseln Sie nun in den Bereich Einrichtungsaufgaben und von dort Drucker hinzufügen. Falls Cups Sie nach den Zugangsdaten fragt, wählen Sie den Benutzer root und geben dessen Passwort an. Weisen Sie dem Drucker im Feld Name eine Bezeichnung zu (sie darf keine Leerzeichen enthalten, Abbildung 2). Auf der nächsten Seite wählen Sie in der Liste den Anschluss aus, an dem der Drucker hängt. Ein Klick auf Weiter führt zur Auswahl des Herstellers.

Abbildung 2: Cups bietet die Möglichkeit, beliebig viele “virtuelle” Drucker anzulegen, die das gleiche physikalische Gerät nutzen. Das bietet sich an, wenn Sie für denselben Drucker stets unterschiedliche Einstellungen benötigen.
TIPP
Beim Anlegen eines neuen Druckers bietet die Web-Schnittstelle immer auch einen Hersteller namens RAW an. Mit ihm leitet Cups alle Daten unverarbeitet an den entsprechenden Anschluss weiter. Dieses Vorgehen setzt voraus, dass auf dem Client ein passender Druckertreiber läuft. Im Vater-und-Sohn-Beispiel müsste der Sohn einen Treiber für Vaters Drucker besorgen und ihn auf seinem System einspielen. Diese Option eignet sich vor allem für Drucker, zu denen es keine Linux-Treiber gibt. Windows-Nutzer verwenden dann nämlich einfach den Windows-Treiber des Herstellers.
Antreiber
Als letzter Schritt bleibt noch die Wahl eines passenden Druckertreibers. Bevor Cups ein Dokument an den Drucker übergibt, wandert es durch einen dieser Treiber oder Filter. Sie bereiten die Daten so auf, dass der zugehörige Drucker sie versteht. Da jeder Hersteller in dieser Beziehung sein eigenes Süppchen kocht, benötigen Sie einen auf Ihr Druckermodell abgestimmten Treiber.
Falls die mitgelieferten Filter nicht ausreichen, greifen Sie auf zusätzliche Ergänzungspakete zurück. Suse Linux bringt beispielsweise spezielle Filter für Hewlett-Packard-Drucker mit (Paket filters). Nachdem Sie einen passenden Filter ausgewählt haben, klicken Sie auf Weiter und anschließend auf den Druckernamen. Auf der nun folgenden Übersichtsseite sollten Sie mit Drucker Testseite alle bislang gewählten Parameter testen (Abbildung 3). Hinter Drucker konfigurieren verbergen sich weitere, spezielle Einstellungen für Ihr Gerät.

Abbildung 3: Ein fertig eingerichteter Drucker unter Cups. Die Web-Oberfläche führt auch alle durch die Distribution eingerichteten Drucker auf.
An alle!
Der Vater kann nun bereits drucken; Jetzt gilt es, dem Sohn Zugriff auf den neuen Drucker zu gewähren. Hierfür gibt es verschiedene Wege – beim einfachsten regelt Cups alles selbst. Dazu sendet der Daemon Informationen über die angeschlossenen Drucker in bestimmten Zeitintervallen durch das komplette Netzwerk. Alle anderen Computer empfangen das Signal und binden die Drucker selbstständig ein.
Um diese als Broadcasting bezeichnete Methode auf dem Server zu aktiveren, sollten Sie zunächst einen Blick in das Konfigurationsprogramm ihrer Distribution werfen. Falls Sie dort keine passende Option finden, öffnen Sie die Cups-Konfigurationsdatei /etc/cups/cupsd.conf als Benutzer Root mit einem Texteditor. Alle Zeilen, die mit einer Raute beginnen, ignoriert der Daemon.
Suchen Sie zunächst die Zeile, die mit BrowseInterval beginnt. Die Zahl dahinter legt fest, nach wievielen Sekunden Cupsd seine Konfiguration über das Netz propagiert. Da sich die angeschlossenen Drucker in einem Heimnetzwerk nicht oft ändern, bietet es sich an, hier einen höheren Wert als die voreingestellten 30 Sekunden zu wählen.
Die nächste Änderung gilt dem Eintrag BrowseAddress. Ihm folgt eine IP-Adresse, an die Cups seine Informationen sendet. Hier geben Sie entweder einen einzelnen Computer an, wie zum Beispiel 192.168.0.12, oder eine Broadcast-Adresse wie 192.168.0.255. Im letzten Fall würden die Konfigurationsinformationen an alle Computer gesendet, deren IP-Adresse mit 192.168.0 beginnt.
Abschließend schalten Sie noch das Browsing ein, indem Sie die Option Browsing auf On setzen. Bei Ubuntu finden Sie diese Option in der Datei /etc/cups/cupsd-browsing.conf.
Damit weiß der Computer des Sohns zwar jetzt vom Drucker des Vaters, der Zugriff bleibt ihm aber immer noch verwehrt. Um den Fernzugriff einzuschalten, suchen Sie die Zeilen <Location /> und </Location>. Die Angaben dazwischen regeln die Zugriffsrechte. Ergänzen Sie vor </Location> die Zeile Allow From 192.168.0.12. Die IP-Adresse bezeichnet den Computer, der Zugriff auf Cups erhalten soll. Hier dürfen Sie beliebig viele Einträge hinzufügen sowie Wildcards benutzen. So gewährt Allow From 192.168.0.* allen Computern Zugriff, deren IP-Adresse mit 192.168.0 beginnt.
Polling
Sicherheitsbewusste Nutzer werden beim Broadcasting mindestens eine Augenbraue hochziehen. Denn stellt der Administrator die IP-Adressen nicht gewissenhaft ein, bekommt schnell ein Computer Zugriff, der gar nicht drucken dürfte. Aus diesem Grund lässt sich der Spieß in Cups auch umdrehen: Beim so genannten Polling holt der Client die Konfiguration beim Druckerserver ab.
Um Polling zu aktivieren, öffnen Sie auf den entsprechenden Clients die Datei /etc/cups/cupsd.conf. Suchen Sie die Zeile BrowsePoll und entfernen Sie nötigenfalls die Raute. Hinter dem Schlüsselwort tragen Sie nun den Namen oder die IP-Adresse des Servers ein. Nach einem Neustart von Cups stehen die Drucker des Servers auch bei den Clients zur Verfügung.
Fernwartung
In der Standardkonfiguration erlaubt der Daemon Zugriffe auf die Web-Schnittstelle nur von dem Rechner aus, auf dem der Cupsd läuft. Der Sohn hat daher vorerst keine Möglichkeiten, die Einstellungen auf dem Server-Computer zu verändern.
Soll der Sohn auch selbst die Cups-Einstellungen auf dem Server ändern dürfen, müssen Sie noch die Zeile <Location /admin> suchen. Darunter tragen Sie Allow From 192.168.0.12 ein. Damit haben nach einem Neustart von Cups die Benutzer des Computers mit der IP-Nummer 192.168.0.12 Zugriff auf den Bereich Einrichtungsaufgaben. Für Debian-Benutzer gilt hier wieder eine Besonderheit: Standardmäßig haben die Entwickler administrativen Zugriff auf das Web-Interface abgeschaltet. Wollen Sie ihn zulassen, geben Sie als Root folgenden Befehl in einer Konsole ein: adduser cupsys shadow.
Damit die Änderungen wirksam werden, starten Sie den Cups-Daemon über die entsprechenden Startskripte neu. Unter Suse Linux erledigen Sie dies beispielsweise in einem Terminalfenster mit dem Befehl rccups restart respektive unter Debian /etc/init.d/cupsys restart.
Alle Computer, die die Druckdienste nun in Anspruch nehmen, werden in der Cups-Terminologie als Clients bezeichnet. Hierzu gehört etwa der Rechner des Sohns aus der Beispielumgebung. Auf ihnen muss lediglich das Cups-System laufen. Die Einrichtung von Druckern ist hier nicht nötig. Gibt es dennoch Probleme, sollten Sie einen Blick auf Ihre Netzwerkkonfiguration und dort insbesondere in die Datei /etc/hosts werfen. Falls kein DNS-Server zum Einsatz kommt, beherbergt sie alle Hostnamen. Stimmt dort etwas nicht, sendet Cups ins Leere.
Tanze Samba mit mir
Der im Artikel aufgesetzte Druckerserver bietet seine Dienste nicht nur anderen Computern an, auf denen Linux läuft. Dank des Internet Printing Protocol (IPP) kommunizieren auch artfremde Systeme mit Cups – vorausgesetzt sie sprechen das Protokoll. Hierzu gehört beispielsweise Mac OS X ab Version 10.2. Bei Windows sieht die Situation schon durchwachsener aus. In jedem Fall sollten Sie den Drucker auf dem Server als Modell RAW anlegen.
Windows 2000 und XP unterstützen von Haus aus IPP. Bevor Sie dort einen Drucker einrichten können, müssen Sie noch ein Fehlverhalten umschiffen. Öffnen Sie dazu die Datei hosts mit einem Texteditor. Sie finden sie unter Windows 2000 im Verzeichnis C:\winnt\system32\drivers\etc\ und bei Windows XP im Verzeichnis C:\windows\system32\drivers\etc\. Fügen Sie dort eine neue Zeile hinzu, in die Sie die IP-Adresse des Druckerservers und – von einem Leerzeichen getrennt – seinen Namen schreiben.
Jetzt legen Sie im Druckerdialogfenster einen neuen Netzwerkdrucker mittels Verbindung mit einem Drucker im Internet oder Heim/Firmennetz herstellen an. Nun möchte Windows eine URL von Ihnen bekommen. Geben Sie http://SERVERNAME/printers/DRUCKERNAME ein. Dabei ersetzen Sie SERVERNAME durch den Namen des Druckerservers und DRUCKERNAME durch den Namen, den Sie auf der Weboberfläche von Cups gewählt haben. (Diese Namen listet die Web-Oberfläche auch hinter Drucker verwalten auf.) Jetzt brauchen Sie nur noch die Windows-Druckertreiber.
Besitzern von Windows 95, 98 und Me bleibt hingegen ausschließlich der Weg über Samba. Die folgenden Schritte setzen voraus, dass Sie diese Kommunikationssoftware bereits korrekt auf Ihrem Druckerserver installiert und eingerichtet haben. Sofern das Konfigurationsprogramm Ihrer Distribution eine entsprechende Konfiguration zulässt, sollten Sie ihr immer den Vorzug geben.
Im ersten Schritt teilen Sie Samba mit, dass der Cups-Daemon für das Drucken zuständig ist. Dazu öffnen Sie als Benutzer Root die Samba-Konfigurationsdatei /etc/samba/smb.conf. Sie unterteilt sich in Abschnitte, von denen Sie zunächst den mit [global] markierten Bereich suchen. Dort stellen Sie sicher, dass folgende Zeilen vorhanden sind:
printing=cups printcap name=cups
Suchen Sie nun die Zeile, die mit invalid users= anfängt. Sofern dahinter root auftaucht, entfernen Sie diesen Benutzer. Dieser Schritt ist notwendig, da der folgende Befehl das Programm smbclient aufruft und dabei Root mit Samba verbindet. Speichern Sie die Datei ab und starten Sie Samba neu. Um die Cups-Drucker mit Samba zu verbinden, rufen Sie nun in einem Terminalfenster den Befehl cupsaddsmb -a auf. Unter Windows richten Sie abschließend wie gewohnt einen neuen Netzwerkdrucker ein (im Einrichtungsassistenten Netzwerkdrucker und dann Durchsuchen). Als Computer wählen Sie den Druckerserver. Anschließend verlangt Windows noch die zum Drucker gehörende Treiber-CD.




