asciinema 로 WSL 터미널을 녹화하기


asciinema 는 python 으로 작성된 terminal 녹화 및 플레이 프로그램입니다.


OS X, Linux 를 지원하며 개발 환경 설정이나 shell 명령어등을 강의할 때 간편하게 녹화하고 업로드할 수 있습니다.


Windows 에는 linux 같은 pty 기능이 제공되지 않아서 개인적으로는 잘 사용하지 않았는데 WSL 2가 나온후에 WSL 2 에 설치한 Ubuntu 에서 다시 실행해 보니 아주 잘 동작합니다.


이제 자료 작성시에 터미널 화면을 녹화할 일이 있으면 캡춰대신 asciinema로 녹화해서 올릴까 합니다.


사용하기

설치는 아주 간단하며 python 의 의존성 관리자인 pip 로 설치해 주면 됩니다.

pip install asciinema 


녹화 & 종료

이제 asciinema rec 명령을 실행하면 local 에 녹화 파일을 저장한다는 메시지와 함께 Ctrl-d 또는 exit 를 치면 녹화가 종료된다고 알려줍니다.

asciinema 녹화
$ asciinema rec

asciinema: recording asciicast to /tmp/tmp98nfavzj-ascii.cast
asciinema: press <ctrl-d> or type "exit" when you're done


exit 나 Ctrl-d 를 입력하면 녹화를 종료한다는 메시지와 함께 asciinema.org 에 업로드할지를 물어보는데 Enter 를 입력하면 업로드됩니다.

asciinema 녹화 종료
$ exit

asciinema: recording finished
asciinema: press <enter> to upload to asciinema.org, <ctrl-c> to save locally


Title 주기

업로드하면 기본적으로 제목이 untitled 로 붙게 됩니다. -t 옵션으로 제목을 지정하면 녹화가 끝나면 자동으로 지정한 제목을 붙여서 업로드합니다. 

asciinema 제목 지정 및 자동 업로드
$ asciinema rec -t "My linux tutorial"


local 에 저장

마지막 옵션으로 파일명을 주고 실행하면 로컬에 저장하고 업로드를 하지 않습니다. 다음은 my-demo.cast 파일에 터미널 내용을 녹화합니다.

asciinema local 에 저장
$  asciinema rec my-demo.cast


local 에 녹화한 파일은 play 명령으로 상영해 볼수 있습니다.

$  asciinema play my-demo.cast


개인 계정 연결

개인 계정에 업로드하고 싶을 경우 asciinema auth 을 실행하면 URL 을 하나 알려주는데 브라우저도 asciinema.org 에 로그인한후에 이 URL에 연결하면 업로드한 영상이 자동으로 개인 계정과 연결됩니다.

asciinema 녹화 종료
$ asciinema auth

Open the following URL in a web browser to link your install ID with your asciinema.org user account:

https://asciinema.org/connect/935d5bba-xxxx-xxxxx

This will associate all recordings uploaded from this machine (past and future ones) to your account, and allow you to manage them (change title/theme, delete) at asciinema.org.




Ref