9.4 Netzwerkdrucker

Ein Netzwerkdrucker kann unterschiedliche Protokolle unterstützen - einige von diesen sogar gleichzeitig. Obwohl die meisten der unterstützten Protokolle standardisiert sind, erweitern (ändern) einige Hersteller den Standard, weil sie Systeme testen, die in den Standard noch nicht ordnungsgemäß implementiert wurden, oder weil sie bestimmte Funktionen zur Verfügung stellen möchten, die im Standard nicht enthalten sind. Hersteller stellen in diesem Fall nur für wenige Betriebssysteme Treiber zur Verfügung und eliminieren so die Schwierigkeiten mit diesen Systemen. Linux-Treiber werden leider nur sehr selten zur Verfügung gestellt. Gegenwärtig können Sie nicht davon ausgehen, dass alle Protokolle problemlos mit Linux funktionieren. Um dennoch eine funktionale Konfiguration zu erhalten, müssen Sie daher möglicherweise mit den verschiedenen Optionen experimentieren.

CUPS unterstützt die Protokolle socket, LPD, IPP und smb.

socket

Socket bezieht sich auf eine Verbindung, in der die Daten an ein Internet-Socket gesendet werden, ohne dass zuvor ein Data-Handshake erfolgt. Einige der am häufigsten verwendeten Socket-Ports sind 9100 oder 35. Die Syntax der Geräte-URI (Uniform Resource Identifier) ist socket://IP.of.the.printer:port, zum Beispiel socket://192.168.2.202:9100/.

LPD (Line Printer Daemon)

Das bewährte LPD-Protokoll wird in RFC 1179 beschrieben. Mit diesem Protokoll werden einige druckauftragsbezogene Daten, z. B. die ID der Druckwarteschlange, vor den eigentlichen Druckdaten gesendet. Daher muss die Druckwarteschlange beim Konfigurieren des LPD-Protokolls für die Datenübertragung angegeben werden. Die Implementierungen diverser Druckerhersteller sind flexibel genug, um beliebige Namen als Druckwarteschlange zu akzeptieren. Der zu verwendende Name müsste ggf. im Druckerhandbuch angegeben sein. Es werden häufig Bezeichnungen wie LPT, LPT1, LP1 o. ä. verwendet. Eine LPD-Warteschlange kann auch auf einem anderen Linux- oder Unix-Host im CUPS-System konfiguriert werden. Die Portnummer für einen LPD-Dienst lautet 515. Ein Beispiel für einen Gerät-URI ist lpd://192.168.2.202/LPT1.

IPP (Internet Printing Protocol)

IPP ist ein relativ neues Protokoll (1999), das auf dem HTTP-Protokoll basiert. Mit IPP können mehr druckauftragsbezogene Daten übertragen werden als mit den anderen Protokollen. CUPS verwendet IPP für die interne Datenübertragung. Dies ist das bevorzugte Protokoll für eine Weiterleitungswarteschlange zwischen zwei CUPS-Servern. Um IPP ordnungsgemäß konfigurieren zu können, ist der Name der Druckwarteschlange erforderlich. Die Portnummer für IPP lautet 631. Beispiele für Geräte-URIs sind ipp://192.168.2.202/ps und ipp://192.168.2.202/printers/ps.

SMB (Windows-Freigabe)

CUPS unterstützt auch das Drucken auf freigegebenen Druckern unter Windows. Das für diesen Zweck verwendete Protokoll ist SMB. SMB verwendet die Portnummern 137, 138 und 139. Beispiele für Geräte-URIs sind smb://user:password@workgroup/smb.example.com/printer, smb://user:password@smb.example.com/printer und smb://smb.example.com/printer.

Das vom Drucker unterstützte Protokoll muss vor der Konfiguration ermittelt werden. Wenn der Hersteller die erforderlichen Informationen nicht zur Verfügung stellt, können Sie das Protokoll mit dem Befehl nmap ermitteln, der Bestandteil des Pakets nmap ist. nmap überprüft einen Host auf offene Ports. Beispiel:

nmap -p 35,137-139,515,631,9100-10000 printerIP

9.4.1 Konfigurieren von CUPS mit Kommandozeilenwerkzeugen

Sie können beim Konfigurieren eines Netzwerkdruckers die CUPS-Optionen nicht nur mit YaST einstellen, sondern können auch auf Kommandozeilenwerkzeuge wie lpadmin und lpoptions zugreifen. Sie benötigen ein Geräte-URI, das aus einem Backend, z. B. parallel, und Parametern besteht. Zum Bestimmen von gültigen Geräte- URIs auf Ihrem System verwenden Sie das Kommando lpinfo -v | grep ":/":

# lpinfo -v | grep ":/"
direct usb://ACME/FunPrinter%20XL
direct parallel:/dev/lp0

Mit lpadmin kann der CUPS-Serveradministrator Klassen und Druckwarteschlangen hinzufügen, entfernen und verwalten. Verwenden Sie die folgende Syntax, um eine Druckwarteschlange hinzuzufügen:

lpadmin -p queue -v device-URI -P PPD-file -E

Das Gerät (-v) ist anschließend als Warteschlange (-p) verfügbar und verwendet die angegebene PPD-Datei (-P). Das bedeutet, dass Sie die PPD-Datei und das Geräte-URI kennen müssen, wenn Sie den Drucker manuell konfigurieren möchten.

Verwenden Sie nicht -E als erste Option. Für alle CUPS-Befehle legt die Option -E als erstes Argument die Verwendung einer verschlüsselten Verbindung fest. Zur Aktivierung des Druckers muss die Option -E wie im folgenden Beispiel dargestellt verwendet werden:

lpadmin -p ps -v parallel:/dev/lp0 -P \
/usr/share/cups/model/Postscript.ppd.gz -E

Im folgenden Beispiel wird ein Netzwerkdrucker konfiguriert:

lpadmin -p ps -v socket://192.168.2.202:9100/ -P \
/usr/share/cups/model/Postscript-level1.ppd.gz -E

Weitere Optionen von lpadmin finden Sie auf der man-Seiten von lpadmin(1).

Während der Druckerkonfiguration werden bestimmte Optionen standardmäßig gesetzt. Diese Optionen können (je nach Druckwerkzeug) für jeden Druckauftrag geändert werden. Es ist auch möglich, diese Standardoptionen mit YaST zu ändern. Legen Sie die Standardoptionen mithilfe der Kommandozeilenwerkzeuge wie folgt fest:

  1. Zeigen Sie zunächst alle Optionen an:

    lpoptions -p queue -l

    Beispiel:

    Resolution/Output Resolution: 150dpi *300dpi 600dpi

    Die aktivierte Standardoption wird durch einen vorangestellten Stern (*) gekennzeichnet.

  2. Ändern Sie die Option mit lpadmin:

    lpadmin -p queue -o Resolution=600dpi
  3. Prüfen Sie die neue Einstellung:

    lpoptions -p queue -l
    
    Resolution/Output Resolution: 150dpi 300dpi *600dpi

Wenn ein normaler Benutzer lpoptions ausführt, werden die Einstellungen in ~/.cups/lpoptions geschrieben. Jedoch werden die root-Einstellungen in to /etc/cups/lpoptions geschrieben.