2년 정도 전에 codestre.am : 터미널을 녹화해서 공유하는 사이트라는 글을 쓴 적이 있다. 터미널에서 어떤 작업을 한 내용을 그대로 녹화해서 공유하는 서비스이다. 터미널을 다 텍스트이므로 작업한 내용을 그대로 복사해서 신텍스 하이라이트만 적용해서 공유해도 거의 이해가 가능하지만 완료된 결과 화면이므로 처음 보는 사람이 보기가 어렵기도 하다. 그래서 codestre.am은 터미널의 실행된 입력과 출력을 그대로 녹화해서 동영상처럼 재생해 주는 서비스인데 잠시 운영하다가 문을 닫아버렸다.
asciinema
asciinema는 codestre.am과 같은 개념의 서비스로 터미널을 녹화한 뒤에 이를 공유하고 사람들은 asciinema에서 재생해 볼 수 있다는 점이다. 그냥 동영상 녹화와 다른 점은 화면 녹화가 아니라 터미널의 입력과 출력을 그대로 녹화한 뒤에 재생하는 것이라서 텍스트를 재생 중에 복사하거나 하는 등이 가능하다.
설치
asciinema는 Linux와 Mac OS X만 지원하는데 다음 스크립트를 실행하면 바로 설치할 수 있다.
$ curl -sL https://asciinema.org/install | sh
Downloading asciinema v0.9.9 for darwin-amd64...
######################################################################## 100.0%
Installing to /Users/outsider/bin/asciinema...
Success.
Start recording your terminal by running: asciinema rec
녹화하고 공유를 하려면 asciinema에 등록을 해야 한다. asciinema 사이트에 가입을 하고 아래처럼 asciinema auth
를 입력하면 토큰을 등록할 수 있는 URL이 열리고 이를 웹 브라우저에서 열면 자신의 계정에 토큰이 등록된다. 이 토큰은 ~/.asciinema/config
파일 안에 등록되고 해당 API 토큰으로 녹화한 내용을 공유하면 자신의 계정으로 등록된다.
$ asciinema auth
Open the following URL in your browser to register your API token and assign any recorded asciicasts to your profile:
https://asciinema.org/connect/YOUR-API-TOKEN
녹화
설치가 완료되었으니 이제 녹화를 해보자.
$ asciinema rec
~ Asciicast recording started.
~ Hit Ctrl-D or type "exit" to finish.
bash-3.2$
터미널에서 asciinema rec
를 입력하면 새로운 셀이 열리면서 녹화가 시작된다. 원하는 명령어를 사용한 뒤에 exit
를 입력하거나 Ctrl-D
를 입력하면 다음과 같이 종료되면서 녹화내용을 삭제할지 업로드할 지를 묻는다. 업로드하면 잠시 시간이 걸린 뒤에 업로드 URL이 출력된다.
bash-3.2$ exit
~ Asciicast recording finished.
~ Press <Enter> to upload, <Ctrl-C> to cancel.
https://asciinema.org/a/15035
$
위 화면은 git stash를 사용하는 방법을 간단히 녹화한 내용이다. 명령어 실행 중 머뭇거리거나 수정한 부분도 다 녹화가 되므로 공유용이라면 연습을 해서 녹화하는 게 좋다.
Asciinema 사이트에서 수정해서 제목과 설명을 작성할 수 있고 Tango, Solarized Dark, Solarized Light 중에서 테마도 바꿔 줄 수 있다.
다음 팟플레이어도 이런거 잘되어 있는듯도 하던데...ㅋ
실제로 써본적은 없어서;;;;; 잘은 모르겠네요.
방송용으로 많이 쓰는거보면 화면캡쳐는 잘 잡아내서 영상으로 만들어주는듯 합니다.
글 중간에 보시면 아시겠지만 이건 화면을 녹화하는게 아니라 터미널의 동작을 녹화하는 겁니다.
"텍스트를 재생 중에 복사하거나 하는 등이 가능하다."
아;;; 너무 대충 읽었군요ㅋ. 여기 동영상에서도 텍스트 긁어지네요 =ㅇ=;;;;; 신기하당.