|
|
Zeile 47: |
Zeile 47: |
|
| |
|
|
| |
|
| | | ==Logs ausgeben== |
| $ tail /var/log/messages.log | | /var/log/cups/page_log (spuckt jedes Mal einen neuen Eintrag aus, wenn ein Druckvorgang erfolgreich war) |
| Feb 19 20:17:11 kernel: printer.c: usblp0: USB Bidirectional
| | /var/log/cups/access_log (erstellt eine Liste aller cupsd http1.1. Server-Aktivitäten) |
| 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
| |
| | |
| Wenn man einen Parallel-Drucker nutzen will, ist die Einrichtung fast genauso. Benutzer des Kernels 2.6.x müssen als erstes folgendes ausführen:
| |
| | |
| modprobe lp | |
| | |
| Danach können sowohl die Nutzer eines 2.4.x-Kernels, als auch die eines 2.6.x-Kernels ausführen:
| |
| | |
| modprobe parport
| |
| modprobe parport_pc
| |
| | |
| Nun überprüft man die Einstellungen.
| |
|
| |
|
| tail /var/log/messages.log | | tail /var/log/messages.log |
|
| |
| Es sollte folgendes zu sehen sein.
| |
|
| |
| [] lp0: using parport0 (polling)
| |
|
| |
| === Service starten ===
| |
|
| |
| Ab der Version 1.6.x benötigt CUPS unbedingt das Programmpaket ''avahi''.
| |
| * Die Installation von ''avahi'' ist über [[pacman]] aus den offiziellen Repos möglich.
| |
| * Eine Bearbeitung der ''avahi''-Konfigurationsdateien ist nicht notwendig.
| |
| * Des weiteren muss ''avahi'' vor CUPS gestartet werden.
| |
|
| |
| Damit beide Dienste automatisch gestartet werden, bitte
| |
|
| |
| systemctl enable avahi-daemon.service
| |
| systemctl enable cups.service
| |
|
| |
| Ein manueller Start kann dann per
| |
|
| |
| systemctl start avahi-daemon.service
| |
| systemctl start cups.service
| |
|
| |
| === CUPS HTTP Schnittstelle für lokale Drucker ===
| |
| Sobald der Server gestartet ist, ruft man die Webschnittstelle auf: [http://localhost:631 http://localhost:631] Hier klickt man auf den Link, um Drucker hinzuzufügen. Der CUPS-Server sucht automatisch nach den angeschlossenen Druckern; den, der konfiguriert werden soll, klickt man an. Nun kann man dem Drucker einen Trivialnamen geben und eine Beschreibung hinzufügen. Zuletzt wählt man den Druckertreiber bzw. eine PPD-Datei aus und stellt die Standardeinstellungen ein. Der Drucker ist nun eingerichtet und bereit zum Drucken. Man sollte nun eine Testseite drucken, um zu überprüfen, ob alles funktioniert. Dies kann man über das nun offene Menü des Druckers tun oder über die Kommandozeile.
| |
|
| |
| lpr -P <Drucker> datei
| |
|
| |
| {{ic|<Drucker>}} ist hierbei der gewählte Trivialname, {{ic|datei}} eine zuvor erstelle Textdatei. Sofern man nur einen Drucker eingerichtet hat, kann {{ic|-P <Drucker>}} auch weggelassen werden.
| |
|
| |
| == CUPS-PDF als virtuellen Drucker einrichten ==
| |
| Zuerst muss das entsprechende Paket installiert werden.
| |
|
| |
| pacman -S cups-pdf
| |
|
| |
| Über das Webinterface wird der neue Drucker als ''CUPS-PDF (Virtual PDF Printer)'' angelegt. Dazu klickt man auf „Verwaltung“ und dort auf den Button „Drucker hinzufügen“ im Abschnitt „Drucker“. Im nächsten Dialog wählt man „Local Printers: CUPS-PDF (Virtual PDF Printer)“ aus. Klickt man auf „Fortsetzen“ sieht man im darauffolgenden Dialog als URI des Druckers die Angabe {{ic|cups-pdf:/}}. Weiter geht es mit der Auswahl des Druckerherstellers. Hier wählt man „Generic“ aus der Herstellerliste. Als Model wählt man „Generic CUPS-PDF Printer (en)“. Um die neue Konfiguration zu aktivieren, muss der CUPS-Server neu gestartet werden.
| |
|
| |
| systemctl restart cups.service
| |
|
| |
| Zuvor kann man in der Datei ''/etc/cups/cups-pdf.conf'' im Abschnitt „CUPS-PDF output directory“ Einfluss darauf nehmen, in welches Verzeichnis die erzeugten PDF-Dateien später abgelegt werden sollen.
| |
|
| |
| == Problemlösungen ==
| |
| Um den Druck zum Laufen zu bringen, sollte man am besten den LogLevel in {{ic|/etc/cups/cupsd.conf}} so einstellen:
| |
|
| |
| LogLevel debug2
| |
|
| |
| Dann kann man die Ausgabe von {{ic|/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 | | * D = Debug |
Zeile 121: |
Zeile 57: |
| * I = Information | | * I = Information |
|
| |
|
| Die folgenden Dateien können sich ebenfalls als hilfreich erweisen:
| |
|
| |
| /var/log/cups/page_log (spuckt jedes Mal einen neuen Eintrag aus, wenn ein Druckvorgang erfolgreich war)
| |
| /var/log/cups/access_log (erstellt eine Liste aller cupsd http1.1. Server-Aktivitäten)
| |
|
| |
|
| | == Problemlösungen == |
| Natürlich ist es wichtig zu wissen, wie CUPS funktioniert, wenn man ein Problem lösen will. CUPS arbeitet in etwa so: | | Natürlich ist es wichtig zu wissen, wie CUPS funktioniert, wenn man ein Problem lösen will. CUPS arbeitet in etwa so: |
|
| |
|
Zeile 131: |
Zeile 64: |
| * CUPS übersetzt diese Datei nun in ein Format, das vom druckerinternen Protokoll verarbeitet werden kann. Dies geschieht zum Beispiel mit Ghostscript, das über die Druckertreiber herausfindet, wie dies genau funktioniert. | | * CUPS übersetzt diese Datei nun in ein Format, das vom druckerinternen Protokoll verarbeitet werden kann. Dies geschieht zum Beispiel mit Ghostscript, das über die Druckertreiber herausfindet, wie dies genau funktioniert. |
| * Diese Datei wird dann an die Druckerschnittstelle gesandt. | | * Diese Datei wird dann an die Druckerschnittstelle gesandt. |
|
| |
| In der Datei {{ic|error.log}} wird dies dokumentiert.
| |
|
| |
| === Drucker fehlen in Druckdialog von GTK3 Anwendungen ===
| |
| Im Druckdialog von GTK3-Anwendungen wie Firefox, Evince usw. wird nur der Druck in eine Datei angeboten. Sämtliche in CUPS eingerichtete Drucker fehlen.
| |
|
| |
| Abhilfe: sudo pacman -S gtk3-print-backends
| |
|
| |
|
| === Textdateien werden nicht gedruckt === | | === Textdateien werden nicht gedruckt === |
Zeile 149: |
Zeile 75: |
|
| |
|
| systemctl restart cups.service | | systemctl restart cups.service |
|
| |
| === Der Auftrag wird verarbeitet, aber nicht gedruckt ===
| |
| Obwohl der Drucker korrekt konfiguriert wurde und Aufträge annimmt und diese auch als verarbeitet angezeigt werden, erhält man keinen Ausdruck.
| |
|
| |
| Die Lösung für dieses Problem ist folgende:
| |
|
| |
| Zunächst wird der CUPS-Server gestoppt.
| |
|
| |
| systemctl stop cups.service
| |
|
| |
| Hiernach deinstalliert man ihn. Es sollten alle Konfigurationsdateien entfernt oder gesichert werden.
| |
|
| |
| mv /etc/cups /etc/cups.backup
| |
| mv /var/cache/cups /var/cache/cups.backup
| |
| pacman -Rcns cups
| |
|
| |
| Nun installiert man den CUPS-Server neu und startet ihn wieder.
| |
|
| |
| pacman -S cups
| |
| systemctl enable cups.service
| |
| systemctl start cups.service
| |
|
| |
| Danach muss der Drucker wieder neu eingerichtet werden.
| |
|
| |
| Damit kann immerhin sichergestellt werden, dass keine Konfigurationsprobleme vorliegen.
| |
|
| |
| === 64-Bit System (x86_64-Architektur) ===
| |
| Obwohl man alles richtig gemacht hat, kann es dennoch passieren, dass der Drucker einfach nicht druckt. Falls man die 64-Bit-Version von Arch Linux nutzt, sind evtl. noch folgende 32-Bit-Pakete von Nöten: '''lib32-glibc''', '''lib32-gcc-libs''' und '''lib32-libstdc++5'''.
| |
|
| |
| Voraussetzung dazu, ist die Aktivierung des Multilib-Repos in der {{ic|/etc/pacman.conf}}; Siehe dazu [[Pacman]], den Punkt '''"Repos festlegen".'''
| |
|
| |
| Man kommentiert einfach das Multilib-Repo ein ("#" vor Eintrag entfernen).
| |
|
| |
| [multilib]
| |
| Include = /etc/pacman.d/mirrorlist
| |
|
| |
| Danach die Datenbank aktualisieren.
| |
|
| |
| pacman -Syy
| |
|
| |
| Und dann die fehlenden 32-Bit-Abhängigkeiten installieren.
| |
|
| |
| pacman -S lib32-glibc lib32-gcc-libs lib32-libstdc++5
| |
|
| |
| Danach müsste der Drucker einwandfrei funktionieren. Falls nicht - oder auch nur zur Sicherheit - kann man nochmal den CUPS-Server neu starten.
| |
|
| |
| systemctl restart cups.service
| |
|
| |
| ===CUPS erkennt den Drucker nicht===
| |
| Viele USB-Drucker werden von CUPS (v1.5) nach wie vor als parallele Geräte angesprochen.
| |
| Sobald der Drucker beim Einstecken und Anschalten in /dev/usb/ eine Datei lp0 , lp1, oder usw. anlegt genügt ein Link direkt in /dev/
| |
|
| |
| Speichern Sie dazu folgende udev-rule unter bspw. diesem Namen /etc/udev/rules.d/10-cups_device_link.rules ab.
| |
|
| |
| KERNEL=="lp[0-9]", SYMLINK+="%k", GROUP="lp"
| |
|
| |
| Beim neuen einstecken des USB-Kabels wird die neue Regel angewendet, und CUPS dürfte den Drucker (als parallel) im Web-Interface erkennen.
| |
|
| |
| Falls das nicht hilft, installieren Sie das Paket '''hal-cups-utils''' und versuchen es erneut.
| |
| Dabei ist zu beachten, dass für hal (als Abhängigkeit) aus dem AUR (temporär) ein Link angelegt werden sollte.
| |
| # ln -s /usr/include/libv4l1-videodev.h /usr/include/linux/videodev.h
| |
|
| |
|
|
| |
|
Zeile 218: |
Zeile 83: |
| ===Herstellerspezifische Artikel=== | | ===Herstellerspezifische Artikel=== |
| Vielleicht helfen dir auch die die Wiki-Artikel [[Brother Drucker]] oder [[Samsung Drucker]] weiter. | | Vielleicht helfen dir auch die die Wiki-Artikel [[Brother Drucker]] oder [[Samsung Drucker]] weiter. |
| | |
|
| |
|
| ==Weblinks== | | ==Weblinks== |
Das CUPS (Common Unix Printing System) basiert auf dem "Internet Printing Protocol" und stellt komplette Drucker-Dienste für Postscript- und Raster-Drucker bereit.
Installation
CUPS ist als
cups
in extra
verfügbar, und kann von dort
mittels Pacman
installiert werden.
# CUPS an sich
pacman -S cups
# Compiler für PostScript
pacman -S ghostscript
Starten des Service:
systemctl enable --now cups.service
Virtueller PDF-Drucker
Mit dem Paket cups-pdf kann ein virtueller PDF-Drucker eingerichtet werden, der alles was per Druckbefehl an ihn gesendet wird in eine PDF-Datei verwandelt.
Druckereinrichtung
PPD
Für den Druckerbetrieb wird ein passender PPD (Postscript Printer Driver) benötigt, den viele Druckerhersteller auf ihrer Serviceseite zum Download bereitstellen.
Auch können die meisten Treiber über das Arch Paket System bezogen werden:
- gutenprint - Hochwertiger Treibersammlung für die Verwendung mit Ghostscript, CUPS, Foomatic und GIMP.
- Fumatic - Siehe Paketsuche unter foomatic.
- hplip - Unterstützt DeskJet, OfficeJet, Photosmart, Business Inkjet und einige LaserJet Modelle von HP.
- splix - Unterstützt einige SPL (Samsung Printer Language) Drucker.
- AUR - Das Arch User Repositorium stellt für einige Drucker-Modelle passende Treiber zur Verfügung. Siehe AUR-Paket-Suche
Zudem kann man bei openprinting.org fündig werden.
Konfiguration
Der einzurichtende Drucker sollte angeschlossen und eingeschaltet sein.
Desktopumgebungen
Einige Desktopumgebung stellen GUI-Tools zur Druckereinrichtung in ihrer jeweiligen Systemsteuerung bereit.
Bei Plasma ist dies der print-manager. Andere Desktopumgebungen setzen das Paket system-config-printer hierfür ein.
CUPS-HTTP
Allgemein kann der Drucker direkt über die Webschnittstelle von CUPS eingerichtet werden.
Hierzu ruft man im Webbrowser http://localhost:631/admin auf.
Nachdem man auf die Schaltfläche Drucker hinzufügen
klickt wird der lokal neu angeschlossene Drucker automatisch erkannt. Anschließend folgt die Zuweisung eines passenden Treibers.
Der folgende Abschnitt gilt teilweise als veraltet. Hier muss noch aussortiert werden!
Dieser Artikel wurde als veraltet markiert, und sollte kontrolliert, und gegebenfalls korrigiert bzw. aktualisiert werden.
Logs ausgeben
/var/log/cups/page_log (spuckt jedes Mal einen neuen Eintrag aus, wenn ein Druckvorgang erfolgreich war)
/var/log/cups/access_log (erstellt eine Liste aller cupsd http1.1. Server-Aktivitäten)
tail /var/log/messages.log
- D = Debug
- E = Error (Fehler)
- I = Information
Problemlösungen
Natürlich ist es wichtig zu wissen, wie CUPS funktioniert, wenn man ein Problem lösen will. CUPS arbeitet in etwa so:
* Eine Anwendung schickt eine PostScript-Datei an den Server (im Regelfall ist dies localhost
).
* CUPS übersetzt diese Datei nun in ein Format, das vom druckerinternen Protokoll verarbeitet werden kann. Dies geschieht zum Beispiel mit Ghostscript, das über die Druckertreiber herausfindet, wie dies genau funktioniert.
* Diese Datei wird dann an die Druckerschnittstelle gesandt.
Textdateien werden nicht gedruckt
Obwohl der Drucker richtig eingerichtet wurde, kann es passieren, dass Textdateien nicht korrekt aus dem Terminal oder aus dem Texteditor gedruckt werden.
Abhilfe kann hier a2ps verschaffen. Dieses Programm wandelt verschiedene Dateien in PostScript-Dateien um.
pacman -S a2ps
Nach der Installation muss der CUPS-Server neu gestartet werden.
systemctl restart cups.service
Benutzer hat keinen Zugriff
Damit ein user Zugriff auf administrative Tätigkeiten am Cups-Server (Web-Client) hat, muss er zuerst der Gruppe sys zugeordnet werden
usermod -aG sys username
Herstellerspezifische Artikel
Vielleicht helfen dir auch die die Wiki-Artikel Brother Drucker oder Samsung Drucker weiter.
Weblinks