2017-01-02 4 views
0

Ich versuche, Hilfe von jemandem zu bekommen, also möchte ich meinen Bildschirm aufzeichnen, um später zu überprüfen, was passiert ist. Früher habe ich ssh mit tee wie ssh [email protected] | tee recfile verwendet und die Aufnahme funktioniert gut. Selbst wenn ich byobu auf dem Server verwende, wird alles mit dieser einfachen Pipe aufgezeichnet.Aufnahme ganzen Terminalbildschirm mit Tee

Aber wenn ich byobu selbst abzweigen, wird die Datei ziemlich nichts enthalten. Ich habe sowohl byobu | tee recfile als auch byobu |& tee recfile verwendet. In beiden Fällen startet und funktioniert byobu gut, aber die Aufnahmedatei enthält nur ein paar Zeilen, die nicht auf die Dinge in byobu Sitzung passiert.

Und byobu verwendet tmux. Ich habe versucht, auch tmux bis tee zu pipen, und die Ausgabedatei enthielt nur [exited].

Meine Frage ist, wie tmux schreibt auf den Bildschirm? Es scheint, dass es keine Standardausgabe oder Standardfehler verwendet, als ob es getan hätte, tee könnte die Aufnahme des Bildschirms arbeiten. Gibt es eine Möglichkeit zu sagen, tmux auf die Standardausgabe oder Standardfehler schreiben? Oder gibt es eine andere Möglichkeit, die Ausgabe an tee umzuleiten?


Edit: Ich habe, dass screen | tee recfile und screen |& tee recfile wird eine leere Datei erzeugen. Außerdem wird bash | tee recfile die Ausgabe der ausgeführten Befehle nur an die Datei umleiten ([email protected]:~$ und die Eingabebefehle sind nicht dort). bash |& tee recfile wird ebenfalls tun, außer dass die Eingabeaufforderung der bash ([email protected]:~$) überhaupt nicht angezeigt wird.

+3

Haben Sie versucht, verwenden 'script' Ihre Sitzung aufzeichnen? –

+0

'tmux' verwendet Puffer, so dass Sie [diese Problemumgehung] (https://ricochen.wordpress.com/2011/04/07/capture-tmux-output-the-much-less-painful-way/) verwenden können Speichern Sie Ihre tmux-Sitzung in einer Datei. – F4240

+0

Sie könnten das Werkzeug 'recordmydesktop' verwenden, das auch eine gtk GUI hat, mit der Sie bestimmte Fenster für die Aufnahme auswählen können. – Yokai

Antwort

0

Als gniourf_gniourf wies darauf hin, script löste mein Problem.

Ich schrieb auch einen einfachen C++ - Code, um die aufgenommene Datei abzuspielen. Kompilieren Sie es mit --std=c++11. (Ich benutze script -c byobu --timing=recfile.tim recfile zu und scriptout recfile recfile.tim 3 für die Wiedergabe aufzeichnen.)

https://gist.github.com/Shayan-To/672c77fbf9811d769d453c8a9b43747e