Hi Experten,
ich bin auf der Suche nach einer Lösung zu einem eigentlich kleinen Problem. Es kommt immer mal wieder vor, dass ich andere User auf diversen *ix-Systemen einweisen muss. Diese schauen mir dann über die Schulter, würden aber die Ausgaben meiner Shell - meistens ksh - natürlich lieber auf ihrer eigenen Console sehen.
Wie kann ich am besten meine Ausgaben (STDOUT / STDERR und ggf. das lokale Echo von STDIN) auf dem anderen (Pseudo)Terminal mitanzeigen lassen?
Bisher folgende Ideen:
-
die Ausgaben ‚meiner‘ Shell gleichzeitig auf die andere Session pipen (in etwa so:
ksh 2>&1 | tee -a >/dev/pts/xxx
) – ich habe auf das Device natürlich Schreibrechte, weil wir unter derselben Userkennung angemeldet sind…
==> ist nicht so schön, meine Eingaben werden nicht in der anderen Session ausgegeben, außerdem schreibt ‚tee‘ das File bzw. Pseudoterminaldevice nur blockweise voll, die Ausgabe laeuft also immer sehr zeitversetzt hinterher.
- meine Session mit dem script-Kommando aufzeichnen und auf der der anderen Seite ausgeben…
==> gleicher Effekt, Ausgabe erfolgt zeitversetzt (weil blockweise geschrieben wird), außerdem ist die Datei mit Steuerzeichen vollgemüllt (nett zu erfahren, wie die Shell den Cursor positioniert und Zeichen über VT…-Escapesequenzen loescht, das interessiert mich in dem Fall jedoch wenig)
Mein Idee: man müßte die Kanäle 1 & 2 nur ECHT verdoppeln (nach dem Motto ‚bilde einen neuen Ausgabekanal mit der Nummer 5‘ und leite alles was an 1 - sprich STDOUT - geht, gleichzeitig auch an diesen Kanal), und dann diesen Ausgabekanal auf das Pseudoterminal des anderen Users umleiten (STDERR analog).
Habt ihr vielleicht eine Idee, wie ich sowas anstellen kann?
Gruß
bernhard