Hi
ich habe folgendes Problem: Standardinstallation openSuse mit Cups. Als Drucker habe ich einen hpdeskjet5652 über usb angeschlossen. Das lief bisher mit älteren Distributionen problemlos. Installation ging hier ebenfalls ohne Schwierigkeiten über die Bühne. Ich bin von der aktuellen Distribution also durchaus angetan. Das einzige, was ich nicht zum Laufen bringe ist lpr. Wenn ich eine Datei aus einem graphischen Programm drucke (also schon einfache Textdatei aus gvim), so geht das problemlos. Versuche ich es mit lpr, so geht nichts. ich habe mal den Cups-Debug angemacht und sehe, dass ghostscript in letzerem Fall absemmelt. In den Steuerdateien von Cups im Spoolverzeichnis (dummerweise sind die binär) sehe ich als Unterschied, dass bei lpr als Dokumentenformat noch text/plain drinsteht, während sonst wohl schon application/postscript ankommt. Leider kenne ich mich hier in dieser Ecke überhaupt nicht weiter aus.
Was an Druckerfiltern so verfügbar war (a2ps,…) habe ich installiert. Aber nun bin ich etwas ratlos.
Kann mir da jemand weiterhelfen?
—–
Beispiel aus der error.log:
D [01/Jan/2007:15:22:23 +0100] cupsdProcessIPPRequest: 6 status_code=0 (successful-ok)
D [01/Jan/2007:15:22:24 +0100] [Job 95] foomatic-gswrapper: gs ‘-sstdout=%stderr’ ‘-dB
ATCH’ ‘-dPARANOIDSAFER’ ‘-dQUIET’ ‘-dNOPAUSE’ ‘-sDEVICE=ijs’ ‘-sIjsServer=hpijs’ ‘-sDe
viceManufacturer=HEWLETT-PACKARD’ ‘-sDeviceModel=deskjet 5600’ ‘-dDEVICEWIDTHPOINTS=59
5′ ‘-dDEVICEHEIGHTPOINTS=842’ ‘-dDuplex=false’ ‘-r300’ ‘-sIjsParams=Quality:Quality=0,
Quality:ColorMode=2,Quality:MediaType=0,Quality:PenSet=2,PS:MediaPosition=7′ ‘-dIjsUse
OutputFD’ ‘-sOutputFile=%stdout’ ‘-‘
E [01/Jan/2007:15:22:25 +0100] [Job 95] /undefined in 12,000
D [01/Jan/2007:15:22:25 +0100] [Job 95] Operand stack:
D [01/Jan/2007:15:22:25 +0100] [Job 95] FN –dict:8/8(ro)(L)– –nostringval–
D [01/Jan/2007:15:22:25 +0100] [Job 95] Execution stack:
D [01/Jan/2007:15:22:25 +0100] Discarding unused printer-state-changed event…
D [01/Jan/2007:15:22:25 +0100] [Job 95] %interp_exit .runexec2 –nostringval– –
-nostringval– –nostringval– 2 %stopped_push –nostringval– –nostringval
— –nostringval– false 1 %stopped_push 1 3 %oparray_pop 1 3 %opa
rray_pop 1 3 %oparray_pop 1 3 %oparray_pop .runexec2 –nostringval–
–nostringval– –nostringval– 2 %stopped_push –nostringval–
D [01/Jan/2007:15:22:25 +0100] [Job 95] Dictionary stack:
…..
ok,
ich habe weitergeforscht, mich an alte Zeiten erinnert und dann hat es geklingelt. Ich kann nun erklären, wo das Problem liegt. Im Bugzilla-system bei Novell ist der Fehler inzwischen auch registriert, wie ich beim Recherchieren dort entdeckt habe, als ich ihn melden wollte. Ist im Nachhinein auch klar, denn es muss bei jedem deutschen Anwender scherbeln.
Es ist der klassische unausrottbare Gag, um nicht zu sagen Programmiereralptraum ;-) von – in diesem Fall falscher – Lokalisierung. Wenn man genau hinsieht, sieht man es: 12,000. Eine Aufbereitung von Koordinaten für postscript darf natürlich keine deutschen Locale-Einstellungen verwenden, da Ghostscript einen Dezimalpunkt will und kein Komma. Die von Cups mitgebrachten Foomatic-Filterprogramme sind buggy und nutzen einfach Standardfunktionen vermutlich aus der “printf”- Gruppe ohne die Dezimalaufbereitung zu beachten. Mal sehen, wann ein update verfügbar ist.
Man kann es temporär einfach umgehen/testen, zB:
“( LC_TYPE=en;LANG=POSIX; lpr file.txt )”
Portable Programmierung ist viel schwieriger, als man denkt.
EOT
Mal sehen, wann ein update verfügbar ist.
Ein Update ist inzwischen verfügbar [1], nur hat es bei mir dummerweise keine Abhilfe gebracht. Aber immerhin hast du ja den Fehler wirklich gut eingekreist.
[1] ftp://ftp.suse.com/pub/suse/i386/update/10.2/rpm/i586/cups-1.2.7-3.2.i586_de.info