技術系ブログなどでコマンドラインの実行コマンドをキャプチャしてgifアニメーションにしてるような記事をよく見かける。
↓こんな感じの
あれ、カッコイイなーと思って調べてみたら、どうやらttyrecというものでできるそうなのでやってみた。
環境
- MacOS X 10.10.5 Yosemite
- ターミナル バージョン2.5.3(343.7)
iterm2じゃうまく動作しなかった…(これでむっちゃコケた…- iterm2でもうまく動作してくれました!(2018.12.25)
- ttygif
- sugyan/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 が入力されるまで記録
(最後にCtrl+Dを入力しています)
再生
ttyplay test.tty # ttyplay (保存したファイル名)
Gifアニメ化
ttygif -in test.tty -out test.gif # ttygif -in (入力ファイル名) -out (出力ファイル名)
この時に,ttygifコマンドを実行する画面の大きさでgifアニメーションが作成されるみたいです.
変なミスを避けるために録画するときの画面サイズに合わせておくほうが無難ですかね〜
まとめ
これからブログを書くときに積極的に使っていこうと思う^^
追記
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
Pingback: ターミナルを録画する(ttyrec+ttygif(Go言語版)) | たくのこ Web/話題/ノマドアンテナ