[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Probleme beim Drucken aus einem bash-script



Also sprach Michael Wittke <miw@ra-lwb.de> (Fri, 21 Jul 2006 15:20:20
+0200):
> Hallo erstmal,

Hoi,

> um mir bei Bedarf einfach man-pages ausdrucken zu können, habe ich mir
> ein kleines bash-scriptchen (also eher einen Einzeiler) geschrieben. Das
> ganze sah ursprünglich mal so aus:
> 
> 
> #!/bin/bash
> 
> while [ $# -gt 0 ] 
> do
>    druckdatei=$1
>    man $druckdatei | a2ps -M A4dj -1 | lpr

man bietet schon einige Moeglichkeiten zu drucken. (man man)

>    shift
> done   
> 
> exit 0
> 
> Das funktionierte so weit auch, hatte jedoch zwei kleine
> Schönheitsfehler:
> 
> 1. nach jeder man-page wurde eine "Fehlermeldung" ausgedruckt mit
> folgendem Inhalt:
> 
> (stdin)			Wed Jul 12 11:30:03 2006		1
> request id is HPBusinessInkjet1100-151 (1 file (s)

Das scheint definitv ein Banner zu sein. (man lpr / -h)

> Das nervt, weil es völlig unnötig nach jeder ausgeruckten man-page ein Blatt 
> Papier in den Orkus wirft.
> 
> 2. Während des Ausdrucks erscheinen auf allen Terminals (1-6) bei allen
> eingeloggten usern (auch root) die folgende "Fehlermeldung" in
> regelmäßigen Abständen:
> 
> drivers/usb/class/ usblp.c: usblp0: off-line

Dein Druckprogramm (cupsd?) versucht einen Drucker an USB (lp0)
anzusprechen. Weil die Prioritaet fuer Meldungen an die Console recht
niedrig ist (/proc/sys/kernel/printk) wird sie auch dorthin geleitet.
Also Druckerprogramm konfigurieren oder printk (1. Eintrag)
hinaufsetzen. 

> Das stört latürnich ziemlich, insbesondere, wenn man gerade einen Text
> oder einen Befehl eingibt.
> 
> Wenn ich die Sache recht verstehe, sind das wohl Fehlermeldungen, die
> ich in eine Datei oder einfach nach NULL umlenken muss, und schon ist es
> wech das Problem. Nur habe ich auch nach längerem Grübeln keinerlei
> Ahnung, von welchen Programmen diese Meldungen stammen und was ich da
> umlenken muss.
> 
> Problem 1. konnte ich übrigens dadurch beseitigen, dass ich das script
> auf einen Tipp hin wie folgt änderte:
> 
> 
> #!/bin/bash
> 
> while [ $# -gt 0 ] 
> do
>    druckdatei=$1
>     man -Tps $druckdatei | lpr
>    shift
> done   
> 
> exit 0
> 
> Also scheint mir a2ps das Problem 1 zu verursachen. Allerdings bringt es
> mir nichts, wenn ich in der Pipe bei a2ps den Standardfehler umleite.
> 
> Was also mache ich falsch?

Hab leider kein a2ps, aber vielleicht biete es eine aehnliche Option
wie lpr -h.

> Ich benutze Debian Sarge mit Cups. Der Drucker ist ein HP business
> inkjet, der am usb Port angeschlossen ist.

Ist dort noch ein weiterer Drucker an USB konfiguriert? Versuch den
Drucker nochmal anzulegen, vermutlich war er mal am anderen Port und
cupsd hat sich ihn gemerkt. Geht sicher auch eleganter, aber ich weiss
nicht, wo da nachzusehen/was da zu loeschen ist.

sl ritch



Reply to: