Wie können Sie die Standardausgabe eines Terminals auf ein anderes spiegeln?

Wie können Sie die Standardausgabe eines Terminals auf ein anderes spiegeln?

Ich bin nicht sicher, ob ich die Frage richtig formuliere, aber nehmen wir an, ich habe zwei virtuelle Terminals geöffnet, und wenn ich lsin eines davon tippe, erhalte ich den Inhalt des Verzeichnisses inbeidedavon (das zweite muss nicht beschreibbar sein, es muss nur die Standardausgabe des ersten anzeigen). Wie kann ich das erreichen?

Antwort1

Wie Geekosaur erwähnt hat, screenwird es tun, was Sie brauchen (und noch viel, viel mehr).

Erstellen Sie zunächst der Einfachheit halber eine benannte Bildschirmsitzung in Ihrem ersten Terminal:

$ screen -S foo

Zweitens: Fügen Sie die Bildschirmsitzung in Ihrem zweiten Terminal hinzu:

$ screen -x foo

Antwort2

Sie können scripthierfür verwenden.

Wenn Sie beispielsweise Ihre gesamte Ausgabe kopieren möchten, /dev/tty1führen Sie Folgendes aus:

script -f /dev/tty1

Von da an wird alles, was Sie eingeben, und die gesamte Befehlsausgabe dupliziert /dev/tty1.
scriptstartet eine weitere Shell, sodass Sie, wenn Sie fertig sind, einfach „ exitto end“ eingeben können script.

Dies -fsoll die Ausgabe in Echtzeit ermöglichen. Andernfalls /dev/tty1wird die Ausgabe nur angezeigt, wenn eine vollständige Zeile angezeigt wird (wenn ein Newline-Zeichen in das TTY geschrieben wird).

Antwort3

Hängt davon ab, wonach Sie genau suchen. Eine einfache Lösung ist script(1); GNU screenim Multiattach-Modus ist eine elegantere Lösung.

verwandte Informationen