Inhaltsverzeichnis
openSUSE® unterstützt viele Arten von Druckern, einschließlich Remote- und Netzwerkdrucker. Drucker können manuell oder mit YaST konfiguriert werden. Anleitungen zur Konfiguration finden Sie unter Abschnitt 14.4, „Einrichten eines Druckers“. Grafische Dienstprogramme und Dienstprogramme an der Kommandozeile sind verfügbar, um Druckaufträge zu starten und zu verwalten. Wenn Ihr Drucker nicht wie erwartet verwendet werden kann, lesen Sie die Informationen unter Abschnitt 14.8, „Fehlersuche“.
CUPS (Common Unix Printing System) ist das standardmäßige Drucksystem in openSUSE.
Drucker können nach Schnittstelle, z. B. USB oder Netzwerk, und nach Druckersprache unterschieden werden. Stellen Sie beim Kauf eines Druckers sicher, dass der Drucker über eine für Ihre Hardware geeignete Schnittstelle (wie USB oder einen parallelen Port) und eine geeignete Druckersprache verfügt. Drucker können basierend auf den folgenden drei Klassen von Druckersprachen kategorisiert werden:
PostScript ist die Druckersprache, in der die meisten Druckaufträge unter Linux und Unix vom internen Drucksystem generiert und verarbeitet werden. Wenn PostScript-Dokumente direkt vom Drucker verarbeitet und im Drucksystem nicht in weiteren Phasen konvertiert werden müssen, reduziert sich die Anzahl der möglichen Fehlerquellen.
Obwohl diese Druckersprachen ziemlich alt sind, werden sie immer weiter entwickelt, um neue Druckerfunktionen unterstützen zu können. Bei den bekannten Druckersprachen kann das Drucksystem PostScript-Druckaufträge mithilfe von Ghostscript in die entsprechende Druckersprache konvertieren. Diese Verarbeitungsphase wird als „Interpretieren“ bezeichnet. Die gängigsten Sprachen sind PCL (die am häufigsten auf HP-Druckern und ihren Klonen zum Einsatz kommt) und ESC/P (die bei Epson-Druckern verwendet wird). Diese Druckersprachen werden in der Regel von Linux unterstützt und liefern ein adäquates Druckergebnis. Linux ist unter Umständen nicht in der Lage, einige spezielle Druckerfunktionen anzusprechen. Mit Ausnahme der von HP entwickelten HPLIP (HP Linux Imaging & Printing) gibt es derzeit keinen Druckerhersteller, der Linux-Treiber entwickeln und sie den Linux-Distributoren unter einer Open-Source-Lizenz zur Verfügung stellen würde.
Diese Drucker unterstützen keine der gängigen Druckersprachen. Sie verwenden eigene, undokumentierte Druckersprachen, die geändert werden können, wenn neue Versionen eines Modells auf den Markt gebracht werden. Für diese Drucker sind in der Regel nur Windows-Treiber verfügbar. Weitere Informationen finden Sie unter Abschnitt 14.8.1, „Drucker ohne Unterstützung für eine Standard-Druckersprache“.
Vor dem Kauf eines neuen Druckers sollten Sie anhand der folgenden Quellen prüfen, wie gut der Drucker, den Sie zu kaufen beabsichtigen, unterstützt wird:
Die OpenPrinting-Homepage mit der Druckerdatenbank. In der Online-Datenbank wird der neueste Linux-Supportstatus angezeigt. Eine Linux-Distribution kann jedoch immer nur die zur Produktionszeit verfügbaren Treiber enthalten. Demnach ist es möglich, dass ein Drucker, der aktuell als „vollständig unterstützt“ eingestuft wird, diesen Status bei der Veröffentlichung der neuesten openSUSE-Version nicht aufgewiesen hat. Die Datenbank gibt daher nicht notwendigerweise den richtigen Status an, sondern nur einen ungefähren.
Die Ghostscript-Website
/usr/share/doc/packages/ghostscript-library/catalog.devices
Liste inbegriffener Treiber.
Der Benutzer erstellt einen Druckauftrag. Der Druckauftrag besteht aus den zu druckenden Daten sowie aus Informationen für den Spooler, z. B. dem Namen des Druckers oder dem Namen der Druckwarteschlange und – optional – den Informationen für den Filter, z. B. druckerspezifische Optionen.
Mindestens eine zugeordnete Druckerwarteschlange ist für jeden Drucker vorhanden. Der Spooler hält den Druckauftrag in der Warteschlange, bis der gewünschte Drucker bereit ist, Daten zu empfangen. Wenn der Drucker druckbereit ist, sendet der Spooler die Daten über den Filter und das Backend an den Drucker.
Der Filter konvertiert die von der druckenden Anwendung generierten Daten (in der Regel PostScript oder PDF, aber auch ASCII, JPEG usw.) in druckerspezifische Daten (PostScript, PCL, ESC/P usw.). Die Funktionen des Druckers sind in den PPD-Dateien beschrieben. Eine PPD-Datei enthält druckspezifische Optionen mit den Parametern, die erforderlich sind, um die Optionen auf dem Drucker zu aktivieren. Das Filtersystem stellt sicher, dass die vom Benutzer ausgewählten Optionen aktiviert werden.
Wenn Sie einen PostScript-Drucker verwenden, konvertiert das Filtersystem die Daten in druckerspezifische PostScript-Daten. Hierzu ist kein Druckertreiber erforderlich. Wenn Sie einen Nicht-PostScript-Drucker verwenden, konvertiert das Filtersystem die Daten in druckerspezifische Daten. Hierzu ist ein für den Drucker geeigneter Druckertreiber erforderlich. Das Back-End empfängt die druckerspezifischen Daten vom Filter und leitet sie an den Drucker weiter.
Es gibt mehrere Möglichkeiten, einen Drucker an das System anzuschließen. Die Konfiguration des CUPS-Drucksystems unterscheidet nicht zwischen einem lokalen Drucker und einem Drucker, der über das Netzwerk an das System angeschlossen ist. Weitere Informationen zum Anschließen von Druckern finden Sie im Beitrag CUPS in aller Kürze in der Support-Datenbank unter http://en.opensuse.org/SDB:CUPS_in_a_Nutshell.
Ändern der Anschlüsse bei einem laufenden System | |
---|---|
Vergessen Sie beim Anschließen des Druckers an den Computer nicht, dass während des Betriebs nur USB-Geräte angeschlossen werden können. Um Ihr System oder Ihren Drucker vor Schaden zu bewahren, fahren Sie das System herunter, wenn Sie Verbindungen ändern müssen, die keine USB-Verbindungen sind. |
PPD (PostScript Printer Description, PostScript-Druckerbeschreibung) ist die Computersprache, die die Eigenschaften, z. B. die Auflösung und Optionen wie die Verfügbarkeit einer Duplexeinheit, beschreibt. Diese Beschreibungen sind für die Verwendung der unterschiedlichen Druckeroptionen in CUPS erforderlich. Ohne eine PPD-Datei würden die Druckdaten in einem „rohen“ Zustand an den Drucker weitergeleitet werden, was in der Regel nicht erwünscht ist. Während der Installation von openSUSE werden viele PPD-Dateien vorinstalliert.
Um einen PostScript-Drucker zu konfigurieren, sollten Sie sich zunächst eine geeignete PPD-Datei beschaffen. Viele PPD-Dateien sind im Paket manufacturer-PPDs
enthalten, das im Rahmen der Standardinstallation automatisch installiert wird. Weitere Informationen hierzu finden Sie unter Abschnitt 14.7.2, „PPD-Dateien in unterschiedlichen Paketen“ und Abschnitt 14.8.2, „Für einen PostScript-Drucker ist keine geeignete PPD-Datei verfügbar“.
Neue PPD-Dateien können im Verzeichnis /usr/share/cups/model/
gespeichert oder dem Drucksystem mit YaST hinzugefügt werden (siehe Abschnitt 14.4.1.1, „Hinzufügen von Treibern mit YaST“). Die PPD-Dateien lassen sich anschließend während der Druckereinrichtung auswählen.
Seien Sie vorsichtig, wenn Sie gleich ein ganzes Software-Paket eines Druckerherstellers installieren sollen. Diese Art der Installation könnte erstens dazu führen, dass Sie die Unterstützung von openSUSE verlieren, und zweitens können Druckkommandos anders funktionieren und das System ist möglicherweise nicht mehr in der Lage, mit Geräten anderer Hersteller zu arbeiten. Aus diesem Grund wird das Installieren von Herstellersoftware nicht empfohlen.
Mit YaST können Sie einen lokalen Drucker konfigurieren, der direkt an Ihren Rechner angeschlossen ist (normalerweise via USB oder parallelen Port), und das Drucken über Netzwerkdrucker einrichten. Es ist auch möglich, Drucker über das Netzwerk freizugeben.
Klicken Sie in YaST auf
+ , um das Druckermodul zu starten. Es wird standardmäßig in der Ansicht geöffnet, die eine Liste aller verfügbaren und konfigurierten Drucker enthält. Diese Ansicht ist besonders dann nützlich, wenn Ihnen im Netzwerk sehr viele Drucker zur Verfügung stehen. Aus dieser Ansicht können Sie auch eine und lokale Drucker konfigurieren.Normalerweise wird ein lokaler USB-Drucker automatisch ausgewählt. Es gibt zwei mögliche Gründe, aus denen ein USB-Drucker nicht automatisch erkannt wird:
Der USB-Drucker ist ausgeschaltet.
Die Kommunikation zwischen Drucker und Computer ist nicht möglich. Prüfen Sie das Kabel und die Anschlüsse, um sicherzustellen, dass der Drucker korrekt angeschlossen ist. Wenn das der Fall ist, liegt das Problem möglicherweise nicht am Drucker, sondern am USB-Anschluss.
Die Konfiguration eines Druckers erfolgt normalerweise in drei Schritten: Geben Sie die Verbindungsart ein, wählen Sie einen Treiber und nennen Sie die Druckwarteschlange für diese Einrichtung.
Für viele Druckermodelle stehen mehrere Treiber zur Verfügung. Beim Konfigurieren des Druckers wird für YaST in der Regel der Drucker voreingestellt, der als empfohlen
markiert ist. Normalerweise ist es nicht erforderlich, den Treiber zu ändern – mit dem empfohlenen
Treiber erzielen Sie in der Regel die besten Ergebnisse. Ist aber beispielsweise ein Farbdrucker nur für den Schwarzweißdruck vorgesehen, empfiehlt sich ein Treiber, der keinen Farbdruck unterstützt. Wenn bei der Grafikausgabe mit einem Postscript-Drucker Durchsatzprobleme auftreten, kann der Wechsel von einem PostScript-Treiber zu einem PCL-Treiber Abhilfe schaffen (vorausgesetzt Ihr Drucker ist PCL-fähig).
Wenn in der Liste kein Treiber für Ihren Drucker aufgeführt ist, versuchen Sie, einen generischen Treiber mit der passenden Standardsprache auszuwählen. Welche Sprache (Kommandosatz, durch den der Drucker gesteuert wird) Ihr Drucker unterstützt, erfahren Sie in der Dokumentation Ihres Druckers. Weitere mögliche Lösungen finden Sie unter Abschnitt 14.4.1.1, „Hinzufügen von Treibern mit YaST“.
Der Ausdruck erfolgt niemals direkt an einem Drucker, sondern immer über eine Druckwarteschlange. Dadurch wird sichergestellt, dass mehrere gleichzeitig gestartete Druckaufträge in eine Warteschlange gestellt und nacheinander ausgeführt werden. Jede Druckwarteschlange ist einem bestimmten Treiber zugewiesen; ein Drucker kann zudem auch über mehrere Warteschlangen verfügen. Sie haben dadurch zum Beispiel die Möglichkeit, für einen Farbdrucker eine zweite Druckwarteschlange für reine Schwarzweißdrucke einzurichten. Weitere Informationen zu Druckwarteschlangen erhalten Sie unter Abschnitt 14.1, „Work-Flow des Drucksystems“.
Prozedur 14.1. Hinzufügen eines neuen lokalen Druckers¶
Starten Sie das YaST-Druckermodul mit
+ .Klicken Sie am Bildschirm
auf .
Wenn Ihr Drucker bereits unter Verbindung angeben
aufgeführt ist, fahren Sie mit dem nächsten Schritt fort. Versuchen Sie es andernfalls mit der Option oder starten Sie den .
Geben Sie im Eingabefeld unter Treiber suchen und zuweisen
den Namen des Anbieters und den Modellnamen ein und klicken Sie auf .
Wählen Sie den als empfohlen markierten Treiber aus, der am besten zu Ihrem Drucker passt. Wenn keine passenden Treiber angezeigt werden,:
Überprüfen Sie den Suchbegriff.
Erweitern Sie die Suche, indem Sie auf
klicken.Fügen Sie einen Treiber hinzu wie unter Abschnitt 14.4.1.1, „Hinzufügen von Treibern mit YaST“ beschrieben.
Geben Sie das Standard-Papierformat
an.
Geben Sie im Feld
einen eindeutigen Namen für die Druckerwarteschlange ein.Für den Drucker sind nun die Standardeinstellungen konfiguriert; er ist damit betriebsbereit. Klicken Sie auf
, um zur Ansicht zurückzukehren. Der neu konfigurierte Drucker wird nun in der Liste der Drucker angezeigt.Wenn beim Hinzufügen eines neuen Druckers im Dialogfeld Abschnitt 14.3, „Installation der Software“.
kein passender Treiber vorhanden ist, ist für Ihr Modell keine PPD (PostScript Printer Description)-Datei vorhanden. Weitere Informationen zu PPD-Dateien finden Sie unterPPD-Dateien erhalten Sie direkt vom Druckerhersteller oder von der Treiber-CD eines PostScript-Druckers. Weitere Informationen finden Sie in Abschnitt 14.8.2, „Für einen PostScript-Drucker ist keine geeignete PPD-Datei verfügbar“. PPD-Dateien können Sie auch unter http://www.linuxfoundation.org/collaborate/workgroups/openprinting/database/databaseintro, der „Druckerdatenbank von OpenPrinting.org“, suchen. Beachten Sie beim Herunterladen von PPD-Dateien von OpenPrinting, dass immer der aktuelle Linux-Support-Status angezeigt wird. Möglicherweise wird er von openSUSE nicht erfüllt.
Prozedur 14.2. Hinzufügen einer PPD-Datei
Starten Sie das YaST-Druckermodul mit
+ .Klicken Sie am Bildschirm
auf .Klicken Sie im Abschnitt Treiber suchen und zuweisen
auf .
Geben Sie im Eingabefeld unter Eine Druckerbeschreibungsdatei zur Verfügung stellen
den vollständigen Pfad für die PPD-Datei ein. Alternativ können Sie die Datei aus einem Dialogfeld auswählen, indem Sie auf klicken.
Klicken Sie auf Neue Druckerkonfiguration hinzufügen
zurückzukehren.
Gehen Sie wie unter Prozedur 14.1, „Hinzufügen eines neuen lokalen Druckers“ beschrieben vor, um diese PPD-Datei direkt zu verwenden. Klicken Sie andernfalls auf .
Bei der Bearbeitung einer vorhandenen Konfiguration für einen lokalen Drucker können Sie nicht nur grundlegende Einstellungen wie die Verbindungsart und den Treiber ändern, sondern auch die Standardeinstellungen für das Papierformat, die Auflösung, die Medienquelle etc. anpassen. Sie können die Kennung für den Drucker ändern, indem Sie die Druckerbeschreibungen ändern.
Prozedur 14.3. Bearbeiten eines lokalen Druckers
Starten Sie das YaST-Druckermodul mit
+ .Wählen Sie im Bildschirm
einen lokalen Drucker aus der Liste aus und klicken Sie auf .Ändern Sie die Verbindungsart oder den Treiber wie unter Prozedur 14.1, „Hinzufügen eines neuen lokalen Druckers“ beschrieben. Dies sollte jedoch nur erforderlich sein, wenn Sie Probleme mit der aktuellen Konfiguration haben.
Legen Sie diesen Drucker als Standarddrucker fest, indem Sie die Option
aktivieren.
Passen Sie die Standardeinstellungen an, indem Sie auf +
(Pluszeichen) klicken. Ändern Sie die Standardeinstellung, indem Sie auf eine Option klicken. Übernehmen Sie die Änderungen mit .
Netzwerkdrucker werden nicht automatisch erkannt. Sie müssen manuell konfiguriert werden. Hierfür verwenden Sie das Druckermodul von YaST. Je nach der Einrichtung Ihres Netzwerkes können Sie auf einen Druckserver (CUPS, LPD, SMB oder IPX) oder direkt auf einen Netzwerkdrucker (vorzugsweise über TCP) drucken. Das Fenster für die Konfiguration des Netzwerkdrucks öffnen Sie über die Option
auf der linken Seite des Druckermoduls von YaST.In einer Linux-Umgebung wird für den Netzwerkdruck in der Regel CUPS verwendet. Bei der einfachsten Konfiguration erfolgt der Ausdruck über einen einzigen CUPS-Server, auf den alle Clients zugreifen können. Zum Drucken über mehr als einen CUPS-Server ist ein aktivierter lokaler CUPS-Daemon erforderlich, der mit den entfernten CUPS-Servern kommuniziert.
Prozedur 14.4. Drucken über einen einzelnen CUPS-Server
Starten Sie das YaST-Druckermodul mit
+ .Starten Sie im linken Bereich den Bildschirm
.Aktivieren Sie
und geben Sie den Namen oder die IP-Adresse des Servers an.Klicken Sie auf
, um sicherzustellen, dass Sie den richtigen Namen bzw. die richtige IP-Adresse angegeben haben.Klicken Sie auf „OK“, um zum Bildschirm
zurückzukehren. Alle Drucker, die über den CUPS-Server verfügbar sind, werden nun aufgelistet.Prozedur 14.5. Drucken über mehrere CUPS-Server
Starten Sie das YaST-Druckermodul mit
+ .Starten Sie im linken Bereich den Bildschirm
.Aktivieren Sie
.
Geben Sie unter Allgemeine Einstellungen
die zu verwendenden Server an. Sie können Verbindungen von allen verfügbaren Netzwerken, vom lokalen Netzwerk oder von bestimmten Hosts akzeptieren. Wenn Sie letztere Option wählen, müssen Sie die Hostnamen oder IP-Adressen angeben.
Wenn Sie aufgefordert werden, einen lokalen CUPS-Server zu starten, bestätigen Sie dies, indem Sie auf
und anschließend auf klicken. Nachdem der Server YaST gestartet hat, kehren Sie zum Bildschirm zurück. Klicken Sie auf , um die inzwischen erkannten Drucker anzuzeigen. Klicken Sie erneut auf diese Schaltfläche, wenn weitere Drucker verfügbar sein sollen.Wenn Ihr Netzwerk Druckdienste über Druckserver anbietet, die keine CUPS-Server sind, starten Sie das YaST-Druckermodul mit
+ und öffnen Sie im linken Bereich den Bildschirm . Starten Sie den und wählen Sie die entsprechende aus. Ihr Netzwerkadministrator stellt Ihnen weitere Informationen zur Konfiguration eines Netzwerkdruckers in Ihrer Umgebung zur Verfügung.Drucker, die von einem lokalen CUPS-Dämon verwaltet werden, können über das Netzwerk freigegeben werden und Ihren Computer auf diese Weise zu einem CUPS-Server machen. In der Regel wird ein Drucker durch Aktivierung des sogenannten „Browsing-Modus“ von CUPS freigegeben. Wenn Browsing aktiviert ist, stehen die lokalen Druckwarteschlangen den entfernten CUPS-Daemonen zur Überwachung im Netzwerk zur Verfügung. Es kann aber auch ein dedizierter CUPS-Server eingerichtet werden, der alle Druckwarteschlangen verwaltet und für die entfernten Clients direkt zugänglich ist. In diesem Fall muss Browsing nicht aktiviert werden.
Prozedur 14.6. Freigeben von Druckern
Starten Sie das YaST-Druckermodul mit
+ .Starten Sie im linken Bereich den Bildschirm
.Wählen Sie
aus.. Für eine detailliertere Konfiguration stehen zusätzliche Optionen zur Verfügung:Aktivieren Sie die Option
und aktivieren Sie den Browsing-Modus, indem Sie außerdem die Option aktivieren.Klicken Sie auf
, um die Netzwerkschnittstelle hinzuzufügen, die der CUPS-Server verwenden soll. Wenn Ihre Drucker über angegebene Netzwerkschnittstellen freigegeben werden sollen, fügen Sie diese im nachfolgenden Eingabefeld hinzu.Um den Zugriff auf Ihren CUPS-Server auf bestimmte Netzwerke oder IP-Adressen zu beschränken, geben Sie diese in den beiden Eingabefeldern an.
Klicken Sie auf
, um den CUPS-Server neu zu starten, und kehren Sie zum Bildschirm zurück.Informationen zu CUPS- und Firewall-Einstellungen finden Sie unter http://en.opensuse.org/SDB:CUPS_and_SANE_Firewall_settings.
Ein Netzwerkdrucker kann unterschiedliche Protokolle unterstützen - einige von diesen sogar gleichzeitig. Die meisten unterstützten Protokolle sind standardisiert, und doch versuchen einige Hersteller, diesen Standard abzuändern. Treiber werden meist nur für einige wenige Betriebsssysteme angeboten. 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 bezeichnet eine Verbindung, über die die einfachen Druckdaten direkt an einen TCP-Socket gesendet werden. Einige der am häufigsten verwendeten Socket-Ports sind 9100
oder 35
. Die Syntax der Geräte-URI (Uniform Resource Identifier) lautet: socket://IP.für.den.Drucker
:port
, zum Beispiel: socket://192.168.2.202:9100/
.
Das LDP-Protokoll wird in RFC 1179 beschrieben. Bei diesem Protokoll werden bestimmte auftragsspezifische Daten (z. B. die ID der Druckerwarteschlange) vor den eigentlichen Druckdaten gesendet. Beim Konfigurieren des LDP-Protokolls muss daher eine Druckerwarteschlange 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. 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 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. 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
.
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 Kommando nmap ermitteln, das Bestandteil des Pakets nmap
ist. nmap überprüft einen Host auf offene Ports. Beispiel:
nmap -p 35,137-139,515,631,9100-10000 printerIP
CUPS kann mit Kommandozeilenwerkzeugen kofiguriert werden, beispielsweise lpinfo, lpadmin oder lpoptions. 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 Druckerwarteschlangen hinzufügen, entfernen und verwalten. Verwenden Sie die folgende Syntax, um eine Druckwarteschlange hinzuzufügen:
lpadmin -pqueue
-vdevice-URI
-PPPD-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(8)
.
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:
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.
Ändern Sie die Option mit lpadmin:
lpadmin -p queue
-o Resolution=600dpi
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.
Um den Druckvorgang über die Kommandozeile zu starten, geben Sie lp -d Name_der_Warteschlange
Dateiname
ein und ersetzen die entsprechenden Namen für Name_der_Warteschlange
und Dateiname
.
Einige Anwendungen erfordern für den Druckvorgang den Befehl lp. Geben Sie in diesem Fall das richtige Kommando im Druckdialogfeld der Anwendung ohne Angabe des Dateinamens
ein, z. B. lp -d Name_der_Warteschlange
.
Für openSUSE wurden mehrere CUPS-Funktionen angepasst. Im Folgenden werden einige der wichtigsten Änderungen beschrieben.
Nach einer Standardinstallation von openSUSE ist SuSEFirewall2 aktiv, und die externen Netzwerkschnittstellen sind in der externen Zone
konfiguriert, die eingehenden Datenverkehr blockiert. Weitere Informationen zur SuSEFirewall2-Konfiguration finden Sie unter Section “SuSEfirewall2” (Chapter 13, Masquerading and Firewalls, ↑Security Guide) und http://en.opensuse.org/SDB:CUPS_and_SANE_Firewall_settings.
Normalerweise wird der CUPS-Client auf einem normalen Arbeitsplatzrechner ausgeführt, die sich in einer verbürgten Netzwerkumgebung hinter einer Firewall befindet. In diesem Fall empfiehlt es sich, die Netzwerkschnittstelle in der internen Zone
zu konfigurieren, damit der Arbeitsplatzrechner innerhalb des Netzwerks erreichbar ist.
Wenn der CUPS-Server Teil der durch eine Firewall geschützten verbürgten Netzwerkumgebung ist, sollte die Netzwerkschnittstelle in der internen Zone
der Firewall konfiguriert sein. Es ist nicht empfehlenswert, einen CUPS-Server in einer nicht verbürgten Netzwerkumgebung einzurichten, es sei denn, Sie sorgen dafür, dass er durch besondere Firewall-Regeln und Sicherheitseinstellungen in der CUPS-Konfiguration geschützt wird.
Die YaST-Druckerkonfiguration richtet die Warteschlangen für CUPS auf dem System mit den in /usr/share/cups/model/
installierten PPD-Dateien ein. Um die geeigneten PPD-Dateien für das Druckermodell zu finden, vergleicht YaST während der Hardware-Erkennung den Hersteller und das Modell mit den Herstellern und Modellen, die in den PPD-Dateien enthalten sind. Zu diesem Zweck generiert die YaST-Druckerkonfiguration eine Datenbank mit den Hersteller- und Modelldaten, die aus den PPD-Dateien extrahiert werden.
Die Konfiguration, die nur PPD-Dateien und keine weiteren Informationsquellen verwendet, hat den Vorteil, dass die PPD-Dateien in /usr/share/cups/model/
beliebig geändert werden können. Wenn Sie beispielsweise nur mit PostScript-Druckern arbeiten, sind die Foomatic-PPD-Dateien im Paket cups-drivers
oder die Gutenprint-PPD-Dateien im Paket gutenprint
in der Regel nicht erforderlich. Stattdessen können die PPD-Dateien für die PostScript-Drucker direkt in /usr/share/cups/model/
kopiert werden (wenn sie nicht bereits im Paket manufacturer-PPDs
vorhanden sind), um eine optimale Konfiguration der Drucker zu erzielen.
cups
¶
Die generischen PPD-Dateien im Paket cups
wurden durch angepasste Foomatic-PPD-Dateien für PostScript-Drucker der Level 1 und Level 2 ergänzt:
/usr/share/cups/model/Postscript-level1.ppd.gz
/usr/share/cups/model/Postscript-level2.ppd.gz
cups-drivers
¶
Der Foomatic-Druckerfilter foomatic-rip
wird in der Regel zusammen mit Ghostscript für Nicht-PostScript-Drucker verwendet. Geeignete Foomatic PPD-Dateien haben die Einträge *NickName: ... Foomatic/Ghostscript driver
und *cupsFilter: ... foomatic-rip
. Diese PPD-Dateien befinden sich im Paket cups-drivers
.
YaST bevorzugt in der Regel eine Hersteller-PPD
-Datei. Wenn jedoch keine passende Hersteller-PPD
-Datei existiert, wird eine Foomatic-PPD-Datei mit dem Eintrag *Spitzname: ... Foomatic ... (empfohlen)
ausgewählt.
gutenprint
-Paket¶
Für viele Nicht-PostScript-Drucker kann anstelle von foomatic-rip
der CUPS-Filter rastertogutenprint
von Gutenprint (früher GIMP-Print) verwendet werden. Dieser Filter und die entsprechenden Gutenprint-PPD-Dateien befinden sich im Paket gutenprint
. Die Gutenprint-PPD-Dateien befinden sich in /usr/share/cups/model/gutenprint/
und haben die Einträge *Spitzname: ... CUPS+Gutenprint
und *cupsFilter: ... rastertogutenprint
.
manufacturer-PPDs
¶
Das Paket manufacturer-PPDs
enthält PPD-Dateien von Druckerherstellern, die unter einer ausreichend freien Lizenz veröffentlicht werden. PostScript-Drucker sollten mit der entsprechenden PPD-Datei des Druckerherstellers konfiguriert werden, da diese Datei die Verwendung aller Funktionen des PostScript-Druckers ermöglicht. YaST bevorzugt eine PPD-Datei aus den Hersteller-PPDs
, doch YaST kann keine PPD-Datei aus dem Paket der Hersteller-PPDs
verwenden, wenn der Modellname nicht übereinstimmt. Dies kann geschehen, wenn das Paket der Hersteller-PPDs
nur eine PPD-Datei für ähnliche Modelle enthält, z. B. Funprinter 12xx-Serie. Wählen Sie in diesem Fall die enstprechende PPD-Datei manuell in YaST aus.
In den folgenden Abschnitten werden einige der am häufigsten auftretenden Probleme mit der Druckerhardware und -software sowie deren Lösungen oder Umgehung beschrieben. Unter anderem werden die Themen GDI-Drucker, PPD-Dateien und Port-Konfiguration behandelt. Darüber hinaus werden gängige Probleme mit Netzwerkdruckern, fehlerhafte Ausdrucke und die Bearbeitung der Warteschlange erläutert.
Diese Drucker unterstützen keine der geläufigen Druckersprachen und können nur mit proprietären Steuersequenzen adressiert werden. Daher funktionieren sie nur mit den Betriebssystemversionen, für die der Hersteller einen Treiber zur Verfügung stellt. GDI ist eine von Microsoft für Grafikgeräte entwickelte Programmierschnittstelle. In der Regel liefert der Hersteller nur Treiber für Windows, und da Windows-Treiber die GDI-Schnittstelle verwenden, werden diese Drucker auch GDI-Drucker genannt. Das eigentliche Problem ist nicht die Programmierschnittstelle, sondern die Tatsache, dass diese Drucker nur mit der proprietären Druckersprache des jeweiligen Druckermodells adressiert werden können.
Der Betrieb einiger GDI-Drucker kann sowohl im GDI-Modus als auch in einer der Standard-Druckersprachen ausgeführt werden. Sehen Sie im Druckerhandbuch nach, ob dies möglich ist. Einige Modelle benötigen für diese Umstellung eine spezielle Windows-Software. (Beachten Sie, dass der Windows-Druckertreiber den Drucker immer zurück in den GDI-Modus schalten kann, wenn von Windows aus gedruckt wird). Für andere GDI-Drucker sind Erweiterungsmodule für eine Standarddruckersprache erhältlich.
Einige Hersteller stellen für ihre Drucker proprietäre Treiber zur Verfügung. Der Nachteil proprietärer Druckertreiber ist, dass es keine Garantie gibt, dass diese mit dem installierten Drucksystem funktionieren oder für die unterschiedlichen Hardwareplattformen geeignet sind. Im Gegensatz dazu sind Drucker, die eine Standard-Druckersprache unterstützen, nicht abhängig von einer speziellen Drucksystemversion oder einer bestimmten Hardwareplattform.
Anstatt viel Zeit darauf aufzuwenden, einen herstellerspezifischen Linux-Treiber in Gang zu bringen, ist es unter Umständen kostengünstiger, einen Drucker zu erwerben, der eine Standarddruckersprache unterstützt (vorzugsweise PostScript). Dadurch wäre das Treiberproblem ein für alle Mal aus der Welt geschafft und es wäre nicht mehr erforderlich, spezielle Treibersoftware zu installieren und zu konfigurieren oder Treiber-Updates zu beschaffen, die aufgrund neuer Entwicklungen im Drucksystem benötigt würden.
Wenn das Paket manufacturer-PPDs
für einen PostScript-Drucker keine geeignete PPD-Datei enthält, sollte es möglich sein, die PPD-Datei von der Treiber-CD des Druckerherstellers zu verwenden, oder eine geeignete PPD-Datei von der Webseite des Druckerherstellers herunterzuladen.
Die PPD-Datei wir als Zip-Archiv (.zip) oder als selbstextrahierendes Zip-Archiv (.exe
) zur Verfügung gestellt. Entpacken Sie das Zip-Archiv mit unzip. Lesen Sie zunächst die Lizenzvereinbarung für die PPD-Datei. Prüfen Sie dann mit dem Dienstprogramm cupstestppd, ob die PPD-Datei den Spezifikationen „Adobe PostScript Printer Description File Format Specification, Version 4.3.“ entspricht. Wenn das Dienstprogramm „FAIL“ zurückgibt, sind die Fehler in den PPD-Dateien schwerwiegend und werden sehr wahrscheinlich größere Probleme verursachen. Die von cupstestppd protokollierten Problempunkte müssen behoben werden. Fordern Sie beim Druckerhersteller ggf. eine geeignete PPD-Datei an.
Schließen Sie den Drucker direkt an den Computer an. Konfigurieren Sie den Drucker zu Testzwecken als lokalen Drucker. Wenn dies funktioniert, werden die Probleme netzwerkseitig verursacht.
Das TCP/IP-Netzwerk und die Namensauflösung müssen funktionieren.
Geben Sie den folgenden Befehl ein, um zu testen, ob zu lpd (Port 515
) auf host
eine TCP-Verbindung hergestellt werden kann:
netcat -z host
515 && echo ok || echo failed
Wenn die Verbindung zu lpd nicht hergestellt werden kann, ist lpd entweder nicht aktiv oder es liegen grundlegende Netzwerkprobleme vor.
Geben Sie als root
den folgenden Befehl ein, um einen (möglicherweise sehr langen) Statusbericht für queue
auf dem entfernten host
abzufragen, vorausgesetzt, der entsprechende lpd ist aktiv und der Host akzeptiert Abfragen:
echo -e "\004queue" | netcat -w 2 -p 722 host
515
Wenn lpd nicht antwortet, ist er entweder nicht aktiv oder es liegen grundlegende Netzwerkprobleme vor. Wenn lpd reagiert, sollte die Antwort zeigen, warum das Drucken in der queue
auf host
nicht möglich ist. Wenn Sie eine Antwort erhalten wie in Beispiel 14.1, „Fehlermeldung von lpd“ gezeigt, wird das Problem durch den entfernten lpd verursacht.
Beispiel 14.1. Fehlermeldung von lpd¶
lpd: your host does not have line printer access lpd: queue does not exist printer: spooling disabled printer: printing disabled
Ein CUPS-Netzwerkserver kann die Warteschlangen standardmäßig alle 30 Sekunden per Broadcast über den UDP-Port 631
senden. Demzufolge kann mit dem folgenden Kommando getestet werden, ob im Netzwerk ein CUPS-Netzwerkserver mit aktivem Broadcast vorhanden ist. Stoppen Sie unbedingt Ihren lokalen CUPS-Dämon, bevor Sie das Kommando ausführen.
netcat -u -l -p 631 & PID=$! ; sleep 40 ; kill $PID
Wenn ein CUPS-Netzwerkserver vorhanden ist, der Informationen über Broadcasting sendet, erscheint die Ausgabe wie in Beispiel 14.2, „Broadcast vom CUPS-Netzwerkserver“ dargestellt.
Mit dem folgenden Befehl können Sie testen, ob mit cupsd (Port 631
) auf host
eine TCP-Verbindung hergestellt werden kann:
netcat -z host
631 && echo ok || echo failed
Wenn die Verbindung zu cupsd nicht hergestellt werden kann, ist cupsd entweder nicht aktiv oder es liegen grundlegende Netzwerkprobleme vor. lpstat -h host
-l -t gibt einen (möglicherweise sehr langen) Statusbericht für alle Warteschlangen auf host
zurück, vorausgesetzt, dass der entsprechende cupsd aktiv ist und der Host Abfragen akzeptiert.
Mit dem nächsten Befehl können Sie testen, ob die Warteschlange
auf Host
einen Druckauftrag akzeptiert, der aus einem einzigen CR-Zeichen (Carriage-Return) besteht. In diesem Fall sollte nichts gedruckt werden. Möglicherweise wird eine leere Seite ausgegeben.
echo -en "\r" | lp -d queue -h host
Spooler, die in einer Print Server Box ausgeführt werden, verursachen gelegentlich Probleme, wenn sie mehrere Druckaufträge bearbeiten müssen. Da dies durch den Spooler in der Print Server Box verursacht wird, gibt es keine Möglichkeit, dieses Problem zu beheben. Sie haben jedoch die Möglichkeit, den Spooler in der Print Server Box zu umgehen, indem Sie den an die Print Server Box angeschlossenen Drucker über den TCP-Socket direkt kontaktieren. Weitere Informationen hierzu finden Sie unter Abschnitt 14.5, „Netzwerkdrucker“.
Auf diese Weise wird die Print Server-Box auf einen Konvertierer zwischen den unterschiedlichen Formen der Datenübertragung (TCP/IP-Netzwerk und lokale Druckerverbindung) reduziert. Um diese Methode verwenden zu können, müssen Sie den TCP-Port der Print Server Box kennen. Wenn der Drucker eingeschaltet und an die Print Server Box angeschlossen ist, kann dieser TCP-Port in der Regel mit dem Dienstprogramm nmap aus dem Paket nmap
ermittelt werden, wenn die Print Server Box einige Zeit eingeschaltet ist. Beispiel: nmap IP-Adresse
gibt die folgende Ausgabe für eine Print Server Box zurück:
Port State Service 23/tcp open telnet 80/tcp open http 515/tcp open printer 9100/tcp open jetdirect
Diese Ausgabe gibt an, dass der an die Print Server-Box angeschlossene Drucker über TCP-Socket an Port 9100
angesprochen werden kann. nmap prüft standardmäßig nur eine bestimmte Anzahl der allgemein bekannten Ports, die in /usr/share/nmap/nmap-services
aufgeführt sind. Um alle möglichen Ports zu überprüfen, verwenden Sie das Kommando nmap -p Ausgangs-Port
-Ziel-Port
IP-Adresse
. Dies kann einige Zeit dauern. Weitere Informationen finden Sie auf der man-Seite zu ypbind.
Geben Sie einen Befehl ein wie
echo -en "\rHello\r\f" | netcat -w 1 IP-address port cat file | netcat -w 1 IP-address port
um Zeichenketten oder Dateien direkt an den entsprechenden Port zu senden, um zu testen, ob der Drucker auf diesem Port angesprochen werden kann.
Für das Drucksystem ist der Druckauftrag abgeschlossen, wenn das CUPS-Back-End die Datenübertragung an den Empfänger (Drucker) abgeschlossen hat. Wenn die weitere Verarbeitung auf dem Empfänger nicht erfolgt (z. B. wenn der Drucker die druckerspezifischen Daten nicht drucken kann), wird dies vom Drucksystem nicht erkannt. Wenn der Drucker die druckerspezifischen Daten nicht drucken kann, wählen Sie eine PPD-Datei, die für den Drucker besser geeignet ist.
Wenn die Datenübertragung zum Empfänger auch nach mehreren Versuchen nicht erfolgreich ist, meldet das CUPS-Back-End, z. B. USB
oder socket
, dem Drucksystem (an cupsd) einen Fehler. Das Backend bestimmt, wie viele erfolglose Versuche angemessen sind, bis die Datenübertragung als unmöglich gemeldet wird. Da weitere Versuche vergeblich wären, deaktiviert cupsd das Drucken für die entsprechende Warteschlange. Nachdem der Systemadministrator das Problem behoben hat, muss er das Drucken mit dem Kommando cupsenable wieder aktivieren.
Wenn ein CUPS-Netzwerkserver seine Warteschlangen den Client-Hosts via Browsing bekannt macht und auf den Host-Clients ein geeigneter lokaler cupsd aktiv ist, akzeptiert der Client-cupsd Druckaufträge von Anwendungen und leitet sie an den cupsd auf dem Server weiter. Wenn cupsd auf dem Server einen Druckauftrag akzeptiert, wird diesem eine neue Auftragsnummer zugewiesen. Daher unterscheidet sich die Auftragsnummer auf dem Client-Host von der auf dem Server. Da ein Druckauftrag in der Regel sofort weitergeleitet wird, kann er mit der Auftragsnummer auf dem Client-Host nicht gelöscht werden. Dies liegt daran, dass der Client-cupsd den Druckauftrag als abgeschlossen betrachtet, sobald dieser an den Server-cupsd weitergeleitet wurde.
Wenn der Druckauftrag auf dem Server gelöscht werden soll, geben Sie ein Kommando wie lpstat -h cups.example.com -o ein. Sie ermitteln damit die Auftragsnummer auf dem Server, wenn der Server den Druckauftrag nicht bereits abgeschlossen (d. h. an den Drucker gesendet) hat. Mithilfe dieser Auftragsnummer kann der Druckauftrag auf dem Server gelöscht werden:
cancel -h cups.example.com queue-jobnumber
Wenn Sie während des Druckvorgangs den Drucker oder den Computer abschalten, bleiben Druckaufträge in der Warteschlange. Der Druckvorgang wird wieder aufgenommen, sobald der Computer (bzw. der Drucker) wieder eingeschaltet wird. Fehlerhafte Druckaufträge müssen mit cancel aus der Warteschlange entfernt werden.
Wenn ein Druckauftrag fehlerhaft ist oder während der Kommunikation zwischen dem Host und dem Drucker ein Fehler auftritt, druckt der Drucker mehrere Seiten Papier mit unleserlichen Zeichen, da er die Daten nicht ordnungsgemäß verarbeiten kann. Führen Sie die folgenden Schritte aus, um dieses Problem zu beheben:
Entfernen Sie das Papier aus dem Drucker oder öffnen Sie die Papierfächer, um den Druck abzubrechen. Qualitativ hochwertige Drucker sind mit einer Taste zum Abbrechen des aktuellen Druckauftrags ausgestattet.
Der Druckauftrag befindet sich möglicherweise noch in der Warteschlange, da die Aufträge erst dann entfernt werden, wenn sie vollständig an den Drucker übertragen wurden. Geben Sie lpstat -o oder lpstat -h cups.example.com -o ein, um zu prüfen, über welche Warteschlange aktuell gedruckt wird. Löschen Sie den Druckauftrag mit cancel Warteschlange
-Auftragsnummer
oder mit cancel -h cups.example.com Warteschlange
-Auftragsnummer
.
Auch wenn der Druckauftrag aus der Warteschlange gelöscht wurde, werden einige Daten weiter an den Drucker gesendet. Prüfen Sie, ob ein CUPS-Backend-Prozess für die entsprechende Warteschlange ausgeführt wird und wenn ja, beenden Sie ihn. Für einen an den Parallelanschluss angeschlossenen Drucker geben Sie beispielsweise den Befehl fuser -k /dev/lp0 ein, um alle Prozesse zu beenden, die aktuell noch auf den Drucker (den parallelen Port) zugreifen.
Setzen Sie den Drucker vollständig zurück, indem Sie ihn für einige Zeit ausschalten. Legen Sie anschließend Papier ein und schalten Sie den Drucker wieder ein.
Suchen Sie Probleme im CUPS-Drucksystem mithilfe des folgenden generischen Verfahrens:
Setzen Sie LogLevel debug in /etc/cups/cupsd.conf
.
Stoppen Sie cupsd.
Entfernen Sie /var/log/cups/error_log*
, um das Durchsuchen sehr großer Protokolldateien zu vermeiden.
Starten Sie cupsd.
Wiederholen Sie die Aktion, die zu dem Problem geführt hat.
Lesen Sie die Meldungen in /var/log/cups/error_log*
, um die Ursache des Problems zu identifizieren.
Lösungen zu vielen spezifischen Problemen sind in der SUSE-Support-Datenbank enthalten (http://en.opensuse.org/Portal:Support_database). Die gesuchten Themen finden Sie am schnellsten mit einer Textsuche nach SDB:CUPS
.