Terminalizer § Terminal (終端機) 錄影工具,可匯出GIF動態檔


Terminalizer 」是一款專門用來錄製Terminal視窗的小工具,它可以把你在上面的每個操作錄製成GIF圖檔,進而與他人分享,這在製作教學文或者想呈現資訊給他人時都是一種還不錯的選擇,我個人用這套工具的時間也不久,因此,只能分享一些基本的使用方式給有需要的人或入門的新手,如果各位有更進階或推薦的用法,那麼歡迎留言交流,互相學習進步的才會快。

terminalizer 指令列表

(圖片取自官網)

網址:Terminalizer官網

Terminalizer 安裝篇

以Mac OS為例

官方文件有不同OS的安裝方式,這次的教學將以Mac OS來作為示範,安裝Terminalizer的指令只有一行,如下:

npm install -g terminalizer

PS:先決條件是你已經有安裝「NPM」了,沒有安裝的人可以先上網找安裝方式,這部分的相關資料非常多

Terminalizer 入門教學

目前Terminalizer的操作方式都是以指令為主,只要使用 terminalizer -h 即可查看有哪些指令可以使用,如下圖所示:

terminalizer 指令列表

但事實上,發現其實這裡面還有蠻多指令官方尚未實作,不過沒關係,不影響主要的功能,接下來本文將先介紹入門新手最基本的三個指令,學會了這三個基本操作,就可以建立Terminal的GIF動態圖檔

1. 開始錄製 (record)

第一,我們要知道如何錄製影片,指令如下:

terminalizer record mydemo

其中,「terminalizer」、「record」是關鍵字不能變更,而「mydemo」是自訂的名稱,即給這個錄製檔一個檔名。執行完指令後,就會開始錄製我們在Terminal上的一舉一動,當要停止錄製時請利用 CTRL + D 這個熱鍵來停止,由下圖就可以看到大致上的步驟: 下錄製指令, 開始執行想要錄製的操作,例如我想印出一段文字 看到我印出的文字後,此時就可以按「CTRL + D」離開

terminalizer 錄製教學

停止後會出現一些叫我們輸入標題、描述、標籤等項目,這就看你的需求而定,我通常是直接再按一次CTRL + D直接離開

terminalizer 停止錄製

2. 播放 (play)

錄製完成後可以利用以下指令來試播錄製的結果:

terminalizer play mydemo

3. 製檔成GIF (render)

如果試播後沒有問題,那麼最後一步就是將檔案轉成GIF圖檔:

terminalizer render mydemo

預設產生出來的GIF檔會在當前的目錄下,而且目前沒有支援壓縮的功能,所以官方建議可以利用線上GIF的壓縮工具「GIF Compressor」來進行壓縮。

Terminalizer 進階說明

以上的教學是最基本的用法,如果沒有什特別的需求,基本上只要會上面提到幾個指令就可以搞定了,而這裡則是要提一些比較進階的用法,一些有特別需求的人可能會用到,我建議大家可以照下面的順序耐心看完,這樣就比較容易了解每個指令的用途。

1. 初始化組態檔

會根據你的OS狀況建立一個全域組態檔config.yml,以個人是蠻建議先使用這個指令,來替自己得環境建置一個通用的組態檔,指令如下:

terminalizer init

組態檔產生的位置會因為OS不同而異,Mac的組態檔會放置在~/.terminalizer目錄下,而Windows的則會產生在AppData目錄,這裡有官方的說明。

2. 複製組態檔

簡單的來說,這個指令可以由terminalizer init建立的組態檔複製到目前的目錄下,這樣的後續就可以透過編輯這個檔案,並利用-c這個參數來使用組態檔,這會影響最後產生出來GIF錄製結果,指令如下:

terminalizer config

3. 支援ZSH Shell

預設的組態檔中是支援Linux的Shellbash -l,如果你像我一樣是用Mac且Shell是ZSH的話,那麼就要更改組態檔中的值,官方已有蠻詳細的說明,我整理如下:

複製組態檔

先複製一份config.yml到目前的目錄

terminalizer config

修改command值

將config.yml中的command值改成zsh

command: zsh

修正字型檔

把字型改成你ZSH用的字型(Powerline),以下字型只是個範例,你要換成你自己的,設定好後就可以存檔離開

fontFamily: “Meslo for Powerline, Meslo LG M for Powerline”

使用新的組態檔錄製

用修改後的config.yml檔配合參數-c來錄製Terminal畫面,由此可知,利用config.yml即可對要錄製的畫面做一些客製化設定,算是本文最精華的部分了,大家一定要學會這個用法,以後只要能再對config.yml的設定更了解,就可以錄製出更出色的結果

terminalizer record mydemo -c config.yml

4. 變更Terminal的錄製外框

由上面的說明可以知道組態檔的設定才是影響錄製結果最重要的部分,我們也可以利用frameBox的修改來變更錄製的外框,官方Frame Box文件有很多的範例說明,主要就是修改frameBox中的typetitlestyle等值,大家可以配合官方文件一個一個測試,會比較有感覺,這裡就不再舉例。

下圖就是實際錄製的一段結果,供大家參考:
terminalizer 指令列表

小結:由上面的說明可以知道,組態檔config.yml的設定非常重要,例如如果想要加浮水印,也是可以透過組態檔的修改來達成,大家可以多研究看看;另外,除了Terminalizer之外,還有一款類似的工具「Asciinema」我也注意很久了,有需求的人可以比較看看這二者有何不同,也歡迎大家留言討論。

推薦閱讀:
GifCam § GIF動態檔格式的螢幕錄影工具,支援簡易編輯