2018-12-21 11:55:44 +08:00
|
|
|
|
[#]: collector: (lujun9972)
|
2019-01-12 20:06:36 +08:00
|
|
|
|
[#]: translator: (zhs852)
|
2019-01-14 12:13:07 +08:00
|
|
|
|
[#]: reviewer: (wxy)
|
2019-01-14 12:13:41 +08:00
|
|
|
|
[#]: publisher: (wxy)
|
|
|
|
|
[#]: url: (https://linux.cn/article-10441-1.html)
|
2018-12-21 11:55:44 +08:00
|
|
|
|
[#]: subject: (Termtosvg – Record Your Terminal Sessions As SVG Animations In Linux)
|
|
|
|
|
[#]: via: (https://www.2daygeek.com/termtosvg-record-your-terminal-sessions-as-svg-animations-in-linux/)
|
|
|
|
|
[#]: author: (Magesh Maruthamuthu https://www.2daygeek.com/author/magesh/)
|
|
|
|
|
|
2019-01-14 12:13:07 +08:00
|
|
|
|
Termtosvg:将你在 Linux 终端中操作录制成 SVG 动画
|
2018-12-21 11:55:44 +08:00
|
|
|
|
======
|
|
|
|
|
|
2019-01-14 12:13:07 +08:00
|
|
|
|
一般人喜欢使用历史命令功能来查看/再次调用之前在终端中输入的命令。不幸的是,那样做只会显示先前输入的命令,而不是之前输出的内容。
|
2018-12-21 11:55:44 +08:00
|
|
|
|
|
2019-01-14 12:13:07 +08:00
|
|
|
|
在 Linux 中,有许多可以用来记录终端活动的实用工具。这种工具将会帮助我们记录用户在终端中的活动,并帮助我们识别输出中有用的信息。
|
2018-12-21 11:55:44 +08:00
|
|
|
|
|
2019-01-12 22:01:08 +08:00
|
|
|
|
在这之前,我们已经介绍了一些这类实用工具了。今天,让我们接着讨论这类工具。
|
2018-12-21 11:55:44 +08:00
|
|
|
|
|
2019-01-14 12:13:07 +08:00
|
|
|
|
如果你希望尝试其它一些记录你终端活动的工具,我推荐你试试 [script][1] 命令和 [Terminalizer][2] 工具。`script` 是在无头服务器中记录终端活动的最佳方式之一。`script` 是一个记录在终端中输入过的 Unix 命令的实用工具(在某些终端中,它会记录显示在你终端中的所有东西)。它会在当前工作目录下以文本文件方式储存所有终端输出。
|
2018-12-21 11:55:44 +08:00
|
|
|
|
|
2019-01-14 12:13:07 +08:00
|
|
|
|
不过,如果你在寻找 [GIF 录制器][3] ,你可以尝试 [Gifine][4]、[Kgif][5] 和 [Peek][6]。
|
2018-12-21 11:55:44 +08:00
|
|
|
|
|
2019-01-12 22:01:08 +08:00
|
|
|
|
### 什么是 Termtosvg
|
2018-12-21 11:55:44 +08:00
|
|
|
|
|
2019-01-12 22:01:08 +08:00
|
|
|
|
Termtosvg 是一个用 Python 编写的 Unix 终端录制器,它可以将你的命令行会话保存为 SVG 动画。
|
2018-12-21 11:55:44 +08:00
|
|
|
|
|
2019-01-12 22:01:08 +08:00
|
|
|
|
### Termtosvg 的特点
|
2018-12-21 11:55:44 +08:00
|
|
|
|
|
2019-01-14 12:13:07 +08:00
|
|
|
|
* 可以制作嵌入于项目主页的简洁美观的动画。
|
2019-01-12 22:01:08 +08:00
|
|
|
|
* 可以在 SVG 模板中自定义配色、终端 UI 和动画。
|
|
|
|
|
* 兼容 asciinema 录制格式。
|
|
|
|
|
* 要求 Python 版本为 3.5 或更高。
|
|
|
|
|
|
|
|
|
|
### 如何在 Linux 中安装 Termtosvg
|
2018-12-21 11:55:44 +08:00
|
|
|
|
|
2019-01-14 12:13:07 +08:00
|
|
|
|
它是用 Python 编写的,所以我推荐使用 `pip` 来安装它。
|
2018-12-21 11:55:44 +08:00
|
|
|
|
|
2019-01-14 12:13:07 +08:00
|
|
|
|
请确保你已经安装了 python-pip 包。如果你还没安装,请输入下面的命令。
|
|
|
|
|
对于 Debian 或 Ubuntu 用户,请使用 [apt][7] 或 [apt-get][8] 来安装 `pip`。
|
2018-12-21 11:55:44 +08:00
|
|
|
|
|
2019-01-12 22:01:08 +08:00
|
|
|
|
```shell
|
|
|
|
|
sudo apt install python-pip
|
2018-12-21 11:55:44 +08:00
|
|
|
|
```
|
|
|
|
|
|
2019-01-14 12:13:07 +08:00
|
|
|
|
对于 Archlinux 用户,请使用 [pacman][9] 来安装 `pip`。
|
2018-12-21 11:55:44 +08:00
|
|
|
|
|
2019-01-12 22:01:08 +08:00
|
|
|
|
```shell
|
|
|
|
|
sudo pacman -S python-pip
|
2018-12-21 11:55:44 +08:00
|
|
|
|
```
|
|
|
|
|
|
2019-01-14 12:13:07 +08:00
|
|
|
|
对于 Fedora 用户,请使用 [dnf][10] 来安装 `pip`。
|
2018-12-21 11:55:44 +08:00
|
|
|
|
|
2019-01-12 22:01:08 +08:00
|
|
|
|
```shell
|
|
|
|
|
sudo dnf install python-pip
|
2018-12-21 11:55:44 +08:00
|
|
|
|
```
|
|
|
|
|
|
2019-01-14 12:13:07 +08:00
|
|
|
|
对于 CentOS 或 RHEL 用户,请使用 [yum][11] 来安装 `pip`。
|
2018-12-21 11:55:44 +08:00
|
|
|
|
|
2019-01-12 22:01:08 +08:00
|
|
|
|
```shell
|
|
|
|
|
sudo yum install python-pip
|
2018-12-21 11:55:44 +08:00
|
|
|
|
```
|
|
|
|
|
|
2019-01-14 12:13:07 +08:00
|
|
|
|
对于 openSUSE 用户,请使用 [zypper][12] 来安装 `pip`。
|
2018-12-21 11:55:44 +08:00
|
|
|
|
|
2019-01-12 22:01:08 +08:00
|
|
|
|
```shell
|
|
|
|
|
sudo zypper install python-pip
|
2018-12-21 11:55:44 +08:00
|
|
|
|
```
|
|
|
|
|
|
2019-01-14 12:13:07 +08:00
|
|
|
|
最后,请执行 [pip][13] 来安装 Termtosvg。
|
2018-12-21 11:55:44 +08:00
|
|
|
|
|
2019-01-12 22:01:08 +08:00
|
|
|
|
```shell
|
|
|
|
|
sudo pip3 install termtosvg pyte python-xlib svgwrite
|
2018-12-21 11:55:44 +08:00
|
|
|
|
```
|
|
|
|
|
|
2019-01-12 22:01:08 +08:00
|
|
|
|
### 如何使用 Termtosvg
|
2018-12-21 11:55:44 +08:00
|
|
|
|
|
2019-01-12 22:01:08 +08:00
|
|
|
|
成功安装 Termtosvg 后,请使用以下命令来开始录制。
|
2018-12-21 11:55:44 +08:00
|
|
|
|
|
2019-01-12 22:01:08 +08:00
|
|
|
|
```shell
|
2018-12-21 11:55:44 +08:00
|
|
|
|
$ termtosvg
|
|
|
|
|
Recording started, enter "exit" command or Control-D to end
|
|
|
|
|
```
|
|
|
|
|
|
2019-01-12 22:01:08 +08:00
|
|
|
|
如果只是想测试它是否正常工作,随意输入几行命令即可。
|
2018-12-21 11:55:44 +08:00
|
|
|
|
|
2019-01-12 22:01:08 +08:00
|
|
|
|
```shell
|
2018-12-21 11:55:44 +08:00
|
|
|
|
$ uname -a
|
|
|
|
|
Linux daygeek-Y700 4.19.8-2-MANJARO #1 SMP PREEMPT Sat Dec 8 14:45:36 UTC 2018 x86_64 GNU/Linux
|
|
|
|
|
$ hostname
|
|
|
|
|
daygeek-Y700
|
|
|
|
|
$ cat /etc/*-release
|
|
|
|
|
Manjaro Linux
|
|
|
|
|
DISTRIB_ID=ManjaroLinux
|
|
|
|
|
DISTRIB_RELEASE=18.0
|
|
|
|
|
DISTRIB_CODENAME=Illyria
|
|
|
|
|
DISTRIB_DESCRIPTION="Manjaro Linux"
|
|
|
|
|
Manjaro Linux
|
|
|
|
|
NAME="Manjaro Linux"
|
|
|
|
|
ID=manjaro
|
|
|
|
|
ID_LIKE=arch
|
|
|
|
|
PRETTY_NAME="Manjaro Linux"
|
|
|
|
|
ANSI_COLOR="1;32"
|
|
|
|
|
HOME_URL="https://www.manjaro.org/"
|
|
|
|
|
SUPPORT_URL="https://www.manjaro.org/"
|
|
|
|
|
BUG_REPORT_URL="https://bugs.manjaro.org/"
|
|
|
|
|
$ free -g
|
|
|
|
|
free: Multiple unit options doesn't make sense.
|
|
|
|
|
$ free -m
|
|
|
|
|
free: Multiple unit options doesn't make sense.
|
|
|
|
|
$ pip3 --version
|
|
|
|
|
pip 18.1 from /usr/lib/python3.7/site-packages/pip (python 3.7)
|
|
|
|
|
```
|
|
|
|
|
|
2019-01-12 22:01:08 +08:00
|
|
|
|
完成后,你可以按下 `CTRL+D` 或输入 `exit` 来停止录制。录制完后,输出文件会以一个独一无二的名字被保存在 `/tmp` 文件夹中。
|
2018-12-21 11:55:44 +08:00
|
|
|
|
|
2019-01-12 22:01:08 +08:00
|
|
|
|
```shell
|
2018-12-21 11:55:44 +08:00
|
|
|
|
$ exit
|
|
|
|
|
exit
|
|
|
|
|
Recording ended, SVG animation is /tmp/termtosvg_5waorper.svg
|
|
|
|
|
```
|
|
|
|
|
|
2019-01-12 22:01:08 +08:00
|
|
|
|
我们可以在任意浏览器中打开 SVG 文件。
|
2018-12-21 11:55:44 +08:00
|
|
|
|
|
2019-01-12 22:01:08 +08:00
|
|
|
|
```shell
|
|
|
|
|
firefox /tmp/termtosvg_5waorper.svg
|
2018-12-21 11:55:44 +08:00
|
|
|
|
```
|
|
|
|
|
|
2019-01-12 22:01:08 +08:00
|
|
|
|
![最终效果][15]
|
2018-12-21 11:55:44 +08:00
|
|
|
|
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
via: https://www.2daygeek.com/termtosvg-record-your-terminal-sessions-as-svg-animations-in-linux/
|
|
|
|
|
|
|
|
|
|
作者:[Magesh Maruthamuthu][a]
|
|
|
|
|
选题:[lujun9972][b]
|
2019-01-12 22:01:08 +08:00
|
|
|
|
译者:[zhs852](https://github.com/zhs852)
|
2018-12-21 11:55:44 +08:00
|
|
|
|
校对:[校对者ID](https://github.com/校对者ID)
|
|
|
|
|
|
|
|
|
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
|
|
|
|
|
|
|
|
|
[a]: https://www.2daygeek.com/author/magesh/
|
|
|
|
|
[b]: https://github.com/lujun9972
|
|
|
|
|
[1]: https://www.2daygeek.com/script-command-record-save-your-terminal-session-activity-linux/
|
|
|
|
|
[2]: https://www.2daygeek.com/terminalizer-a-tool-to-record-your-terminal-and-generate-animated-gif-images/
|
|
|
|
|
[3]: https://www.2daygeek.com/category/gif-recorder/
|
|
|
|
|
[4]: https://www.2daygeek.com/gifine-create-animated-gif-vedio-recorder-linux-mint-debian-ubuntu/
|
|
|
|
|
[5]: https://www.2daygeek.com/kgif-create-animated-gif-file-active-window-screen-recorder-capture-arch-linux-mint-fedora-ubuntu-debian-opensuse-centos/
|
|
|
|
|
[6]: https://www.2daygeek.com/peek-create-animated-gif-screen-recorder-capture-arch-linux-mint-fedora-ubuntu/
|
|
|
|
|
[7]: https://www.2daygeek.com/apt-command-examples-manage-packages-debian-ubuntu-systems/
|
|
|
|
|
[8]: https://www.2daygeek.com/apt-get-apt-cache-command-examples-manage-packages-debian-ubuntu-systems/
|
|
|
|
|
[9]: https://www.2daygeek.com/pacman-command-examples-manage-packages-arch-linux-system/
|
|
|
|
|
[10]: https://www.2daygeek.com/dnf-command-examples-manage-packages-fedora-system/
|
|
|
|
|
[11]: https://www.2daygeek.com/yum-command-examples-manage-packages-rhel-centos-systems/
|
|
|
|
|
[12]: https://www.2daygeek.com/zypper-command-examples-manage-packages-opensuse-system/
|
|
|
|
|
[13]: https://www.2daygeek.com/install-pip-manage-python-packages-linux/
|
|
|
|
|
[14]: data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7
|
|
|
|
|
[15]: https://www.2daygeek.com/wp-content/uploads/2018/12/Termtosvg-Record-Your-Terminal-Sessions-As-SVG-Animations-In-Linux-1.gif
|