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? Erika
xless verwendet den systemauruf vork(), wenn 'print' ausgewaehlt wird. Hierbei wird der Elternprozess quasi auf Halde geschoben, bis der erzeugte Kindprozess zurueckkehrt,bzw. endet. Der Kindprozess teilt sich zwar mit 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. Lösung: /home/erika/bin/antiword /tmp/MO3C8479B600501EA.doc >/tmp/<wasauchimmer>.doc xless /tmp/<wasauchimmer>.doc ... und print button druecken ... Jemand anderer Meinung? Gruß Daniel