Drucker: Unterschied zwischen den Versionen

Aus wiki.archlinux.de
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: == Drucker einrichten mit CUPS == === Was ist CUPS? === Direkt von der CUPS-Internetseite: "Das Common Unix Printing System (CUPS) ist eine Plattform-übergreifende D...)
 
K (syntax)
Zeile 1: Zeile 1:
== Drucker einrichten mit CUPS ==
 
 
 
=== Was ist CUPS? ===
 
=== Was ist CUPS? ===
  
Zeile 9: Zeile 7:
 
Um den Druck zum Laufen zu bringen, sollte man am besten den LogLevel in "/etc/cups/cupsd.conf" so einstellen:
 
Um den Druck zum Laufen zu bringen, sollte man am besten den LogLevel in "/etc/cups/cupsd.conf" so einstellen:
  
LogLevel debug2
+
  LogLevel debug2
  
 
Dann kann man die Ausgabe von "/var/log/cups/error_log" mit diesem Befehl betrachten:
 
Dann kann man die Ausgabe von "/var/log/cups/error_log" mit diesem Befehl betrachten:
  
tail -n 100 -f /var/log/cups/error_log  
+
  tail -n 100 -f /var/log/cups/error_log  
  
 
Die Buchstaben auf der linken Seite der Ausgabe stehen für:
 
Die Buchstaben auf der linken Seite der Ausgabe stehen für:
Zeile 20: Zeile 18:
 
E = Error (Fehler)
 
E = Error (Fehler)
 
I = Information
 
I = Information
 +
 
usw.
 
usw.
  
 
Die folgenden Dateien können sich ebenfalls als hilfreich erweisen:
 
Die folgenden Dateien können sich ebenfalls als hilfreich erweisen:
  
/var/log/cups/page_log (spuckt jedesmal einen neuen Eintrag aus, wenn ein Druckvorgang erfolgreich war)
+
  /var/log/cups/page_log (spuckt jedesmal einen neuen Eintrag aus, wenn ein Druckvorgang erfolgreich war)
/var/log/cups/access_log (erstellt eine Liste aller cupsd http1.1. Server-Aktivitäten)
+
  /var/log/cups/access_log (erstellt eine Liste aller cupsd http1.1. Server-Aktivitäten)
  
 
Natürlich ist es wichtig zu wissen, wie CUPS funktioniert, wenn Du deine Probleme lösen willst. Das läuft etwa so:
 
Natürlich ist es wichtig zu wissen, wie CUPS funktioniert, wenn Du deine Probleme lösen willst. Das läuft etwa so:
Zeile 39: Zeile 38:
 
Du wirst auf jeden Fall CUPS und GhostScript benötigen:
 
Du wirst auf jeden Fall CUPS und GhostScript benötigen:
  
pacman -S cups ghostscript
+
  pacman -S cups ghostscript
  
 
cups ist die eigentliche CUPS software.
 
cups ist die eigentliche CUPS software.
Zeile 46: Zeile 45:
 
Außerdem benötigst Du eines der folgenden Treiber-Pakete - hängt davon ab, welchen Drucker Du besitzt. Im Zweifelsfall installiere gutenprint:
 
Außerdem benötigst Du eines der folgenden Treiber-Pakete - hängt davon ab, welchen Drucker Du besitzt. Im Zweifelsfall installiere gutenprint:
  
gutenprint - Eine Sammlung hochwertiger Treiber für Canon, Epson, Lexmark, Sony, Olympus und PCL Drucker, die mit Ghostscript, CUPS, Foomatic und GIMP verwendet werden kann.
+
"gutenprint" - Eine Sammlung hochwertiger Treiber für Canon, Epson, Lexmark, Sony, Olympus und PCL Drucker, die mit Ghostscript, CUPS, Foomatic und GIMP verwendet werden kann.
 
 
foomatic, foomatic-db, foomatic-db-engine, foomatic-db-ppd und foomatic-filters - Foomatic ist ein Datenbank-basiertes System, um freie Drucker-Treiber mit gewöhnlichen Spoolern unter Unix zu integrieren.
 
  
 +
"foomatic", "foomatic-db", "foomatic-db-engine", "foomatic-db-ppd" und "foomatic-filters" - Foomatic ist ein Datenbank-basiertes System, um freie Drucker-Treiber mit gewöhnlichen Spoolern unter Unix zu integrieren.
 
foomatic-filters zu installieren, sollte Deine Probleme lösen, wenn das CUPS error.log berichtet: "stopped with status 22!".
 
foomatic-filters zu installieren, sollte Deine Probleme lösen, wenn das CUPS error.log berichtet: "stopped with status 22!".
  
hplip - HP Linux Inkjet Treiber. Unterstützt DeskJet, OfficeJet, Photosmart, Business Inkjet und einige LaserJet Modelle.
+
"hplip" - HP Linux Inkjet Treiber. Unterstützt DeskJet, OfficeJet, Photosmart, Business Inkjet und einige LaserJet Modelle.
  
cups-pdf - Ein nettes Paket, das es erlaubt, einen virtuellen PDF-Drucker einzurichten, der alles, was an ihn geschickt wird, in eine PDF-Datei verwandelt.
+
"cups-pdf" - Ein nettes Paket, das es erlaubt, einen virtuellen PDF-Drucker einzurichten, der alles, was an ihn geschickt wird, in eine PDF-Datei verwandelt.
  
 
Wenn Dein System mit einem Netzwerk-Drucker verbunden ist, der das Samba-Protokoll verwendet, oder als Drucker-Server für Windows-Klienten dienen soll:
 
Wenn Dein System mit einem Netzwerk-Drucker verbunden ist, der das Samba-Protokoll verwendet, oder als Drucker-Server für Windows-Klienten dienen soll:
  
pacman -S samba
+
  pacman -S samba
  
 
=== Die Drucker-PPD herunterladen ===
 
=== Die Drucker-PPD herunterladen ===
Zeile 68: Zeile 66:
 
Um die PPD-Datei für deinen Drucker zu bekommen, gehe zu http://www.linuxprinting.org/printer_list.cgi und wähle dort den Hersteller und das Modell deines Druckers aus. Dann mußt Du diese Datei in den CUPS-Ordner kopieren, so daß die Datei erkannt werden kann, Wenn Du dich in dem Ordner befindest, in den Du die Datei heruntergeladen hast, kannst Du das folgende Kommando verwenden:
 
Um die PPD-Datei für deinen Drucker zu bekommen, gehe zu http://www.linuxprinting.org/printer_list.cgi und wähle dort den Hersteller und das Modell deines Druckers aus. Dann mußt Du diese Datei in den CUPS-Ordner kopieren, so daß die Datei erkannt werden kann, Wenn Du dich in dem Ordner befindest, in den Du die Datei heruntergeladen hast, kannst Du das folgende Kommando verwenden:
  
cp your_printer.ppd /usr/share/cups/model/
+
  cp your_printer.ppd /usr/share/cups/model/
  
 
Wenn Du dein Druckermodell auf der Seite nicht finden kannst, kannst Du es mit ähnlichen Modellen versuchen, oder generische Treiber verwenden. Suche über Google oder frage deinen Hersteller (viel Glück damit ...)
 
Wenn Du dein Druckermodell auf der Seite nicht finden kannst, kannst Du es mit ähnlichen Modellen versuchen, oder generische Treiber verwenden. Suche über Google oder frage deinen Hersteller (viel Glück damit ...)
Zeile 80: Zeile 78:
 
Bitte beachte: Wenn Du Verbindung zu einem Netzwerk-Drucker suchst, statt zu einem, der direkt mit deinem Computer verbunden ist, möchtest Du vielleicht zuerst den Abschnitt über gemeinsam genutzte Drucker lesen. Einen Drucker unter zwei verschiedenen Linux-System anzusteuern, ist ziemlich einfach und erfordert nur sehr wenig Konfigurationsarbeit. Der Austausch von Windows zu Linux und umgekehrt erfordert etwas mehr Aufwand, ist aber immer noch recht einfach.
 
Bitte beachte: Wenn Du Verbindung zu einem Netzwerk-Drucker suchst, statt zu einem, der direkt mit deinem Computer verbunden ist, möchtest Du vielleicht zuerst den Abschnitt über gemeinsam genutzte Drucker lesen. Einen Drucker unter zwei verschiedenen Linux-System anzusteuern, ist ziemlich einfach und erfordert nur sehr wenig Konfigurationsarbeit. Der Austausch von Windows zu Linux und umgekehrt erfordert etwas mehr Aufwand, ist aber immer noch recht einfach.
  
=== Kernel Module ====
+
=== Kernel Module ===
  
 
Bevor wir wir die CUPS_Internet-Schnittstelle nutzen können, müssen wir die erforderlichen Kernel-Module installieren. Die folgenden Schritte habe ich der Gentoo-Drucker-Anleitung entnommen.
 
Bevor wir wir die CUPS_Internet-Schnittstelle nutzen können, müssen wir die erforderlichen Kernel-Module installieren. Die folgenden Schritte habe ich der Gentoo-Drucker-Anleitung entnommen.
  
USB-Drucker
+
==== USB-Drucker ====
  
 
Wenn Du einen USB-Drucker zusammen mit einem 2.6.x-Kernel nutzen willst, verwende den folgenden Befehl:
 
Wenn Du einen USB-Drucker zusammen mit einem 2.6.x-Kernel nutzen willst, verwende den folgenden Befehl:
# modprobe usblp
+
  # modprobe usblp
  
 
Wenn Du einen USB-Drucker und einen 2.4.x-Kernel verwendest, verwende den folgenden Befehl:
 
Wenn Du einen USB-Drucker und einen 2.4.x-Kernel verwendest, verwende den folgenden Befehl:
# modprobe printer
+
  # modprobe printer
  
 
Beachte, daß wir hier davon ausgehen, daß Du einen Standard-Kernel von ArchLinux verwendest. Wenn Du deinen Kernel selbst gebacken hast, mußt Du dies zuerst ausführen:  
 
Beachte, daß wir hier davon ausgehen, daß Du einen Standard-Kernel von ArchLinux verwendest. Wenn Du deinen Kernel selbst gebacken hast, mußt Du dies zuerst ausführen:  
# modprobe usbcore
+
  # modprobe usbcore
  
 
Wenn Du die Module installiert hast, soltest Du deinen Drucker anschließen und überprüfen, ob der Kernel ihn erkannt hat, in dem Du den folgenden Befehl ausführst:
 
Wenn Du die Module installiert hast, soltest Du deinen Drucker anschließen und überprüfen, ob der Kernel ihn erkannt hat, in dem Du den folgenden Befehl ausführst:
# tail /var/log/messages
+
  # tail /var/log/messages
  
 
Dann solltest Du etwas sehen, das ungefähr so aussieht:  
 
Dann solltest Du etwas sehen, das ungefähr so aussieht:  
Feb 19 20:17:11 kernel: printer.c: usblp0: USB Bidirectional
+
  Feb 19 20:17:11 kernel: printer.c: usblp0: USB Bidirectional
printer dev 2 if 0 alt 0 proto 2 vid 0x04E8 pid 0x300E
+
  printer dev 2 if 0 alt 0 proto 2 vid 0x04E8 pid 0x300E
Feb 19 20:17:11 kernel: usb.c: usblp driver claimed interface cfef3920
+
  Feb 19 20:17:11 kernel: usb.c: usblp driver claimed interface cfef3920
Feb 19 20:17:11 kernel: printer.c: v0.13: USB Printer Device Class driver  
+
  Feb 19 20:17:11 kernel: printer.c: v0.13: USB Printer Device Class driver  
  
Parallel-anschlossene Drucker
+
==== Parallel-anschlossene Drucker ====
  
 
Wenn Du einen parallel angeschlossenen Drucker nutzen willst, ist die Einrichtung fast genau die gleiche. Benutzer des Kernels 2.6.x müssen als erstes folgendes eintippen:
 
Wenn Du einen parallel angeschlossenen Drucker nutzen willst, ist die Einrichtung fast genau die gleiche. Benutzer des Kernels 2.6.x müssen als erstes folgendes eintippen:
# modprobe lp
+
  # modprobe lp
  
 
Danach können sowohl die Nutzer von 2.4 als auch die von 2.6. eingeben:
 
Danach können sowohl die Nutzer von 2.4 als auch die von 2.6. eingeben:
# modprobe parport
+
  # modprobe parport
# modprobe parport_pc
+
  # modprobe parport_pc
  
 
Du kannst deine Einstellungen noch einmal mit folgendem Befehl überprüfen:  
 
Du kannst deine Einstellungen noch einmal mit folgendem Befehl überprüfen:  
# tail /var/log/messages
+
  # tail /var/log/messages
  
 
Dann wirst Du in etwa Folgendes sehen:  
 
Dann wirst Du in etwa Folgendes sehen:  
# lp0: using parport0 (polling).
+
  # lp0: using parport0 (polling).
  
 
=== Automatisches Laden ===
 
=== Automatisches Laden ===
Zeile 128: Zeile 126:
 
Wenn die Kernel-Module installiert sind, kannst Du nun auch den eigentlichen Cups-Daemon starten. Dazu führst du folgendes Kommando aus:
 
Wenn die Kernel-Module installiert sind, kannst Du nun auch den eigentlichen Cups-Daemon starten. Dazu führst du folgendes Kommando aus:
  
# /etc/rc.d/cups start
+
  # /etc/rc.d/cups start
  
 
Wenn Du CUPS bei jedem Neustart deines Computers automatisch laden willst (wahrscheinlich willst Du das), so musst Du es Deiner DEAMONS=() Zeile in der Datei /etc/rc.conf hinzufügen. Zum Beispiel:
 
Wenn Du CUPS bei jedem Neustart deines Computers automatisch laden willst (wahrscheinlich willst Du das), so musst Du es Deiner DEAMONS=() Zeile in der Datei /etc/rc.conf hinzufügen. Zum Beispiel:
  
DAEMONS=(pcmcia syslogd klogd !fam esd mono network autofs cups crond gdm)
+
  DAEMONS=(pcmcia syslogd klogd !fam esd mono network autofs cups crond gdm)

Version vom 13. Februar 2007, 18:29 Uhr

Was ist CUPS?

Direkt von der CUPS-Internetseite: "Das Common Unix Printing System (CUPS) ist eine Plattform-übergreifende Drucker-Lösung für alle UNIX-Umgebungen. Es basiert auf dem "Internet Printing Protocol" und stellt komplette Drucker-Dienste für die meisten Postscript- und Raster-Drucker bereit. CUPS steht unter der GNU GPL ...". Obwohl es auch andere Drucker-Pakete wie LPRNG gibt, ist CUPS sehr beliebt und relativ einfach zu nutzen. Es ist das Standard-Drucksystem von ArchLinux und vieler anderer Linux-Distributionen.

Problemlösung bei CUPS und die CUPS-Komponenten

Um den Druck zum Laufen zu bringen, sollte man am besten den LogLevel in "/etc/cups/cupsd.conf" so einstellen:

 LogLevel debug2

Dann kann man die Ausgabe von "/var/log/cups/error_log" mit diesem Befehl betrachten:

 tail -n 100 -f /var/log/cups/error_log 

Die Buchstaben auf der linken Seite der Ausgabe stehen für:

D = Debug E = Error (Fehler) I = Information

usw.

Die folgenden Dateien können sich ebenfalls als hilfreich erweisen:

 /var/log/cups/page_log (spuckt jedesmal einen neuen Eintrag aus, wenn ein Druckvorgang erfolgreich war)
 /var/log/cups/access_log (erstellt eine Liste aller cupsd http1.1. Server-Aktivitäten)

Natürlich ist es wichtig zu wissen, wie CUPS funktioniert, wenn Du deine Probleme lösen willst. Das läuft etwa so: 1. Eine Anwendung schickt eine .ps-Datei (also Postscript - eine Skriptspreche, die festlegt, wie die Seite aussehen wird) an CUPS, wenn Du "Drucken" wählst (99 % aller Anwendungen machen dies). 2. CUPS schaut dann in die PPD-Datei deines Druckers, und reimt sich zusammen, welche Filter benötigt werden, um die .ps-Datei in eine Sprache zu übersetzen, die der Drucker versteht (etwa PJL oder PCL). Normalerweise benötigt es GhostScript. 3. GhostScript übernimmt die Eingabe, und überlegt, welche Filter es verwenden soll, wendet diese dann an und konvertiert die .ps-Datei in ein Format, das vom Drucker verstanden wird. 4. Dieses wird dann an eine Schnittstelle übersandt. Wenn etwa Dein Drucker über USB angeschlossen ist, wird die USB-Schnittstelle genutzt.

Drucke ein Dokument und betrachte "error_log", um ein genaueres Bild vom Druckvorgang zu bekommen.

CUPS installieren

Du wirst auf jeden Fall CUPS und GhostScript benötigen:

 pacman -S cups ghostscript

cups ist die eigentliche CUPS software. ghostscript ist ein Übersetzungprogramm für die Postscript-Sprache.

Außerdem benötigst Du eines der folgenden Treiber-Pakete - hängt davon ab, welchen Drucker Du besitzt. Im Zweifelsfall installiere gutenprint:

"gutenprint" - Eine Sammlung hochwertiger Treiber für Canon, Epson, Lexmark, Sony, Olympus und PCL Drucker, die mit Ghostscript, CUPS, Foomatic und GIMP verwendet werden kann.

"foomatic", "foomatic-db", "foomatic-db-engine", "foomatic-db-ppd" und "foomatic-filters" - Foomatic ist ein Datenbank-basiertes System, um freie Drucker-Treiber mit gewöhnlichen Spoolern unter Unix zu integrieren. foomatic-filters zu installieren, sollte Deine Probleme lösen, wenn das CUPS error.log berichtet: "stopped with status 22!".

"hplip" - HP Linux Inkjet Treiber. Unterstützt DeskJet, OfficeJet, Photosmart, Business Inkjet und einige LaserJet Modelle.

"cups-pdf" - Ein nettes Paket, das es erlaubt, einen virtuellen PDF-Drucker einzurichten, der alles, was an ihn geschickt wird, in eine PDF-Datei verwandelt.

Wenn Dein System mit einem Netzwerk-Drucker verbunden ist, der das Samba-Protokoll verwendet, oder als Drucker-Server für Windows-Klienten dienen soll:

 pacman -S samba

Die Drucker-PPD herunterladen

Abhängig von Deinem Drucker, ist dieser Schritt vielleicht überflüssig und kann übersprungen werden, da die Basis-installation von CUPS bereits eine ganze Reihe von PPD(= Postscript Printer Description)-Dateien mit sich bringt. Darüber hinaus enthalten foomatic-filters, gutenprint und hplip weitere PPD-Dateien, die automatisch von CUPS erkannt werden.

Was ist eine PPD-Datei? Hier ist ein Erklärung von der Linux-Printing Internetseite: "Für jeden PostScript-Drucker stellt der Hersteller eine PPD-Datei zur Verfügung, die alle Drucker-spezifischen Informationen über dieses besondere Drucker-Modell enthält: Grundlegende Druckereigenschaften wie etwa die Frage, ob es sich um einen Farbdrucker handelt, welche Fonts und welcher PostScript-Level verwendet wird, usw., und insbesondere die Nutzer-spezifischen Optionen wie Papierformat, Auflösung, usw.".

Um die PPD-Datei für deinen Drucker zu bekommen, gehe zu http://www.linuxprinting.org/printer_list.cgi und wähle dort den Hersteller und das Modell deines Druckers aus. Dann mußt Du diese Datei in den CUPS-Ordner kopieren, so daß die Datei erkannt werden kann, Wenn Du dich in dem Ordner befindest, in den Du die Datei heruntergeladen hast, kannst Du das folgende Kommando verwenden:

 cp your_printer.ppd /usr/share/cups/model/

Wenn Du dein Druckermodell auf der Seite nicht finden kannst, kannst Du es mit ähnlichen Modellen versuchen, oder generische Treiber verwenden. Suche über Google oder frage deinen Hersteller (viel Glück damit ...)

CUPS einrichten

Optionen

Nun, da Du CUPS installiert hast, gibt es eine Reihe von Möglichkeiten, CUPS einzurichten. Du kannst natürlich die altbewährte Kommandozeile verwenden. Daneben besitzen verschiedene DEs wie Gnome und KDE nützliche Programme, die dir bei der Druckerverwaltung helfen können. Um jedoch diesen Prozeß für die größte Zahl der Nutzer möglichst einfach zu gestalten, werden wir die Internet-Schnittstelle verwenden, die CUPS bereit stellt.

Bitte beachte: Wenn Du Verbindung zu einem Netzwerk-Drucker suchst, statt zu einem, der direkt mit deinem Computer verbunden ist, möchtest Du vielleicht zuerst den Abschnitt über gemeinsam genutzte Drucker lesen. Einen Drucker unter zwei verschiedenen Linux-System anzusteuern, ist ziemlich einfach und erfordert nur sehr wenig Konfigurationsarbeit. Der Austausch von Windows zu Linux und umgekehrt erfordert etwas mehr Aufwand, ist aber immer noch recht einfach.

Kernel Module

Bevor wir wir die CUPS_Internet-Schnittstelle nutzen können, müssen wir die erforderlichen Kernel-Module installieren. Die folgenden Schritte habe ich der Gentoo-Drucker-Anleitung entnommen.

USB-Drucker

Wenn Du einen USB-Drucker zusammen mit einem 2.6.x-Kernel nutzen willst, verwende den folgenden Befehl:

 # modprobe usblp

Wenn Du einen USB-Drucker und einen 2.4.x-Kernel verwendest, verwende den folgenden Befehl:

 # modprobe printer

Beachte, daß wir hier davon ausgehen, daß Du einen Standard-Kernel von ArchLinux verwendest. Wenn Du deinen Kernel selbst gebacken hast, mußt Du dies zuerst ausführen:

 # modprobe usbcore

Wenn Du die Module installiert hast, soltest Du deinen Drucker anschließen und überprüfen, ob der Kernel ihn erkannt hat, in dem Du den folgenden Befehl ausführst:

 # tail /var/log/messages

Dann solltest Du etwas sehen, das ungefähr so aussieht:

 Feb 19 20:17:11 kernel: printer.c: usblp0: USB Bidirectional
 printer dev 2 if 0 alt 0 proto 2 vid 0x04E8 pid 0x300E
 Feb 19 20:17:11 kernel: usb.c: usblp driver claimed interface cfef3920
 Feb 19 20:17:11 kernel: printer.c: v0.13: USB Printer Device Class driver 

Parallel-anschlossene Drucker

Wenn Du einen parallel angeschlossenen Drucker nutzen willst, ist die Einrichtung fast genau die gleiche. Benutzer des Kernels 2.6.x müssen als erstes folgendes eintippen:

 # modprobe lp

Danach können sowohl die Nutzer von 2.4 als auch die von 2.6. eingeben:

 # modprobe parport
 # modprobe parport_pc

Du kannst deine Einstellungen noch einmal mit folgendem Befehl überprüfen:

 # tail /var/log/messages

Dann wirst Du in etwa Folgendes sehen:

 # lp0: using parport0 (polling).

Automatisches Laden

Wahrscheinlich möchtest Du, dass Dein System die Kernel-Module beim Systemstart automatisch lädt. Dazu benutzt Du einen Texteditor deiner Wahl, öffnest die Datei /etc/rc.conf und fügst die betreffenden Module in der Zeile MODULES= () hinzu. Hier ist ein Ausschnitt aus meiner rc.conf-Datei: MODULES=(!usbserial scsi_mod sd_mod snd-ymfpci snd-pcm-oss printer ide-scsi)

CUPS Daemon

Wenn die Kernel-Module installiert sind, kannst Du nun auch den eigentlichen Cups-Daemon starten. Dazu führst du folgendes Kommando aus:

 # /etc/rc.d/cups start

Wenn Du CUPS bei jedem Neustart deines Computers automatisch laden willst (wahrscheinlich willst Du das), so musst Du es Deiner DEAMONS=() Zeile in der Datei /etc/rc.conf hinzufügen. Zum Beispiel:

 DAEMONS=(pcmcia syslogd klogd !fam esd mono network autofs cups crond gdm)