“cups-pdf failed” unter Intrepid Ibex
Seltsamerweise wird der cups-pdf-Drucker unter Intrepid Ibex nicht mitinstalliert. Allerdings wurde er das auch bei den “älteren” Ubuntu-Versionen nicht. Beim OpenOffice ist ja ein PDF-Creator inkludiert, dort weiss ich aber nicht, welche virtuellen Drucker eingesetzt werden. Will ich ausserhalb vom OpenOffice ein PDF erzeugen, braucht es eben den üblichen PDF-Drucker. Ihn manuell zu installieren, ist ja keine Hexerei. Das habe ich schon vor einem Jahr hier beschrieben:
sudo apt-get install cups-pdf
Die Installation klappt bestens, aber der Drucker meldet einen Fehler, sobald ein Job ausgeführt werden soll. Ein Blick in die Datei cups-pdf_log im Pfad /var/log/cups brachte dann den Fehler zu Tage:
[ERROR] failed to create user output directory (/home/roman/PDF)
Einem solchen Fehler bei dem PDF-Drucker bin ich bisher noch nie begegnet. Ich habe das Verzeichnis dann von Hand erzeugt und sofort spuckte der virtuelle Drucker die PDF-Seiten aus.


12. Dezember 2008 um 08:21:12 Uhr
Cups-pdf ist seit Intrepid nicht mehr nötig. Einfach bei der Druckerauswahl “In Datei drucken” auswählen und dort “Ausgabeformat: [x] PDF”..
12. Dezember 2008 um 08:31:32 Uhr
@ngc2997: Funktioniert eben nicht aus jedem Programm;)!
Allgemein Problem mit dem Ordner ebenfalls reproduziert – ist wohl so;)! erstellt den Ordner nicht mehr selbst:).
Und: OOo verwendet (glaube ich) keinen “Drucker” um ein PDF zu erstellen – es wird wirklich der Code direkt übersetzt. Deshalb ist es auch möglich, Links in einem Dokument zu erstellen, usw.. – das per “Drucker” nicht möglich ist (diese Infos gehen dann verloren;))!
Grüsse
12. Dezember 2008 um 09:01:10 Uhr
@ngc2997: Danke für den Hinweis! Das ist natürlich noch besser.
@whoever: Wusste ich nicht wegen dem OpenOffice, danke für die Infos!
12. Dezember 2008 um 13:56:32 Uhr
Es liegt wahrscheinlich an den Dateirechten.
Weil cups von einem anderen User ausgeführt wird, der keine Rechte zum Schreiben in deinem Homeverzeichnis hat, kann er natürlich den Ordner auch nicht anlegen.
Warum er danach allerdings die Dateien anlegen kann ist mir unklar !?!
12. Dezember 2008 um 18:41:05 Uhr
Also, bei mir existiert das PDF-Verzeichnis in meinem Home-Verzeichnis, aber trotzdem erstellt cups-pdf keine PDF-Datei. In der Log-Datei steht:
Fri Dec 12 18:34:50 2008 [ERROR] failed to create user output directory (/home/matthias/PDF)
Was nun?
12. Dezember 2008 um 19:26:04 Uhr
@Matthias: Ich nehme an, dass das Verzeichnis richtig geschrieben ist, also in Grossbuchstaben PDF. Was passiert, wenn Du es löschst und versuchst, ob das Skript den Ordner erstellen kann?
12. Dezember 2008 um 23:11:53 Uhr
ich denke die Verzeichnisrechte des Home-Verzeichnisses müssen richtig gesetzt werden, damit eine pdf-Datei erstellt werden kann.
13. Dezember 2008 um 00:20:19 Uhr
Die neue, integrierte Druckengine für PDF erzeugt allerdings mehr als doppelt so schwere PDFs wie der “alte” cups-Druckertreiber. Diese Seite hier wird mit dem integrierten Drucker 413.5 KB schwer, während dem der cups-Drucker eine Datei mit 180.0 KB erzeugt. Dasselbe lässt sich ja auch vom integrierten “PDF-Erzeuger” vom OpenOffice sagen, der macht auch grössere Files.
14. Dezember 2008 um 12:48:14 Uhr
Also, wenn ich das PDF-Verzeichnis lösche/verschiebe (ja, es ist in Großbuchstaben geschrieben), dann funktioniert cups-pdf auch nicht…
14. Dezember 2008 um 14:07:12 Uhr
@Matthias: Und was passiert, wenn Du die vollen Rechte für alle User und Gruppen auf dieses Verzeichnis gibst? Klappt es dann?
18. Dezember 2008 um 15:22:22 Uhr
Das Problem liegt bei AppArmor; Man sieht die Zugriffsrechtefehler, wenn man im syslog schaut.
In /etc/apparmor.d/usr.sbin.cupsd unter /usr/lib/cups/backend/cups-pdf { fehlen zwei capabilities:
capability dac_override,
capability dac_read_search,
danach
sudo /etc/init.d/apparmor reload
sudo /etc/init.d/cups restart
Dazu auch
https://bugs.launchpad.net/ubuntu/+source/cups/+bug/270046
Viel Erfolg
18. Dezember 2008 um 18:33:26 Uhr
Danke Jan! Super.
07. November 2009 um 23:34:34 Uhr
Hi,
falls Eure Home Verzeichnisse nicht dem Standard entsprechen solltet ihr auch noch die geänderten Homes in:
/etc/apparmor.d/tunables/home
eintragen.
@{HOMEDIRS}=/home/ /neues/home/dir/