將 Linux 終端會話錄製成 SVG 動畫

將 Linux 終端會話錄製成 SVG 動畫

編譯自: https://www.ostechnix.com/how-to-record-terminal-sessions-as-svg-animations-in-linux/

錄製終端會話可以滿足我們不同類型的需求。通過錄制終端會話,你可以完整記錄你在終端中執行的操作,將其保存以供後續參考。通過錄制終端會話,你還可以向青少年、學生或其它打算學習 Linux 的人展示各種 Linux 命令及其用例。值得慶幸的是,市面上已經有不少工具,可以幫助我們在類 Unix 操作系統下錄製終端會話。我們已經介紹過一些可以幫助你錄製終端會話的工具,可以在下面的鏈接中找到。

  • 如何錄製你在終端中的所作所為
  • Asciinema – 錄製終端會話並在網上分享

今天,我們要介紹另一款錄製終端操作的工具,名字叫做 Termtosvg。從名字可以看出,Termtosvg 將你的終端會話錄製成一個單獨的 SVG 動畫。它是一款簡單的命令行工具,使用 Python 語言編寫,可以生成輕量級、外觀整潔的動畫,可以嵌入到網頁項目中。Termtosvg 支持自定義 色彩主題(color themes)、終端 UI,還可以通過 SVG 模板 完成動畫控制。它兼容 asciinema 錄製格式,支持 GNU/Linux,Mac OS 和 BSD 等操作系統。

安裝 Termtosvg

PIP 是一個面向 Python 語言編寫的軟件包的管理器,可以用於安裝 Termtosvg。如果你沒有安裝 PIP,可以參考下面的指導:

  • 如何使用 PIP 管理 Python 軟件包

安裝 PIP 後,運行如下命令安裝 Termtosvg 工具:

$ pip3 install --user termtosvg

此外,還要安裝渲染終端屏幕所需的依賴包:

$ pip3 install pyte python-xlib svgwrite

安裝完畢,我們接下來生成 SVG 格式的終端會話。

將 Linux 終端會話錄製成 SVG 動畫

使用 termtosvg 錄製終端會話十分容易。打開終端窗口,運行如下命令即可開始錄製:

$ termtosvg

注意: 如果 termtosvg 命令不可用,重啟操作系統一次即可。

運行 termtosvg 命令後,可以看到如下命令輸出:

Recording started, enter "exit" command or Control-D to end

你目前位於一個子 Shell 中,在這裡可以像平常那樣輸入命令。你在終端中的所作所為都會被錄製。

不妨隨便輸入一些命令:

$ mkdir mydirectory

$ cd mydirectory/

$ touch file.txt

$ cd ..

$ uname -a

操作完成後,使用組合鍵 CTRL+D 或者輸入 exit 停止錄製。錄製結果將會保存在 /tmp 目錄,(由於做了唯一性處理)文件名並不會重複。

將 Linux 終端會話錄製成 SVG 動畫

現在,你可以在命令行運行命令,使用你的瀏覽器打開 SVG 文件:

$ firefox /tmp/termtosvg_ddkehjpu.svg

你也可以在(圖形界面的)瀏覽器中直接打開這個 SVG 文件( File -> )。

我用 Firefox 瀏覽器打開的效果如下:

將 Linux 終端會話錄製成 SVG 動畫

下面舉例說明幾種使用 Termtosvg 錄製終端會話的方式。

我剛剛提到,Termtosvg 錄製終端會話後默認保存成 /tmp 目錄下的一個 SVG 動畫文件。

但你可以指定 SVG 動畫文件的文件名,例如 animation.svg;也可以指定一個存放路徑,例如 /home/sk/ostechnix/。

$ termtosvg /home/sk/ostechnix/animation.svg

錄製終端會話並使用特定模板進行渲染:

$ termtosvg -t ~/templates/my_template.svg

使用指定的 屏幕參數(screen geometry)錄製終端會話:

$ termtosvg -g 80x24 animation.svg

使用 asciicast v2 格式錄製終端會話:

$ termtosvg record recording.cast

將 asciicast 格式的錄製結果渲染成 SVG 動畫:

$ termtosvg render recording.cast animation.svg

欲瞭解更多細節,請參考 Termtosvg 手冊 。

好了,本次分享就到這裡,希望對你有幫助。更多精彩內容,敬請期待!

乾杯!


via: https://www.ostechnix.com/how-to-record-terminal-sessions-as-svg-animations-in-linux/

作者: SK 選題: lujun9972 譯者: pinewall 校對: wxy

本文由 LCTT 原創編譯, Linux中國 榮譽推出


分享到:


相關文章: