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.

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

Ausgabe: -rwx------ 1 root root 26480 10. Mär 15:53 /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)
Jetzt kann der Drucker verwendet werden.

Er kann lokal angesprochen werden und als Samba-Drucker oder als IPP-Drucker (http) eingebunden werden.

Tags: CUPS, PDF, SUSE

Verwandte Artikel:

Letzte Änderung des Artikels: 2007-03-10 22:32
Verfasser des Artikels: Florian Schrön
Revision: 1.0

Digg it! Artikel ausdrucken Artikel weiterempfehlen Als PDF-Datei anzeigen
Übersetzungsvorschlag für Übersetzungsvorschlag für
Bewertung der Nützlichkeit dieses Artikels:

Durchschnittliche Bewertung: 0 von 5 (0 Bewertungen)

vollkommen überflüssig 1 2 3 4 5 sehr wertvoll

Kommentieren nicht möglich