如何在Linux上錄制你的終端操作
錄制一個(gè)終端操作可能是一個(gè)幫助他人學(xué)習(xí) Linux 、展示一系列正確命令行操作的和分享知識(shí)的通俗易懂方法。不管是出于什么目的,從終端復(fù)制粘貼文本需要重復(fù)很多次,而錄制視頻的過(guò)程也是相當(dāng)麻煩,有時(shí)候還不能錄制。在這次的文章中,我們將簡(jiǎn)單的了解一下以 gif 格式記錄和分享終端會(huì)話的方法。
預(yù)先要求
如果你只是希望能記錄你的終端會(huì)話,并且能在終端進(jìn)行回放或者和他人分享,那么你只需要一個(gè)叫做:ttyrec 的軟件。Ubuntu 用戶可以通過(guò)運(yùn)行這行代碼進(jìn)行安裝:
- sudo apt-get install ttyrec
如果你想將生成的視頻轉(zhuǎn)換成一個(gè) gif 文件,這樣能夠和那些不使用終端的人分享,就可以發(fā)布到網(wǎng)站上去,或者你只是想做一個(gè) gif 方便使用而不想寫命令。那么你需要安裝額外的兩個(gè)軟件包。***個(gè)就是 imagemagick , 你可以通過(guò)以下的命令安裝:
sudo apt-get install imagemagick
- sudo apt-get install imagemagick
第二個(gè)軟件包就是:tty2gif.py,訪問其項(xiàng)目網(wǎng)站下載。這個(gè)軟件包需要安裝如下依賴:
- sudo apt-get install python-opster
錄制
開始錄制終端操作,你需要的僅僅是鍵入 ttyprec ,然后回車。這個(gè)命令將會(huì)在后臺(tái)運(yùn)行一個(gè)實(shí)時(shí)的記錄工具。我們可以通過(guò)鍵入exit或者ctrl+d來(lái)停止。ttyrec 默認(rèn)會(huì)在主目錄下創(chuàng)建一個(gè)ttyrecord的文件。



回放
回放這個(gè)文件非常簡(jiǎn)單。你只需要打開終端并且使用 ttyplay 命令打開 ttyrecord 文件即可。(在這個(gè)例子里,我們使用 ttyrecord 作為文件名,當(dāng)然,你也可以改成你用的文件名)

然后就可以開始播放這個(gè)文件。這個(gè)視頻記錄了所有的操作,包括你的刪除,修改。這看起來(lái)像一個(gè)擁有自我意識(shí)的終端,但是這個(gè)命令執(zhí)行的過(guò)程并不是只是為了給系統(tǒng)看,而是為了更好的展現(xiàn)給人。
注意一點(diǎn),播放這個(gè)記錄是完全可控的,你可以通過(guò)點(diǎn)擊 + 或者 - 進(jìn)行加速減速,或者 0和 1 暫停和恢復(fù)播放。
導(dǎo)出成 GIF
為了方便,我們通常會(huì)將視頻記錄轉(zhuǎn)換為 gif 格式,并且,這個(gè)非常容易做到。以下是方法:
將之前下載的 tty2gif.py 這個(gè)文件拷貝到 ttyprecord 文件(或者你命名的那個(gè)視頻文件)相同的目錄,然后在這個(gè)目錄下打開終端,輸入命令:
- python tty2gif.py typing ttyrecord
如果出現(xiàn)了錯(cuò)誤,檢查一下你是否有安裝 python-opster 包。如果還是有錯(cuò)誤,使用如下命令進(jìn)行排除。
- sudo apt-get install xdotoolexport WINDOWID=$(xdotool getwindowfocus)
然后重復(fù)這個(gè)命令 python tty2gif.py 并且你將會(huì)看到在 ttyrecord 目錄下多了一些 gif 文件。

接下來(lái)的一步就是整合所有的 gif 文件,將他打包成一個(gè) gif 文件。我們通過(guò)使用 imagemagick 工具。輸入下列命令:
- convert -delay 25 -loop 0 *.gif example.gif

你可以使用任意的文件名,我用的是 example.gif。 并且,你可以改變這個(gè)延時(shí)和循環(huán)時(shí)間。 Enjoy。
via:https://www.howtoforge.com/tutorial/how-to-record-your-terminal-session-on-linux/
作者:Bill Toulas 譯者:MikeCoder 校對(duì):wxy
本文由 LCTT 原創(chuàng)編譯,Linux中國(guó) 榮譽(yù)推出

























