모든 터미널 세션을 자동으로 녹음하려면 어떻게 해야 하나요?

모든 터미널 세션을 자동으로 녹음하려면 어떻게 해야 하나요?

나는 일반적이고 일반적인 관리 목적으로 그리고 때로는 포괄적인 연구/수정을 위해 xterm(예: / ) 세션을 기록하고 검토하기 위해 , 및 history같은 도구를 사용하는 것을 좋아합니다. 학습 도구로.scriptasciinemabashsh

  • $SHELL다음과 같이 해당 도구 및/또는 명령에 대한 직접 경로로 기본값을 설정하려고 생각했습니다 .

    • /bin/script transcript.log;
    • /bin/asciinema rec -w0.5 term_log.json;
  • 그러나 이러한 도구는 일반적으로 기본 $SHELL세트(예 /bin/bash: /bin/sh, /bin/zsh, 등)에 의존합니다.

  • $SHELL또한 시스템 변수(예 : , 등) 를 다시 정의 하거나 구성( ) 및 도트( / ) 파일을 $TERM사용하여 작동시키려는 것은 모든 종류의 구멍과 잠재적인 문제로 가득 차 있을 것 같습니다.*.conf~/.bashrc~/.bash_profile

  • 그러나 세션의 기록을 원한다고 결정하거나 깨달을 때마다 그것은 사실 이후이거나 흥미로운 부분을 이미 절반쯤 진행했거나 그러한 시나리오입니다.

stdin모든 것(바람직하게 는 stdout( stderr해당되는 경우) 등)을 자동으로 기록하도록 이와 같은 것을 설정하는 올바른 방법 또는 모범 사례는 무엇입니까 ?

답변1

다음과 같은 것이 귀하에게 도움이 될 수 있습니다 .bash_profile..bashrc

if test -t 0 -a -t 1 -a -z "$SCRIPTING"
then
    export SCRIPTING="$HOME/.script.$(date +%Y%m%d_%H%M%S).$$)"
    exec script "$SCRIPTING"
fi

관련 정보