Common Unix Printing System: Unterschied zwischen den Versionen

Aus Mikiwiki
Wechseln zu: Navigation, Suche
(Verwendung)
(Weblinks)
 
(6 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 50: Zeile 50:
 
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.  
 
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-Gerätetreiber 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<tt><nowiki> http://<Name des Druckservers>/printers/<Druckername unter CUPS> </nowiki></tt>angegeben. Jetzt werden nur noch Windows-Druckertreiber benötigt.
 
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<tt><nowiki> http://<Name des Druckservers>/printers/<Druckername unter CUPS> </nowiki></tt>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.
 
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 ==
 
== Verwendung ==
Zeile 81: Zeile 70:
 
  # <b>lppasswd -g sys -a root</b>
 
  # <b>lppasswd -g sys -a root</b>
  
Einstellen von "drucker1" als Standarddrukcer ("Systemvoreingestelltes Druckziel").
+
Einstellen von "drucker1" als Standarddrucker ("Systemvoreingestelltes Druckziel").
  
 
  # <b>lpadmin -d drucker1</b>
 
  # <b>lpadmin -d drucker1</b>
Zeile 93: Zeile 82:
 
  $ <b>fuser /dev/lp0</b>
 
  $ <b>fuser /dev/lp0</b>
  
Abschiessen der gefundenen PID.
+
Abschiessen der gefundenen Prozessnummer.
  
 
  # <b>kill -9 &lt;PID&gt;</b>
 
  # <b>kill -9 &lt;PID&gt;</b>
Zeile 106: Zeile 95:
 
  AuthClass System
 
  AuthClass System
 
  AuthType Basic
 
  AuthType Basic
 +
Allow From All
 +
</Location>
 +
 +
Besser scheint folgendes funktionieren:
 +
 +
<Location />
 +
AuthType BasicDigest
 +
AuthClass Group
 +
AuthGroupName sys
 
  Allow From All
 
  Allow From All
 
  </Location>
 
  </Location>
  
 
Das dann jeweils verlangte Passwort ist das von Benutzer "root".
 
Das dann jeweils verlangte Passwort ist das von Benutzer "root".
 +
 +
Siehe dazu auch http://adam.rosi-kessel.org/weblog/2004/12/31/linux
  
 
=== client-error-not-possible ===
 
=== client-error-not-possible ===
Zeile 121: Zeile 121:
 
* Abbrechen aller bestehenden Druckprozesse und Druckjobs
 
* Abbrechen aller bestehenden Druckprozesse und Druckjobs
 
* <tt># <b>/etc/init.d/cups restart</b></tt>
 
* <tt># <b>/etc/init.d/cups restart</b></tt>
 +
 +
== FAQ ==
 +
 +
=== Zugriff über die Weboberfläche ===
 +
 +
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.
  
 
== Weblinks ==
 
== Weblinks ==
  
{{Weblinks1|{{url_dewikipedia|Common_Unix_Printing_System|Common Unix Printing System}}
+
{{Weblinks}}
}}
+
{{url_dewikipedia|Common_Unix_Printing_System|Common Unix Printing System}}
 +
{{Fuss}}
 +
 
 +
* http://www.linuxfoundation.org/collaborate/workgroups/openprinting/database/cupsdocumentation
  
  

Aktuelle Version vom 9. August 2011, 12:22 Uhr

Das Drucksystem Common Unix Printing System / CUPS ermöglicht das Drucken unter den verschiedenen unixoiden Betriebssystemen.

Konzept

CUPS verwendet das Client-Server-Modell:

  • Der Druckserver (der Daemon cupsd) nimmt den Druckauftrag entgegen und leitet ihn an das gewünschte Gerät weiter. Ist dieses gerade beschäftigt, so wandert der Drcukauftrag in eine Warteschlange.
  • Der Druckclient schickt den Druckauftrag. Alle Rechner, welche die Druckdienste in Anspruch nehmen, werden in der CUPS-Terminologie als Clients bezeichnet. Auf ihnen muss lediglich CUPS laufen - die Einrichtung von Druckern ist hier nicht nötig.

Der Druckauftrag eines Druckclient wird an einen Scheduler gesendet, der die zu druckenden Daten durch ein Filtersystem in das portable Postscript-Format konvertiert. Diese Daten werden schliesslich zu einem Backend gesendet, welches sie entweder auf dem entsprechenden Drucker druckt (und die Postscript-Daten dafür umwandelt) oder sie über ein Rechnernetz an einen anderen CUPS-Server verschickt.

Der Hauptvorteil von CUPS gegenüber anderen Drucksystemen ist, dass CUPS ein standardisiertes und modularisiertes System ist, das eine Vielzahl von unterschiedlichen Daten auf dem Druckserver versteht (z. B. PDF-Dateien, PNG-Bilder, Latex-Texte). Mit einem solchen System ist plattformübergreifendes Arbeiten in heterogenen Rechnernetzen möglich. In Verbindung mit Samba lassen sich sogar CUPS-Dateien über einen virtuellen Spooler drucken, mit dem Microsoft Windows-Rechner kommunizieren können.

In einem CUPS-Server ist standardmässig ein HTTP-Server integriert. Dies ermöglicht zum einen eine Konfiguration jedes Rechners im Rechnernetz des CUPS-Servers, zum anderen ist so auch eine gewisse Benutzerfreundlichkeit durch ein ohne besondere Software nutzbares Steuerungssystem geschaffen (lediglich ein Webbrowser ist notwendig).

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-Gerätetreiber 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.

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

Einstellen von "drucker1" als Standarddrucker ("Systemvoreingestelltes Druckziel").

# lpadmin -d drucker1

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

# 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>

Besser scheint folgendes funktionieren:

<Location />
AuthType BasicDigest
AuthClass Group
AuthGroupName sys
Allow From All
</Location>

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

Siehe dazu auch http://adam.rosi-kessel.org/weblog/2004/12/31/linux

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

FAQ

Zugriff über die Weboberfläche

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.

Weblinks

Herausgeber Sprache Webseitentitel Anmerkungen
country DE.gif Wikipedia ger Common Unix Printing Systemwbm Enzyklopädischer Artikel