리눅스 터미널 입출력을 녹화하기

파이썬 기반의 CLI로 asciicinema가 있다.

설치

python3 -m pip install asciinema

​ 만약 python3가 설치되어 있지 않다면 먼저 설치해야 한다. (비단 코딩 목적뿐만이 아니라 여러 유용한 유틸리티를 사용하려면 리눅스에서 파이썬은 필수)

설치 후 해당 바이너리를 찾지 못하는 문제가 있을 수 있는데 이는 경로 문제 때문이다. pip으로 설치하는 바이너리들은 ~/.local/bin에 설치된다. 이 경로를 path에 추가해줘야 한다.

녹화

녹화는 간단하다. 명령을 입력할 때 rec 아규먼트만 추가하면 된다.

asciinema rec 해당파일명.cast

​ 이 다음부터 입출력되는 모든 텍스트는 녹화되며 <ctrl-d> 혹은 “exit”를 입력하면 녹화가 중지된다.

재생하기

재생도 간단하다. 명령을 입력할 때 play 아규먼트와 파일명만 추가하면 된다.

asciinema play 해당파일명.cast

부록 - 녹화 파일을 gif로 변환하기

agg - asciinema gif generator를 사용하면 쉽게 gif로 변환 가능하다

설치

agg 깃헙의 release에서 본인 아키텍쳐에 맞는 실행 바이너리를 다운로드한다. (리눅스용은 agg-x86_64-unknown-linux-gnu이다)

실행

해당 명령어의 아규먼트로 입력 파일명과 출력파일명만 넘겨주면 변환된다.

agg 해당파일명.cast 해당파일명.gif 

샘플

htop btop

부록의 부록

  • https://ezgif.com/crop : 애니메이션 gif의 시작과 끝의 불필요한 녹화내용을 제거할 때 유용하다