Common Unix Printing System: Unterschied zwischen den Versionen

Aus Mikiwiki
Zur Navigation springen Zur Suche springen
Zeile 36: Zeile 36:
=== Drucken unter MacOS und Windows ===
=== Drucken unter MacOS und Windows ===


CUPS bietet seine Dienste nicht nur Linux-Rechnern an. Dank dem [[Internet Printing Protocol]] kommunizieren auch artfremde Systeme mit CUPS - vorausgesetzt, sie sprechen IPP. Hierzu gehört z. B. MacOS X ab Version 10.2.  
CUPS bietet seine Dienste nicht nur Linux-Rechnern an. Dank dem [[Internet Printing Protocol]] kommunizieren auch artfremde Systeme mit CUPS - vorausgesetzt, sie sprechen IPP. Hierzu gehört z. B. Mac OS X ab Version 10.2.  


Unter Windows sollten die Drucker auf jeden Fall auf dem Server als Modell "RAW" angelegt werden. CUPS leitet dann alle Daten unverarbeitet an den entsprechenden Anschluss weiter. Das setzt voraus, dass auf dem Client ein passender Druckertreiber läuft. Windows-Rechner verwenden dann einfach den Windows-Treiber des Herstellers.
Unter Windows sollten die Drucker auf jeden Fall auf dem Server als Modell "RAW" angelegt werden. CUPS leitet dann alle Daten unverarbeitet an den entsprechenden Anschluss weiter. Das setzt voraus, dass auf dem Client ein passender Druckertreiber läuft. Windows-Rechner verwenden dann einfach den Windows-Treiber des Herstellers.

Version vom 8. Februar 2009, 13:37 Uhr

Das Common Unix Printing System / CUPS ist ein Druckserver. Der zugehörige Daemon heisst cupsd. Er nimmt Druckaufträge entgegen und leitet sie an das gewünschte Gerät weiter. Ist dieses gerade beschäftigt, so wandert das Dokument in eine Warteschlange. Alle Rechner, die die Druckdienste in Anspruch nehmen, werden in der CUPS-Terminologie als Clients bezeichnet. Auf ihnen muss lediglich das CUPS laufen - die Einrichtung von Druckern ist hier nicht nötig.

Konfiguration

Die Web-Benutzeroberfläche wird über die Adresse http://localhost:631/ aufgerufen.

Die Konfigurationsdatei von CUPS heisst "/etc/cups/cupsd.conf".

Parameter Beschreibung
BrowseInterval Die Anzahl Sekunden, nach denen cupsd seine Konfiguration übers Netz propagiert. Da sich die angeschlossenen Drucker in einem kleinen Netzwerk nicht oft ändern, kann hier ein höherer Wert als die voreingestellten 30 Sekunden gewählt werden.
BrowseAddress Dahinter folgt die IP-Adresse, an die CUPS seine Informationen sendet. Hier kann ein einzelner Rechner (z. B. "192.168.1.1") oder eine Broadcast-Adresse (z. B. "192.168.0.255") angegeben werden. Im zweiten Fall würden die Konfigurationsinformationen an alle Rechner gesendet, deren IP-Adresse mit "192.168.0" beginnt.
Browsing Zum Einschalten auf "On" setzen. Unter Ubuntu findet sich diese Option in der Datei "/etc/cups/cupsd-browsing.conf".

Der Fernzugriff (hier für "192.168.0.12" sowie alle mit "172.16.66" beginnenden IP-Adressen) wird wie folgt ermöglicht.

<Location>
Allow From 192.168.0.12
Allow From 172.16.66.*
</Location>

Standardmässig erlaubt cupsd den Zugriff auf die Web-Benutzeroberfläche nur von dem Rechner aus, auf dem cupsd läuft. Um auch anderen Benutzern (hier der IP-Adresse "192.168.0.12") den Zugriff auf das Menü "Einrichtungsaufgaben" zu erlauben wird folgendes eingetragen. Der Zugriff ist allerdings erst nach einem Neustart des cupsd möglich.

<Location /admin>
Allow From 192.168.0.12
</Location>

Unter Debian funktioniert das anders: hier muss als Benutzer "root" folgenden Befehl ausführen. Der Zugriff ist auch hier erst nach einem Neustart des cupsd möglich.

# adduser cupsys shadow

Drucken unter MacOS und Windows

CUPS bietet seine Dienste nicht nur Linux-Rechnern an. Dank dem Internet Printing Protocol kommunizieren auch artfremde Systeme mit CUPS - vorausgesetzt, sie sprechen IPP. Hierzu gehört z. B. Mac OS X ab Version 10.2.

Unter Windows sollten die Drucker auf jeden Fall auf dem Server als Modell "RAW" angelegt werden. CUPS leitet dann alle Daten unverarbeitet an den entsprechenden Anschluss weiter. Das setzt voraus, dass auf dem Client ein passender Druckertreiber läuft. Windows-Rechner verwenden dann einfach den Windows-Treiber des Herstellers.

Windows 2000 und Windows XP unterstützen IPP. Vor dem Einrichten eines Druckers muss allerdings ein Fehlverhalten umschifft werden: in die Datei "hosts" muss eine Zeile mit der IP-Adresse des Druckservers und seinem Namen geschrieben werden. Danach wird im Druckerdialogfenster über "Verbindung mit einem Drucker im Internet oder Heim/Firmennetz herstellen" ein neuer Netzwerkdrucker angelegt. Als URL wird http://<Name des Druckservers>/printers/<Druckername unter CUPS> angegeben. Jetzt werden nur noch Windows-Druckertreiber benötigt.

Besitzern von Windows 95, Windows 98 oder Windows ME bleibt ausschliesslich der Weg über Samba. Auf eine Beschreibung hierzu wird verzichtet.

FAQ

Manchmal kann die Weboberfläche von CUPS nur von der Konsole aufgerufen werden. Dann muss der IP-Adresse das Recht gegeben werden, bestimmte Bereiche zu bearbeiten, ausserdem müssen aber auch folgende Einstellungen angepasst werden.

BrowseAllow 192.6.6.*
BrowseAllow 10.0.1.17
BrowseAllow @LOCAL
BrowseDeny All

Im obigen Fall können alle Rechner des Netzes 192.6.6.0/24, der Rechner mit der Ip 10.0.1.17 und die Konsole mit dem Browser auf CUPS zugreifen.

Verwendung

Starten von cupsd unter SUSE Linux.

# rccups start

Starten von cupsd unter Debian.

# /etc/init.d/cupsys start

Freischaltung der Web-Benutzeroberfläche.

# lppasswd -g sys -a root

Prüfen, ob über einen bestimmten Druckeranschluss gedruckt werden kann.

$ echo -en "Hallo\f" > /dev/lp0

Herausfinden von Benutzern, die eine bestimmte Datei verwenden.

$ fuser /dev/lp0

Abschiessen der gefundenen PID.

# kill -9 <PID>

Fehlermeldungen

client-error-forbidden

Zum Verhindern der Meldung "client-error-forbidden" beim Löschen von Druckjobs muss folgendes in die Datei "/etc/cupsd.conf" eingetragen werden.

<Location />
AuthClass System
AuthType Basic
Allow From All
</Location>

Das dann jeweils verlangte Passwort ist das von Benutzer "root".

client-error-not-possible

Die Fehlermeldung "client-error-not-possible" erscheint nur in folgenden Fällen:

  • CUPS oder der aktuelle Benutzer hat keine Schreibberechtigung für den Druckeranschluss
  • Der Benutzer hat seine Quota überschritten

Behebung:

  • # chmod 666 /dev/lp0
  • Abbrechen aller bestehenden Druckprozesse und Druckjobs
  • # /etc/init.d/cups restart

Weblinks

Vorlage:dewi