将 Linux 终端会话录制成 SVG 动画
创始人
2024-03-01 23:58:29
0

录制终端会话可以满足我们不同类型的需求。通过录制终端会话,你可以完整记录你在终端中执行的操作,将其保存以供后续参考。通过录制终端会话,你还可以向青少年、学生或其它打算学习 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 工具:

$ 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 目录,(由于做了唯一性处理)文件名并不会重复。

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

$ firefox /tmp/termtosvg_ddkehjpu.svg

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

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

下面举例说明几种使用 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中国 荣誉推出

相关内容

老鼠给猫当伴娘,跟着AI作...
老鼠给猫当伴娘,跟着AI作动画 老鼠的山寨,石门石洞石板路上巡逻...
2025-03-17 09:11:53
《哪吒2》周末票房暴涨重回...
搜狐娱乐讯 (哈麦/文)周六,《哪吒2》单日票房重回5亿以上,达到...
2025-02-23 10:50:37
还在狂飙,《哪吒2》今日再...
每一步都在创纪录。 2月15日晚,猫眼专业版数据显示,截至发稿,《...
2025-02-16 12:45:02
《哪吒2》百亿进度条:总票...
据网络平台数据,电影《哪吒之魔童闹海》(《哪吒2》)总票房已超96...
2025-02-13 13:44:00
deepseek:哪吒2能...
一、票房表现:中国市场的爆发力与天花板 《哪吒2》的票房奇迹首先源...
2025-02-10 13:17:06
不重新加载页面启动WOW动...
要实现在不重新加载页面的情况下启动WOW动画,可以使用JavaSc...
2025-01-12 14:00:29

热门资讯

使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
2024 开年,LLUG 和你... Hi,Linuxer,2024 新年伊始,不知道你是否已经准备好迎接新的一年~ 2024 年,Lin...
什么是 KDE Connect... 什么是 KDE Connect?它的主要特性是什么?它应该如何安装?本文提供了基本的使用指南。科技日...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...
Bazzite:专为 Stea... 为 Linux 桌面或者 Steam Deck 做好游戏准备,听起来都很刺激!对于一个专为 Linu...