将Linux终端会话录制成SVG动画

系统 Linux
录制终端会话可以满足我们不同类型的需求。通过录制终端会话,你可以完整记录你在终端中执行的操作,将其保存以供后续参考。通过录制终端会话,你还可以向青少年、学生或其它打算学习 Linux 的人展示各种 Linux 命令及其用例。

[[241535]]

录制终端会话可以满足我们不同类型的需求。通过录制终端会话,你可以完整记录你在终端中执行的操作,将其保存以供后续参考。通过录制终端会话,你还可以向青少年、学生或其它打算学习 Linux 的人展示各种 Linux 命令及其用例。值得庆幸的是,市面上已经有不少工具,可以帮助我们在类 Unix 操作系统下录制终端会话。我们已经介绍过一些可以帮助你录制终端会话的工具,可以在下面的链接中找到。

今天,我们要介绍另一款录制终端操作的工具,名字叫做 Termtosvg。从名字可以看出,Termtosvg 将你的终端会话录制成一个单独的 SVG 动画。它是一款简单的命令行工具,使用 Python 语言编写,可以生成轻量级、外观整洁的动画,可以嵌入到网页项目中。Termtosvg 支持自定义色彩主题color themes、终端 UI,还可以通过 SVG 模板完成动画控制。它兼容 asciinema 录制格式,支持 GNU/Linux,Mac OS 和 BSD 等操作系统。

 

安装 Termtosvg

PIP 是一个面向 Python 语言编写的软件包的管理器,可以用于安装 Termtosvg。如果你没有安装 PIP,可以参考下面的指导:

安装 PIP 后,运行如下命令安装 Termtosvg 工具:

  1. $ pip3 install --user termtosvg

此外,还要安装渲染终端屏幕所需的依赖包:

  1. $ pip3 install pyte python-xlib svgwrite

安装完毕,我们接下来生成 SVG 格式的终端会话。

 

将 Linux 终端会话录制成 SVG 动画

使用 termtosvg 录制终端会话十分容易。打开终端窗口,运行如下命令即可开始录制:

  1. $ termtosvg

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

运行 termtosvg 命令后,可以看到如下命令输出:

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

你目前位于一个子 Shell 中,在这里可以像平常那样输入命令。你在终端中的所作所为都会被录制。

不妨随便输入一些命令:

  1. $ mkdir mydirectory
  2. $ cd mydirectory/
  3. $ touch file.txt
  4. $ cd ..
  5. $ uname -a

操作完成后,使用组合键 CTRL+D 或者输入 exit 停止录制。录制结果将会保存在 /tmp 目录,(由于做了唯一性处理)文件名并不会重复。

现在,你可以在命令行运行命令,使用你的浏览器打开 SVG 文件:

  1. $ firefox /tmp/termtosvg_ddkehjpu.svg

你也可以在(图形界面的)浏览器中直接打开这个 SVG 文件( File -> <SVG 文件路径> )。

我用 Firefox 浏览器打开的效果如下:

下面举例说明几种使用 Termtosvg 录制终端会话的方式。

我刚刚提到,Termtosvg 录制终端会话后默认保存成 /tmp 目录下的一个 SVG 动画文件。

但你可以指定 SVG 动画文件的文件名,例如 animation.svg;也可以指定一个存放路径,例如 /home/sk/ostechnix/

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

录制终端会话并使用特定模板进行渲染:

  1. $ termtosvg -t ~/templates/my_template.svg

使用指定的屏幕参数screen geometry录制终端会话:

  1. $ termtosvg -g 80x24 animation.svg

使用 asciicast v2 格式录制终端会话:

  1. $ termtosvg record recording.cast

将 asciicast 格式的录制结果渲染成 SVG 动画:

  1. $ termtosvg render recording.cast animation.svg

欲了解更多细节,请参考 Termtosvg 手册。 

责任编辑:庞桂玉 来源: Linux中国
相关推荐

2014-05-12 10:57:41

TermRecord终端会话

2017-05-19 13:19:16

LinuxAsciinema终端会话

2018-03-26 09:17:53

LinuxTlog会话录制

2021-02-21 08:12:24

SVG线条动画Web动画

2021-02-21 07:49:40

Web动画SVG线条动画

2016-07-18 14:49:22

操作系统Linux终端操作

2019-10-08 14:02:18

Linux命令终端会话

2017-03-28 13:00:10

LinuxGifineGIF动画

2023-07-13 18:26:01

LinuxASCII

2022-01-27 15:37:34

Asciinema终端会话记录器开源

2019-06-11 15:46:13

screen命令Linux

2021-02-15 17:00:22

Tmux管理会话Linux

2013-11-07 15:38:59

Linux命令行工具

2021-07-14 14:50:08

LinuxASCII图片

2021-06-07 17:30:23

LinuxASCII图片转换

2020-12-04 08:40:29

SVG动画元素

2016-11-02 09:49:21

Linux命令进程

2023-03-04 13:32:35

Linux创建目录

2023-10-22 08:39:13

Linux目录切换

2009-12-16 14:10:42

Linux终端命令
点赞
收藏

51CTO技术栈公众号