DANKE!! Vielen Dank für die ausführliche Antwort. Ich sollte in der Tat öfter mal in die RELEASE-NOTES schauen... Viele Grüße Klaus Johannes Meixner schrieb:
Hallo,
On Aug 13 11:02 Klaus Becker wrote (shortened):
ich habe gerade unter OpenSuse 11.1 einen neuen Cups-Server aufgesetzt. Mit einem OpenSuse 11.1 Client gibt es auch keine Probleme.
Über einen OpenSuse 11.0 Client kann ich allerdings nicht drucken.
Wenn ich 'lpr -Pdrucker file.ps' eingebe bekomme ich folgende Fehler- meldung:
lpr: Unsupported character set "iso-8859-15"! ... im error.log des Druckservers steht:
E [13/Aug/2009:10:53:32 +0200] Unsupported character set "iso-8859-15"! E [13/Aug/2009:10:53:32 +0200] Unsupported character set "iso-8859-15"!
Siehe die openSUSE 11.0 release notes. /usr/share/doc/release-notes/openSUSE/RELEASE-NOTES.en.html "Printing Legacy Encoded Text Files" und "CUPS (Common UNIX Printing System) and UTF-8 Encoding"
Im Netz habe ich bisher die Lösung gefunden, daß die User die Umgebungsvariable LC_ALL setzen sollen. Nach 'export LC_ALL=de_DE.utf8' geht das Drucken dann auch.
Das ist die korrekte Lösung - entscheidend ist 'utf8'.
Irgendwie scheint es aber wohl doch ein Bug bei CUPS zu sein,
Nein. Das veränderte Verhalten ist völlig konform zur IPP Spezifikation.
Die IPP Spezifikation sieht explizit vor, dass ein IPP Server (cupsd) nur mindestens UTF8 (was 7-Bit ASCII beinhaltet) unterstützen muss, alles andere ist lediglich optional. Ein IPP Client kann initial alles andere wünschen, aber der IPP Server kann das zurückweisen und dann muss der IPP Client UTF8 liefern. D.h. bei 'lpstat -p queue_name' muss das 'lpstat' Kommando in UTF8 mit dem cupsd reden (z.B. den "queue_name" in UTF8 an den cupsd senden) und das macht es, wenn die locale Einstellungen des Benutzers, der das 'lpstat' Kommando macht, 'irgedwas.utf8' sind.
Bei "Printing Legacy Encoded Text Files" muß der Benutzer selbst das "Legacy Encoded Text File" nach UTF8 umcodieren, denn bei einem "Legacy Encoded Text File" läßt sich nicht via Automatismus feststellen, in welchem "Legacy Encoding" es denn vorliegt - nur der Benutzer selbst weiß das (oder auch nicht und dann muß er selbst rumraten). D.h. bei 'lp -d queue file.txt' kann das 'lp' Kommando nicht feststellen, in welchem "Legacy Encoding" das file.txt tatsächlich vorliegt, sondern es könnte nur irgendwie halbintelligent rumraten.
Da "legacy encoded" Kram also nicht sicher funktioniert sondern nur eher zufällig in geeignet gutartiger Umgebung (etwa indem sich alle in der jeweiligen Umgebung irgendwie geeiningt haben z.B. nur "iso-8859-15" zu benutzen), dagegen UTF8 weltweit sicher funktioniert, akzeptiert CUPS nur noch UTF8.
Mehr Details, warum das Verhalten von CUPS geändert wurde, lassen sich auf der CUPS Mailingliste finden.
Gruß Johannes Meixner
-- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org