IPP-Cups

aus PUG, der Penguin User Group
Wechseln zu: Navigation, Suche

Einführung

IPP (Internet Printing Protokoll) ist ein Verfahren, Druckaufträge über das Netzwerk zu versenden. Früher wurde unter Linux der [Samba] Dienst oder der LPD Spooler verwendet. Doch seit Einführung des Drucksystems [Cups] unter Linux und Konsorten, lässt sich nun auf eine elegantere Art und Weise, Drucker über das Netzwerk einbinden. Die großen Vorteile von Cups sind das leichte Einrichten und Verwalten von Druckern (echte wie auch virtuelle), aber auch die Offenheit. Es werden bekannte Standards verwendet (und auch neue definiert) wie HTTP 1.1. Mehr zu Cups gibt es [hier] und speziell zu IPP [hier].

Windows Versionen ab 2000 (und ME) unterstützen IPP von hause aus. Für Windows98 gibt es [hier] einen Treiber.

Cups vorbereiten

RAW aktivieren

Ich gehe davon aus, dass der angeschlossene Drucker unter Cups bereits eingerichtet und funktionsfähig ist. Damit nun auch Windows per IPP den Drucker nutzen kann, muss Cups dafür die zu druckenden Dokumente in einem Rohformat aktzeptieren. Dazu müssen in zwei Dateien, Kommentar Rauten entfernt werden. Diese Zeilen befinden sich je am Ende der Datei:

  • /etc/cups/mime.convs
 application/octet-stream       application/vnd.cups-raw        0
  • /etc/cups/mime.types
 application/octet-stream

Nach dem Entfernen der Rauten, kann Cups neugestartet werden:

$ /etc/init.d/cupsd restart #Entsprechend der Distribution

Klassen einrichten

Da speziell Windows 2000 mehrere Fehler in der IPP Implementierung hat, müssen wir im Cups eine Druckerklasse einrichten. Dazu öffnen wir das Webinterface von Cups, über http://localhost:631:

Cups-start.jpeg

Auf dieser Seite klicken wir auf Druckerklassen verwalten (Bei einer Passwortabfrage, den Benutzernamen root und das Root Passwort eintragen) und darauf auf Klasse hinzufügen. Die folgende Seite kann beliebig ausgefüllt werden:

Cups-klasse.jpeg

Nach einem Klick auf Weiter, werden die verfügbaren Drucker aufgelistet:

Cups-klasse-wahl.jpeg

Dort wählen wir den gewünschten Drucker aus und fahren fort. Am Ende wurde eine Druckerklasse mit einem Drucker erstellt.

Windows vorbereiten

Da Windows2000 die Drucker nicht per IP-Adresse ansprechen kann (ein Bug), müssen wir den Namen des Cups Druckers in die hosts Datei eintragen, wenn kein funktionierendes DNS zur Verfügung steht. Dazu öffnen wir die Datei:

c:\winnt\system32\drivers\etc\hosts

und fügen beispielsweise folgende Zeile ein:

192.168.0.1  freeway

Die IP-Adresse und der Name sollten entsprechend der Netzwerkeinstellungen angepasst werden. Mit einem Ping ping freeway lässt sich prüfen, ob der Name zur IP-Adresse passt, bzw. den richtigen Rechner erreicht.

Windows Drucker einrichten

Nun können wir den Drucker hinzufügen über das Startmenü > Einstellungen > Drucker > Neuer Drucker. Dort angelangt, wählen wir Netzwerkdrucker > Mit einem Computer im Internet oder Intranet verbinden und tragen als URL folgendes ein:

http://freeway:631/classes/Farbe

Windows sollte nun nach einem Treiber verlangen, da er für diesen keinen findet. Als Treiber wird der normale Windows Druckertreiber verwendet, der vom Hersteller hoffentlich bereitgestellt wurde.

Windows XP

Unter Windows XP ist das Erstellen der Klasse nicht nötig. Der Drucker kann direkt über die URL:

http://freeway:631/printers/<druckername>

erreicht werden. Auch sollte dort der hosts Eintrag überflüssig sein und auch eine IP-Adresse kann verwendet werden:

http://192.168.0.1:631/printers/<druckername>

Testdruck

Ist alles gutgelaufen, kann nun über Windows einen Testseite ausgedruckt werden.

Fehler finden

Der häufigste Fehler sind oft fehlende Zugriffsrechte. Dies bedeutet, per default darf kein Rechner im Netzwerk auf den Cups zugreifen, sofern dies nicht schon von den Distributoren angepasst wurde. Windows meldet in der Regel einen "Zugriff verweigert", beim betrachten des Status. Um dies anzupassen, müssen wir die Konfigurations Datei von Cups Dämon öffnen.

/etc/cups/cupsd.conf

Dort findet sich die Sektion location und sollte so aussehen:

<Location />
Order Deny,Allow
Deny From All
Allow From 127.0.0.1
Allow From @LOCAL
</Location>

Dies hat zur folge, das nun alle Rechner die am Netzwerk angeschlossen sind, Zugriff auf das Drucksystem haben. Dies lässt sich natürlich auch auf IP-Adressen einschränken:

<Location />
Order Deny,Allow
Deny From All
Allow From 127.0.0.1
Allow From 192.168.0.0
</Location>

Dann haben nur noch Rechner aus dem Netz 192.168.0.0 Zugriff auf Cups.

Nach den Änderungen muss Cups neugestartet werden:

$ /etc/init.d/cupsd restart

Sollten aber immer noch Fehler auftreten, empfiehlt es sich, die Gesprächigkeit von Cups zu erhöhen. Dies wird in der Zeile:

LogLevel info

In der cupsd.conf geändert. Sie lässt sich von none (garnichts) bis debug2 (alles loggen). Nach dem Neustart von Cups, lässt sich nun mehr in Erfahrung bringen, mit Hilfe der:

/var/log/cups/error_log

Datei.

Cups IPP und Mac OSX

Um von Windows auf OSX drucken zu können, welches ebenfalls Cups nutzt, ist es nötig unter OS X einen RAW Drucker zu erstellen, mit einem RAW Treiber und als Anschluss den am Mac angeschlossenen Drucker. Mehr dazu [hier].

--Denny 12:16, 21. Apr 2005 (CEST)