PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : stderr über ncurses darstellen



gooze
09-07-2008, 09:36
Hallo,

gibt es eine einfache Möglichkeit den stderr Kanal in einem ncurses Terminal darzustellen?
Möchte das aber nicht über eine Datei lösen in die stderr schreibt und die ncurses Anwendung diese wiederum liest.

Bela

gooze
10-07-2008, 21:22
Ist das zu trivial oder hat da keiner eine Idee zu?

jan61
11-07-2008, 19:52
Moin,


Ist das zu trivial oder hat da keiner eine Idee zu?

wahrscheinlich kann mit Deiner Frage keiner was anfangen. Meine Glaskugel ist auch gerade beim TÜV, deshalb rate ich mal: Du hast irgendein Programm, das ab und zu irgendwas auf stderr ausgibt? Dann hast Du irgendein ncurses-basiertes Programm, in dem Du irgendwas mit diesen Ausgaben anfangen willst? Jetzt meine "Lösung" dazu:
irgendein_programm 2>&1 | irgendein_ncurses_programmWenn Du zum Problem passende Antworten haben willst, dann solltest Du das Problem auch so beschreiben, dass wir zumindest ahnen können, was das Problem eigentlich ist.

Jan

gooze
15-07-2008, 13:04
Hallo Jan,


Wenn Du zum Problem passende Antworten haben willst, dann solltest Du das Problem auch so beschreiben, dass wir zumindest ahnen können, was das Problem eigentlich ist.

Habe ich doch. Ich habe dazu aber noch kein konkretes Programm. Daher kann ich es hier nicht reinorakeln. Dazu fehlen auch mir hier die hellseherischen Fähigkeiten.
Nein, aber mal Spass beiseite. :)

Daher noch einmal ein wenig genauer:
Wenn ich mir eine Anwendung erstelle in der z.B. mehrere ncurses Fenster dargestellt werden und diese auf der Konsole ausführe, dann werden mir Ausgaben aus dem stderr oder stdout Kanal diese (ncurses)Fenster zerstören. Nun suche ich einen Trick mit dem ich diese std... Ausgaben so umleiten kann, dass das Layout vom Fenster nicht zertstört wird, ich aber trotzdem Fehlermeldungen im (ncurses)Fenster sichtbar machen kann.
Da suche ich eine Lösung.

Und ich meine nichts anderes im ersten Posting beschrieben zu haben.
Tut mir leid noch nichts codemäßiges zeigen zu können, aber ich mache mir immer gern vor dem Programmieren Gedanken wie ich etwas realisiere. Hat mir schon die ein oder andere Stunde an Korrekturen und Neuanpassungen gespart.

gooze

jan61
15-07-2008, 17:32
Moin,

woher sollen denn die stderr-/stdout-Ausgaben kommen? Meinst Du andere (unabhängig von Deinem ncurses-Programm laufende) Programme, die z. B. nach /dev/console schreiben?

Hm, der ist IMHO der beste Weg, eine andere Konsole zu nutzen. Vielleicht kannst Du auch direkt das Device zum Lesen öffnen und alles, was darüber rein kommt, abfangen (müsste dann aber nicht blockierend sein). Wie das möglich ist und was das für einen Aufwand bedeutet, kann ich Dir aber so aus dem Hut auch nicht sagen.

Jan