* D.Wolpert schrieb am 05.Mär.2002:
Erika Mannheim wrote:
Es gibt in XLESS einen Button: print.
wenn ich nun Xless in einer Pipe aufrufe, zb. so:
"/home/erika/bin/antiword /tmp/MO3C8479B600501EA.doc |/usr/X11R6/bin/xless"
wird mir im Xtermfenster ein doc-Dokument angezeigt. Wenn ich nun besagten Button "Print" betätige, bekomme ich eine Fehlermeldung: /usr/bin/lpr: cannot access stdin.
Warum? Und was kann ich dagegen tun?
xless verwendet den systemauruf vork(), wenn 'print' ausgewaehlt wird.
Äh, Du meinst fork(), fork wie Gabel.
Hierbei wird der Elternprozess quasi auf Halde geschoben, bis der erzeugte
Hä? Nein. Der Prozeß wird kopiert und existiert zweimal. Einmal als Elterprozeß und einmal als Kindprozeß.
Kindprozess zurueckkehrt,bzw. endet. Der Kindprozess teilt sich zwar mit
Bis der Kernel seine Arbeit erledigt hat, aber das gilt immer.
dem Elternprozess unter anderem die geoeffneten descriptoren... doch ist stdin, wovon der Elternprozess zuerst las nunmehr lehr. Somit erhaelt lpr, das von stdin lesen will,wenn es keinen Dateinamen als Argument erhaelt, keine verwertbaren Daten und bricht ab.
Hm, was ist wenn man eine lange Datei mit xless anschaut, aber nicht alles, sondern nur den Anfang und dann print macht? Dann dürfte noch nicht alles von xless ausgelesen sein.
Lösung: /home/erika/bin/antiword /tmp/MO3C8479B600501EA.doc >/tmp/<wasauchimmer>.doc xless /tmp/<wasauchimmer>.doc ... und print button druecken ...
Aber mit less funktioniert es auch so, oder? Bernd -- Hast Du bei Problemen schon in der SuSE-Support-Datenbank (SDB) nachgesehen? Auf Deinem Rechner: http://localhost/doc/sdb/de/html/index.html | mit Apache: http://localhost/doc/sdb/de/html/key_form.html | Zufalls- Tagesaktuell bei SuSE: http://sdb.suse.de/sdb/de/html/index.html | signatur 2