錄製一個終端操作可能是一個幫助他人學習 Linux 、展示一系列正確命令列操作的和分享知識的通俗易懂方法。不管是出於什麼目的,從終端複製貼上文字需要重複很多次,而錄製視訊的過程也是相當麻煩,有時候還不能錄製。在這次的文章中,我們將簡單的瞭解一下以 gif 格式記錄和分享終端會話的方法。
預先要求
如果你只是希望能記錄你的終端會話,並且能在終端進行回放或者和他人分享,那麼你只需要一個叫做:ttyrec 的軟體。Ubuntu 使用者可以通過執行這行程式碼進行安裝:
1 |
sudo apt-get install ttyrec |
如果你想將生成的視訊轉換成一個 gif 檔案,這樣能夠和那些不使用終端的人分享,就可以釋出到網站上去,或者你只是想做一個 gif 方便使用而不想寫命令。那麼你需要安裝額外的兩個軟體包。第一個就是 imagemagick , 你可以通過以下的命令安裝:
1 |
sudo apt-get install imagemagick |
第二個軟體包就是:tty2gif.py,訪問其專案網站下載。這個軟體包需要安裝如下依賴:
1 |
sudo apt-get install python-opster |
錄製
開始錄製終端操作,你需要的僅僅是鍵入 ttyprec
,然後回車。這個命令將會在後臺執行一個實時的記錄工具。我們可以通過鍵入exit
或者ctrl+d
來停止。ttyrec 預設會在主目錄下建立一個ttyrecord
的檔案。
回放
回放這個檔案非常簡單。你只需要開啟終端並且使用 ttyplay
命令開啟 ttyrecord
檔案即可。(在這個例子裡,我們使用 ttyrecord 作為檔名,當然,你也可以改成你用的檔名)
然後就可以開始播放這個檔案。這個視訊記錄了所有的操作,包括你的刪除,修改。這看起來像一個擁有自我意識的終端,但是這個命令執行的過程並不是只是為了給系統看,而是為了更好的展現給人。
注意一點,播放這個記錄是完全可控的,你可以通過點選 +
或者 -
進行加速減速,或者 0
和 1
暫停和恢復播放。
匯出成 GIF
為了方便,我們通常會將視訊記錄轉換為 gif 格式,並且,這個非常容易做到。以下是方法:
將之前下載的 tty2gif.py 這個檔案拷貝到 ttyprecord 檔案(或者你命名的那個視訊檔案)相同的目錄,然後在這個目錄下開啟終端,輸入命令:
1 |
python tty2gif.py typing ttyrecord |
如果出現了錯誤,檢查一下你是否有安裝 python-opster 包。如果還是有錯誤,使用如下命令進行排除。
1 2 |
sudo apt-get install xdotool export WINDOWID=$(xdotool getwindowfocus) |
然後重複這個命令 python tty2gif.py
並且你將會看到在 ttyrecord 目錄下多了一些 gif 檔案。
接下來的一步就是整合所有的 gif 檔案,將他打包成一個 gif 檔案。我們通過使用 imagemagick 工具。輸入下列命令:
1 |
convert -delay 25 -loop 0 *.gif example.gif |
你可以使用任意的檔名,我用的是 example.gif。 並且,你可以改變這個延時和迴圈時間。 Enjoy。