Linux
ID #1019
PDF-Drucker auf CUPS installieren
Ich möchte unter Linux PDFs erstellen. Aber die Funktion über kprinter reicht mir nicht, weil ich einen "echten" Drucker möchte. Dieser bringt nämlich viel mehr Möglichkeiten mit.
Als Betriebssysteem hatte/habe ich SUSE 9.3, 10.0 und 10.2. Es läuft aber auch auf vielen anderen Distibutionen.
Als Basis dient CUPS-PDF von Volker Christian Behr
Web: http://cip.physik.uni-wuerzburg.de/~vrbehr/cups-pdf
Auf der Download-Seite werden auch fertige Binaries zur Verfügung gestellt. Ich habe mich für's selbst-compilieren entschieden.
In der README ist eigentlich alles erläutert. Eine wichtige Sache ist aber, dass man CUPS als root laufen lassen soll, was mir nicht gefällt, darum nutze ich einen Work-Around mit Sticky-Bit. Später mehr dazu.
Das Drucker-Backend muss kompiliert werden.
Drucker-Backend, Druckertreiber und CUPS-PDF-Konfiguration kopieren.
In der "/etc/cups/cups-pdf.conf" kann man jetzt noch Optionen, wie Pfade oder auch mit welchen Dateirechten die PDFs erstellt werden sollen, festlegen.
Die Datei-Rechte vom CUPS-PDF-Backend müssen angepasst werden (0700).
Die Rechte prüfen:
Die Rechte prüfen:
Laut README-Anleitung soll jetzt eigentlich die "RunAsUser"-Funktion von CUPS ausgeschaltet werden, damit CUPS als Root läuft. Ich halte nicht viel davon, den gesamten CUPS-Server als root laufen zu lassen. Deshalb bekommt das CUPS-PDF-Backend von mir ein Sticky-Bit, was dafür sorgt, dass das Programm als Datei-Eigentümer ausgeführt wird; also als root.
Die Rechte prüfen:
CUPS muss neugestartet werden.
Über die "Verwaltung" wird ein neuer Drucker hinzugefügt.
Er kann lokal angesprochen werden und als Samba-Drucker oder als IPP-Drucker (http) eingebunden werden.
Als Betriebssysteem hatte/habe ich SUSE 9.3, 10.0 und 10.2. Es läuft aber auch auf vielen anderen Distibutionen.
Als Basis dient CUPS-PDF von Volker Christian Behr
Web: http://cip.physik.uni-wuerzburg.de/~vrbehr/cups-pdf
Auf der Download-Seite werden auch fertige Binaries zur Verfügung gestellt. Ich habe mich für's selbst-compilieren entschieden.
Installation
Dazu das aktuelle "current source package" runterladen, entpacken, in das entpackte Verzeichnis wechseln.
$ cd /usr/local/src $ wget http://www.physik.uni-wuerzburg.de/~vrbehr/cups-pdf/src/cups-pdf_2.4.1.tar.gz $ tar -xzvf cups-pdf_2.4.1.tar.gz $ cd cups-pdf-2.4.1 |
In der README ist eigentlich alles erläutert. Eine wichtige Sache ist aber, dass man CUPS als root laufen lassen soll, was mir nicht gefällt, darum nutze ich einen Work-Around mit Sticky-Bit. Später mehr dazu.
Das Drucker-Backend muss kompiliert werden.
$ cd src/ $ gcc -O9 -s -o cups-pdf cups-pdf.c $ cd .. |
Drucker-Backend, Druckertreiber und CUPS-PDF-Konfiguration kopieren.
$ cp src/cups-pdf /usr/lib/cups/backend/ $ cp extra/PostscriptColor_rev4.ppd.gz /usr/share/cups/model/ $ cp extra/cups-pdf.conf /etc/cups/ |
In der "/etc/cups/cups-pdf.conf" kann man jetzt noch Optionen, wie Pfade oder auch mit welchen Dateirechten die PDFs erstellt werden sollen, festlegen.
Die Datei-Rechte vom CUPS-PDF-Backend müssen angepasst werden (0700).
$ chmod 700 /usr/lib/cups/backend/cups-pdf |
Die Rechte prüfen:
$ ls -la /usr/lib/cups/backend/cups-pdf |
Ausgabe:
-rwx------ 1 root root 26480 10. Mär 15:53 /usr/lib/cups/backend/cups-pdf
Die Rechte prüfen:
$ ls -la /usr/lib/cups/backend/cups-pdf |
Laut README-Anleitung soll jetzt eigentlich die "RunAsUser"-Funktion von CUPS ausgeschaltet werden, damit CUPS als Root läuft. Ich halte nicht viel davon, den gesamten CUPS-Server als root laufen zu lassen. Deshalb bekommt das CUPS-PDF-Backend von mir ein Sticky-Bit, was dafür sorgt, dass das Programm als Datei-Eigentümer ausgeführt wird; also als root.
$ chmod +s /usr/lib/cups/backend/cups-pdf |
Die Rechte prüfen:
$ ls -la /usr/lib/cups/backend/cups-pdf |
Ausgabe:
-rws--S--- 1 root root 26480 10. Mär 15:53 /usr/lib/cups/backend/cups-pdf
CUPS muss neugestartet werden.
$ /etc/init.d/cups restart |
Drucker-Einrichtung
Jetzt kennt CUPS den neuen "Drucker" und man kann diesen einrichten. Ich habe es mit dem CUPS-Webinterface über http://localhost:631 erledigt.Über die "Verwaltung" wird ein neuer Drucker hinzugefügt.
- Name:Virtual_Printer
- Beschreibung: PDF Printer
- Ort: Local Printer
- Gerät: Virtual Printer (PDF Printer)
- Marke: Postscript
- Modell: Generic postscript color printer rev4 (en)
Er kann lokal angesprochen werden und als Samba-Drucker oder als IPP-Drucker (http) eingebunden werden.
Verwandte Artikel:
Letzte Änderung des Artikels: 2007-03-10 22:32
Verfasser des Artikels: Florian Schrön
Revision: 1.0
Kommentieren nicht möglich