SuSE 9.2 + Mozilla/Firefox: druckt leere Seiten auf HP Laserjet
Hi, Wir haben SuSE 9.2 mit CUPS und HP Laserjet 4100 Druckern. Jeder Linux-Host hat einen eigenen CUPS-Server und druckt direkt auf die Laserjets. Kuerzlich sind wir von SuSE 9.0 auf 9.2 umgestigen. Dabei ist bei einigen Benutzern ein seltsames Phaenomen aufgetaucht: Mozilla oder Firefox druckt nur noch leere Seiten auf unsere HP Laserjets. Wenn ich den Ausdruck in ein Postscriptfile speichere und mit gv anschaue, sehe ich den Inhalt. Wenn ich aber mit gv ausdrucke, kommen ebenfalls nur leere Seiten. Dasselbe Postscript File auf einem anderen Rechner ausgedruckt ist ebenfalls leer. Andere Postscript Files auf demselben System werden jedoch richtig gedruckt. Die Benutzer sagen natuerlich "Ich habe nichts gemacht". Scheinbar ist irgendwie der generierte Postscript-Code nicht korrekt oder das Zusammenspiel mit CUPS und einem Filter klappt nicht. Hat jemand ein aenliches Phaenomen un eine Loesung gefunden? Danke + Gruss, Bernd
Hallo, On May 25 15:30 Bernd Nies wrote (shortened):
Kuerzlich sind wir von SuSE 9.0 auf 9.2 umgestigen. Mozilla oder Firefox druckt nur noch leere Seiten auf unsere HP Laserjets. ... Scheinbar ist irgendwie der generierte Postscript-Code nicht korrekt
Vermutlich http://portal.suse.com/sdb/de/2004/03/jsmeix_print-einrichten-91.html "Drucken aus Mozilla" Allgemein siehe: http://portal.suse.com/sdb/de/2004/08/jsmeix_print-from-version-to-version.h... Gruss, Johannes Meixner -- SUSE LINUX Products GmbH, Maxfeldstrasse 5 Mail: jsmeix@suse.de 90409 Nuernberg, Germany WWW: http://www.suse.de/
Hallo,
Vermutlich http://portal.suse.com/sdb/de/2004/03/jsmeix_print-einrichten-91.html "Drucken aus Mozilla"
Allgemein siehe: http://portal.suse.com/sdb/de/2004/08/jsmeix_print-from-version-to-version.h...
Schon moeglich. Das Seltsame ist, dass bei 98 von 100 Benutzern dieses Problem nicht auftritt. Die Suse 9.2 Installation ab Autoyast ist bei allen identisch. Ein fehlerhaftes Mozilla/Firefox Profil ist ebenfalls auszuschliessen, da das Problem auch bei einer Neuinstallation des Browsers besteht. Eine fehlerhafte Druckerqueue/Filter ist auch auszuschliessen, da dasselbe Postscript-File von einer anderen Maschine aus gedruckt, ebenfalls leer ist. Die Drucker werden mit einem Autoyast Postinstall-Script wie folgt erstellt: lpadmin -p myprinter -E -v socket://192.168.5.17 \ -m HP/LaserJet_4100-Postscript.ppd.gz \ -o PageSize=A4 -o Duplex=DuplexNoTumble \ -D "HP Laserjet 4100 DTN" -L "Room 13" lpadmin -d myprinter # Suppres empty pages echo "ps_accounting: 0" >>/etc/foomatic/filter.conf Gruss, Bernd
Johannes Meixner wrote:
Vermutlich http://portal.suse.com/sdb/de/2004/03/jsmeix_print-einrichten-91.html "Drucken aus Mozilla"
Allgemein siehe: http://portal.suse.com/sdb/de/2004/08/jsmeix_print-from-version-to-version.h...
Habs wie beschrieben ausprobiert und mit Konvertierungsfilter auf Postscript Level1 oder 2 probiert und auch die Freefont2-Einstellung bei Mozilla/Firefox. Beim einen kam die Seite immer noch leer heraus, beim anderen rabenschwarz. Die /etc/cups/mime.types und /etc/cups/mime.convs sind schon so wie bei der Suse 9.1 Anleitung angegeben. Es laesst sich wie folgt reproduzieren. Die Homes von User1/User2 werden via NFS auf die SuSE Linux 9.2 Workstations gemountet. Jede Linux WS hat ihren eigenen CUPS-Printerserver und druckt auf einen HP Laserjet 4100. 1) Auf Host1 mit betroffenem Account User1 ein niegelnagelneues Firefox-Profil erstellen. 2) Druck einer Webseite (heise.de) in ein File mozilla.ps 3) Unter User1 auf Host1 mit 'lp mozilla.ps' ausdrucken --> weiss 4) Unter User2 auf Host1 mit 'lp mozilla.ps' ausdrucken --> richtig 5) Unter User1 auf Host2 mit 'lp mozilla.ps' ausdrucken --> weiss 6) Unter User2 auf Host2 mit 'lp mozilla.ps' ausdrucken --> richtig Es muss somit irgendwass in der Benutzer-Umgebung sein, denn es passiert nur, wenn man unter User1 ausdruckt. Gruss, Bernd
1) Auf Host1 mit betroffenem Account User1 ein niegelnagelneues Firefox-Profil erstellen. 2) Druck einer Webseite (heise.de) in ein File mozilla.ps 3) Unter User1 auf Host1 mit 'lp mozilla.ps' ausdrucken --> weiss 4) Unter User2 auf Host1 mit 'lp mozilla.ps' ausdrucken --> richtig 5) Unter User1 auf Host2 mit 'lp mozilla.ps' ausdrucken --> weiss 6) Unter User2 auf Host2 mit 'lp mozilla.ps' ausdrucken --> richtig
Es muss somit irgendwass in der Benutzer-Umgebung sein, denn es passiert nur, wenn man unter User1 ausdruckt.
Aha ... das KDE kprinter Tool schreibt irgendeinen Muell ins File ~/.lpoptions: Dest anneau Dest hpcolor Dest hpnet Dest jerez Dest laguna Dest maranello Dest monte Dest monza Dest mugello Default silverstone Duplex=DuplexNoTumble number-up=2 Dest spa Dest suzuka Special Advanced%20Faxing%20Tool%20(ksendfax) Special Mail%20PDF%20file Special Print%20to%20File%20(PDF) Special Print%20to%20File%20(PostScript) Special Send%20to%20Fax Wenn man das File loescht, wird die Seite gedruckt. Bye Bernd
Hallo, On May 31 17:43 Bernd Nies wrote (shortened):
3) Unter User1 auf Host1 mit 'lp mozilla.ps' ausdrucken --> weiss 4) Unter User2 auf Host1 mit 'lp mozilla.ps' ausdrucken --> richtig 5) Unter User1 auf Host2 mit 'lp mozilla.ps' ausdrucken --> weiss 6) Unter User2 auf Host2 mit 'lp mozilla.ps' ausdrucken --> richtig
Es muss somit irgendwass in der Benutzer-Umgebung sein, denn es passiert nur, wenn man unter User1 ausdruckt.
Evtl. ~/.lpoptions siehe http://portal.suse.com/sdb/de/2002/11/jsmeix_print-cups-options.html Gruss, Johannes Meixner -- SUSE LINUX Products GmbH, Maxfeldstrasse 5 Mail: jsmeix@suse.de 90409 Nuernberg, Germany WWW: http://www.suse.de/
Johannes Meixner wrote:
Hallo,
On May 31 17:43 Bernd Nies wrote (shortened):
3) Unter User1 auf Host1 mit 'lp mozilla.ps' ausdrucken --> weiss 4) Unter User2 auf Host1 mit 'lp mozilla.ps' ausdrucken --> richtig 5) Unter User1 auf Host2 mit 'lp mozilla.ps' ausdrucken --> weiss 6) Unter User2 auf Host2 mit 'lp mozilla.ps' ausdrucken --> richtig
Es muss somit irgendwass in der Benutzer-Umgebung sein, denn es passiert nur, wenn man unter User1 ausdruckt.
Evtl. ~/.lpoptions siehe http://portal.suse.com/sdb/de/2002/11/jsmeix_print-cups-options.html
Nach Analysen eines betroffenen Users ist es im ~/.lpoptions die Option number-up=2 welche bei dem von Mozilla/Firefox/Thunderbird Postscript zu leeren Seiten fuehrt. Ein neues Feature fuer das "papierlose Buero"? ;-) Gruss, Bernd
Hallo On Jun 1 17:00 Bernd Nies wrote (shortened):
Nach Analysen eines betroffenen Users ist es im ~/.lpoptions die Option number-up=2 welche bei dem von Mozilla/Firefox/Thunderbird Postscript zu leeren Seiten fuehrt.
Nahezu sicher liegt das daran, dass das Mozilla/Firefox/Thunderbird PostScript nicht hinreichend DSC-konform ist, es also nicht der Adobe "PostScript Language Document Structuring Conventions Specification" hinreichend genügt. Ein anderer bekannter Kaditat für nicht hinreichend DSC-konforme PostScript-Druckausgabe ist z.B. OpenOffice.org In der DSC-Spezifikation ist festgelegt wie die DSC-Kommentare auszusehen haben und an welcher Stelle im PostScript-Code welche DSC-Kommentare zu stehen haben, damit Programme, die das PostScript bearbeiten sollen (z.B. umformatieren oder gewisse Seiten extrahieren), das auch können ohne das PostScript-Programm "verstehen" zu müssen. Ein solches Programm ist der CUPS-Filter /usr/lib/cups/filter/pstops (nicht mit /usr/bin/pstops aus den psutils verwechseln) der unter anderem auch die CUPS "Standard Printer Options" (wie z.B. number-up) implementiert, siehe "CUPS Software Users Manual" http://localhost:631/sum.html#STANDARD_OPTIONS Wenn es z.B. mit echo -en "One\fTwo\f" | a2ps -1 -o- | lp -d "queue" -o number-up=2 funktioniert, dann zeigt das, dass es /usr/lib/cups/filter/pstops normalerweise schon kann, aber Voraussetzung ist eben, dass das PostScript hinreichend DSC-konform ist. Gruss, Johannes Meixner -- SUSE LINUX Products GmbH, Maxfeldstrasse 5 Mail: jsmeix@suse.de 90409 Nuernberg, Germany WWW: http://www.suse.de/
Nahezu sicher liegt das daran, dass das Mozilla/Firefox/Thunderbird PostScript nicht hinreichend DSC-konform ist, es also nicht der Adobe "PostScript Language Document Structuring Conventions Specification" hinreichend genügt.
komisch. bei mir liegts eigentlich eher daran, daß mozilla/firefox irgendwann vor ca. 1 Jahr dazu übergegangen ist, postscript level 3 zu erzeugen. Das kann weder cups noch mein drucker selber... (LaserJet 4000 M). Konqueror bzw das kde drucksystem erzeugt schön brav postscript level 2, das kann dann auch mein drucker. bye, MH
Hallo, On Jun 1 18:21 Mathias Homann wrote (shortened):
Nahezu sicher liegt das daran, dass das Mozilla/Firefox/Thunderbird PostScript nicht hinreichend DSC-konform ist ... bei mir liegts eigentlich eher daran, daß mozilla/firefox irgendwann vor ca. 1 Jahr dazu übergegangen ist, postscript level 3 zu erzeugen.
Wenn mozilla.ps PostScript Level 3 enthält und lp mozilla.ps korrekt gedruckt wird, aber lp -o number-up=2 mozilla.ps nicht, dann ist das eher ein Indiz für ein Problem bzgl. DSC-Konformität als für ein Problem bzgl. des PostScript Levels. Aber ohne eine genaue Analyse ist natürlich nichts sicher. Bzgl. Mozilla (und verwandte Browser) und PostScript Level 3 siehe http://portal.suse.com/sdb/de/2004/03/jsmeix_print-einrichten-91.html "Drucken aus Mozilla" Gruss, Johannes Meixner -- SUSE LINUX Products GmbH, Maxfeldstrasse 5 Mail: jsmeix@suse.de 90409 Nuernberg, Germany WWW: http://www.suse.de/
Hi,
Nahezu sicher liegt das daran, dass das Mozilla/Firefox/Thunderbird PostScript nicht hinreichend DSC-konform ist, es also nicht der Adobe "PostScript Language Document Structuring Conventions Specification" hinreichend genügt.
Wenn es z.B. mit
echo -en "One\fTwo\f" | a2ps -1 -o- | lp -d "queue" -o number-up=2
funktioniert, dann zeigt das, dass es /usr/lib/cups/filter/pstops normalerweise schon kann, aber Voraussetzung ist eben, dass das PostScript hinreichend DSC-konform ist.
Ich glaub eher das CUPS unter Suse 9.2 hat da nen Bug. Unter 9.0 gehts naemlich: Suse 9.0 -------- lp mozilla.ps --> druckt eine Seite lp -o number-up=2 mozilla.ps --> druckt 2 Seiten auf einer CUPS Packages: cups-drivers-stp-1.1.19-52 cups-client-1.1.19-93 cups-libs-1.1.19-93 cups-1.1.19-93 cups-drivers-1.1.19-52 cups-devel-1.1.19-93 Suse 9.2 -------- lp mozilla.ps --> druckt eine Seite lp -o number-up=2 mozilla.ps --> druckt eine leere Seite CUPS Packages: cups-drivers-1.1.21-4 libgnomecups-0.1.13-2 cups-libs-1.1.21-5.6 cups-SUSE-ppds-dat-1.1.20-104 cups-client-1.1.21-5.6 cups-drivers-stp-1.1.21-4 cups-1.1.21-5.6 Gruss, Bernd
Hallo, On Jun 1 18:53 Bernd Nies wrote (shortened):
Suse 9.0 -------- lp mozilla.ps --> druckt eine Seite lp -o number-up=2 mozilla.ps --> druckt 2 Seiten auf einer ... Suse 9.2 -------- lp mozilla.ps --> druckt eine Seite lp -o number-up=2 mozilla.ps --> druckt eine leere Seite
Ich habe mich geirrt. Nach etwas genauerer Analyse ist es in Wahrheit so: Seit Suse 9.2 haben wir den Prefilter /usr/lib/cups/filter/pstops für Mozilla-Druckausgaben standardmäßig aktiviert, siehe die Einträge in /etc/cups/mime.types und /etc/cups/mime.convs und vergl. in http://portal.suse.com/sdb/de/2004/03/jsmeix_print-einrichten-91.html den Abschnitt "Drucken aus Mozilla". Das ist im Normalfall notwendig, denn die PostScript Level 3 Druckausgaben von Mozilla können auf den meisten PostScript-Druckern nicht gedruckt werden weil die nur PostScript Level 2 (oder Level 1) können. Nur gewisse neuere PostScript-Drucker können Level 3. Mit /usr/lib/cups/filter/pstops werden Mozilla-Druckausgaben standardmäßig (mit Ghostscript und pswrite) nach PostScript Level 1 umgewandelt aber um den Preis, dass das dann nicht mehr von /usr/lib/cups/filter/pstops z.B. auf zwei Seiten pro Blatt umgewandelt werden kann. Wenn man keine PostScript Drucker hat oder bereits PostScript Level 3 fähige Drucker hat, dann kann man den Prefilter /usr/lib/cups/filter/pstops wie folgt deaktivieren: In /etc/cups/mime.convs die Zeile application/mozilla-ps application/postscript 33 pswrite durch application/mozilla-ps application/vnd.cups-postscript 66 pstops ersetzen und den cupsd neu starten. Es ist nicht möglich den Prefilter für gewisse Warteschlangen zu aktivieren und für andere zu deaktivieren. Mit grep 'Started filter' /var/log/cups/error_log kann man leicht prüfen, welche Filter in welcher Reihenfolge für welchen Druckjob tatsächlich gestartet wurden. Als Hintergrundinformation dazu siehe: http://portal.suse.com/sdb/de/2003/05/jsmeix_print-cups-filters.html Gruss, Johannes Meixner -- SUSE LINUX Products GmbH, Maxfeldstrasse 5 Mail: jsmeix@suse.de 90409 Nuernberg, Germany WWW: http://www.suse.de/
Hallo,
Nach etwas genauerer Analyse ist es in Wahrheit so:
Seit Suse 9.2 haben wir den Prefilter /usr/lib/cups/filter/pstops für Mozilla-Druckausgaben standardmäßig aktiviert, siehe die Einträge in /etc/cups/mime.types und /etc/cups/mime.convs und vergl. in http://portal.suse.com/sdb/de/2004/03/jsmeix_print-einrichten-91.html den Abschnitt "Drucken aus Mozilla".
Das ist im Normalfall notwendig, denn die PostScript Level 3 Druckausgaben von Mozilla können auf den meisten PostScript-Druckern nicht gedruckt werden weil die nur PostScript Level 2 (oder Level 1) können. Nur gewisse neuere PostScript-Drucker können Level 3.
Mit /usr/lib/cups/filter/pstops werden Mozilla-Druckausgaben standardmäßig (mit Ghostscript und pswrite) nach PostScript Level 1 umgewandelt aber um den Preis, dass das dann nicht mehr von /usr/lib/cups/filter/pstops z.B. auf zwei Seiten pro Blatt umgewandelt werden kann.
Wenn man keine PostScript Drucker hat oder bereits PostScript Level 3 fähige Drucker hat, dann kann man den Prefilter /usr/lib/cups/filter/pstops wie folgt deaktivieren:
In /etc/cups/mime.convs die Zeile
application/mozilla-ps application/postscript 33 pswrite
durch
application/mozilla-ps application/vnd.cups-postscript 66 pstops
ersetzen und den cupsd neu starten.
Es ist nicht möglich den Prefilter für gewisse Warteschlangen zu aktivieren und für andere zu deaktivieren.
Mit grep 'Started filter' /var/log/cups/error_log kann man leicht prüfen, welche Filter in welcher Reihenfolge für welchen Druckjob tatsächlich gestartet wurden. Als Hintergrundinformation dazu siehe: http://portal.suse.com/sdb/de/2003/05/jsmeix_print-cups-filters.html
Vielen Dank fuer die Antwort. Es ist schoen, dass ein freies Betriebssystem auch wirklich alle moeglichen Freiheitsgrade bietet. Gruss, Bernd
participants (3)
-
Bernd Nies
-
Johannes Meixner
-
Mathias Homann