2017-01-02 1 views
0

누군가에게 도움을 얻으 려하므로 나중에 무슨 일이 일어 났는지 검토 할 수 있도록 화면을 기록하고 싶습니다. 예전에 sshtee과 같이 사용했습니다. ssh [email protected] | tee recfile과 같은 녹음은 정상적으로 작동합니다. 서버에 byobu을 사용하는 경우에도 모든 간단한 파이프를 사용하여 기록됩니다.tee를 사용하여 전체 터미널 화면 기록하기

그러나 티브에 byobu 파이프를 연결하면 파일에 아무 것도 포함되지 않습니다. 나는 byobu | tee recfilebyobu |& tee recfile을 모두 사용했습니다. 두 경우 모두 byobu이 시작되고 잘 작동하지만 레코드 파일에는 byobu 세션에서 발생한 것과 관련이없는 몇 개의 행만 포함됩니다.

byobutmux을 사용합니다. tmuxtee으로도 파이프 변환하려고 시도했으며 출력 파일에는 [exited] 만 포함되었습니다.

제 질문은 tmux이 (가) 화면에 쓰는 방법입니다. 마치 표준 출력이나 표준 오류를 사용하지 않는 것 같습니다. 마치 tee이 화면 녹화 작업을 할 수 있습니다. tmux에게 표준 출력이나 표준 오류를 쓰라고 말할 수 있습니까? 또는 출력을 tee으로 리디렉션 할 다른 방법이 있습니까?


편집 : 나는 screen | tee recfilescreen |& tee recfile 빈 파일을 생성 할 것이라는 점을 확인. 또한 bash | tee recfile은 실행 된 명령의 출력을 파일로 리디렉션합니다 ([email protected]:~$의 입력 명령이 해당 파일에 없습니다). bash |& tee recfile은 bash ([email protected]:~$)의 프롬프트가 전혀 표시되지 않는다는 점을 제외하면 마찬가지입니다.

+3

당신이 당신의 세션을 기록하는'script'를 사용하려고 있나요? –

+0

'tmux'는 버퍼를 사용하므로 [이 해결 방법] (https://ricochen.wordpress.com/2011/04/07/capture-tmux-output-the-muchless-painful-way/)을 사용하여 tmux 세션을 파일에 저장하십시오. – F4240

+0

gtk GUI가있는'recordmydesktop' 도구를 사용하여 기록 할 특정 창을 선택할 수 있습니다. – Yokai

답변

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