Hoho - Hunderttausend heulende Höllenhunde!
Ich glaube ich konnte Dein Problem reproduzieren.
Nach Webrecherche, cups-neustart (50x), scripting (27x), visudo (12x), logfile-lesen (129x) und anderen Kleinigkeiten habe ich jetzt folgenden Stand bei mir, und folgende Probleme bemerkt.
Bei mir war - trotz cups-pdf - Installation über synaptic, nichts richtig installiert.
Das Script pstopdf war nicht in /usr/lib/cups/filter, sondern es gab lediglich ein /usr/share/doc/cupsys/examples/filters/pstopdf vorhanden.
Das kopierte ich:
sudo su cp /usr/share/doc/cupsys/examples/filters/pstopdf /usr/lib/cups/filter
(root-Konsole kann offenbleiben, die braucht man noch)
PDFs kamen dennoch nicht zum Vorschein.
Im Browser tauchte auch cups-pdf nicht unter http://localhost:631/printers/''' auf.
Im Wiki wird beschrieben, cups-pdf als lokalen Drucker zu installieren.
Das scheiterte schon daran, daß die beschriebene Option 'lokaler Drucker' nicht bei mir auftauchte.
Womöglich, weil ich kein Kabel am parallel-port habe?
Mit
{{{mcedit /etc/cups/printers.conf
}}}
öffnete ich die Datei zum editieren.
Kopierte einen Eintrag, und änderte ihn ab zu:
<Printer cups-pdf>
Info virtueller PDF Drucker
Location virtuell
DeviceURI pdf:/home/stefan/Desktop
State Idle
StateTime 1192641197
Accepting Yes
Shared Yes
JobSheets none none
QuotaPeriod 0
PageLimit 0
KLimit 0
AllowUser stefan
OpPolicy default
ErrorPolicy stop-printer
</Printer>
mit
/etc/init.d/cupsys restart
neugestartet, aber immer noch kein PDF!
Heulende Höllenhunde!
Die geänderten errors im Logfile deuteten aber darauf hin, daß ich nicht am ganz falschen Rädchen drehte.
Ein Blick in die pstopdf-Datei zeigte, daß da kurz vor Schluß das PDF gelöscht wird.
Das nahm ich raus.
Fortan war eine Datei wie 200.pstopdf.out.rsdhQP im /tmp-Verzeichnis, und
file 200.pstopdf.out.rsdhQP
verriet mir, es ist ein PDF.
Owner und group sind cupsys lp - daran scheiterte dann erstmall die Weiterverarbeitung.
mit
mcedit /usr/lib/cups/filter/pstopdf
änderte ich dann das Ende von pstopdf:
cat $outfile # cp "$infile" "$outfile" /tmp/cups/ # # # mod sw: 1. Zeile deakt., danach 3 Zeilen neu: # rm -f "$outfile" prettyfile=$(echo "$3" | sed 's/[^0-9a-zA-Z_\.-]/_/g') sudo /bin/cp "$outfile" /home/$2/Desktop/$prettyfile.pdf 2>>/tmp/ps2pdf.log sudo /bin/chown $2 /home/$2/Desktop/$prettyfile.pdf 2>/tmp/ps2pdf.log
Jetzt noch mit visudo den sudoers-File bearbeiten:
cupsys localhost = NOPASSWD: /bin/cp, /bin/chown
Das reißt zwar ein kleines Sicherheitsloch, aber das ist mir jetzt erstmal zweitrangig.
Ich drucke jetzt mit java1.6 nach PDF und habe die PDF-Datei dann auf dem Desktop liegen.