使用tee录制整个终端屏幕

时间:2017-01-02 10:03:48

标签: bash ssh tmux io-redirection byobu

我正在尝试从某人那里获得帮助,所以我想记录我的屏幕以便以后能够查看发生的事情。以前,我使用sshtee ssh user@server | tee recfile一样,录音效果很好。即使我在服务器上使用byobu,也会使用该简单管道记录所有内容。

但是当我将byobu本身传送到T恤时,该文件将包含任何内容。我使用了byobu | tee recfilebyobu |& tee recfile。在这两种情况下,byobu启动并运行良好,但记录文件只包含与byobu会话中发生的事情无关的几行。

byobu使用tmux。我也尝试将tmux传递给tee,输出文件只包含[exited]

我的问题是tmux如何写入屏幕?它似乎没有使用标准输出或标准错误,就像它一样,tee可以记录屏幕。有没有办法告诉tmux写入标准输出或标准错误?或者是否有另一种方法将输出重定向到tee

编辑:我检查过screen | tee recfilescreen |& tee recfile会生成一个空文件。此外,bash | tee recfile仅将已执行命令的输出重定向到文件(user@name:~$,并且输入命令不在那里)。除了根本不显示bash(bash |& tee recfile)的提示外,user@name:~$也会这样做。

1 个答案:

答案 0 :(得分:0)

正如gniourf_gniourf所指出的那样,script解决了我的问题。

我还写了一个简单的C ++代码来播放录制的文件。用--std=c++11编译它。 (我使用script -c byobu --timing=recfile.tim recfile进行录制,scriptout recfile recfile.tim 3进行播放。)

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