ターミナルを録画する(ttyrec+ttygif(Go言語版))

技術系ブログなどでコマンドラインの実行コマンドをキャプチャしてgifアニメーションにしてるような記事をよく見かける。

↓こんな感じの

test

あれ、カッコイイなーと思って調べてみたら、どうやらttyrecというものでできるそうなのでやってみた。

環境

  • MacOS X 10.10.5 Yosemite
  • ターミナル バージョン2.5.3(343.7)
    • iterm2じゃうまく動作しなかった… (これでむっちゃコケた…
    • iterm2でもうまく動作してくれました!(2018.12.25)
  • ttygif

インストール

# ttyrecは入力された文字を記録・再生するためのツール
brew install ttyrec
# 録画したttyファイルからgifアニメーションを生成するためのツール
# go言語で作成されているため、goもインストールする。
brew install go
go get github.com/sugyan/ttygif
# ここで$GOPATHが設定されていないとこんな感じに怒られる
# package github.com/sugyan/ttygif: cannot download, $GOPATH not set. For more details see: go help gopath
$GOPATHの設定

.zshrc(など自分の環境にあった場所)に$GOPATHについての設定を記述

# GOの設定
export GOPATH=$HOME/Mybin/go-local
# GOPATHにはgoからインストールした実行ファイルが置かれたりするっぽい
# Mybinは適当に自分でディレクトリ作成して..
export PATH=$PATH:$GOPATH/bin

再び、ttygifのインストールコマンド

go get github.com/sugyan/ttygif
# 先ほど指定したGOPATHにgo-localディレクトリが作成され,中のbinに実行ファイルが置かれる
which ttygif
# $(GOPATHの場所/go-local)/bin/ttygif

今度はうまくいったっぽい♪

録画
ttyrec test.tty
# ttyrec (保存ファイル名)
# 録画したいコマンドを入力
exit
# exit or Ctrl+D が入力されるまで記録
test_1

(最後にCtrl+Dを入力しています)

再生
ttyplay test.tty
# ttyplay (保存したファイル名)
test_2

Gifアニメ化

ttygif -in test.tty -out test.gif
# ttygif -in (入力ファイル名) -out (出力ファイル名)

この時に,ttygifコマンドを実行する画面の大きさでgifアニメーションが作成されるみたいです.

変なミスを避けるために録画するときの画面サイズに合わせておくほうが無難ですかね〜

test_3

まとめ

これからブログを書くときに積極的に使っていこうと思う^^

sl
 
追記

2018.12.25
iterm2でも、VT100の互換モードを使えばうまくいくのでは?とのアドバイスを頂いたので試してみようと久々に環境を整えて実行してみたところ…
何もせずにiterm2でもうまく録画してgifアニメの出力までできました。。以前できなかったのはなんでじゃろう…。

参考サイト

ttygifでターミナル操作ログのgifアニメ化 |  http://qiita.com/marujiruo/items/515da775552fc82ce662

Macでgo言語開発環境を作る | http://qiita.com/puttyo_bubu/items/4e60e42ff041f2474428

Mac OS X で Golang に入門してみる[CUBE SUGAR CONTAINER] | http://blog.amedama.jp/entry/2015/10/06/231038

One thought on “ターミナルを録画する(ttyrec+ttygif(Go言語版))

  1. Pingback: ターミナルを録画する(ttyrec+ttygif(Go言語版)) | たくのこ Web/話題/ノマドアンテナ

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください