TranslateProject/published/201901/20181218 Termtosvg - Record Your Terminal Sessions As SVG Animations In Linux.md

158 lines
6.0 KiB
Markdown
Raw Permalink Normal View History

[#]: collector: (lujun9972)
2019-01-12 20:06:36 +08:00
[#]: translator: (zhs852)
[#]: reviewer: (wxy)
[#]: publisher: (wxy)
[#]: url: (https://linux.cn/article-10441-1.html)
[#]: 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/)
Termtosvg将你在 Linux 终端中操作录制成 SVG 动画
======
一般人喜欢使用历史命令功能来查看/再次调用之前在终端中输入的命令。不幸的是,那样做只会显示先前输入的命令,而不是之前输出的内容。
在 Linux 中,有许多可以用来记录终端活动的实用工具。这种工具将会帮助我们记录用户在终端中的活动,并帮助我们识别输出中有用的信息。
2019-01-12 22:01:08 +08:00
在这之前,我们已经介绍了一些这类实用工具了。今天,让我们接着讨论这类工具。
如果你希望尝试其它一些记录你终端活动的工具,我推荐你试试 [script][1] 命令和 [Terminalizer][2] 工具。`script` 是在无头服务器中记录终端活动的最佳方式之一。`script` 是一个记录在终端中输入过的 Unix 命令的实用工具(在某些终端中,它会记录显示在你终端中的所有东西)。它会在当前工作目录下以文本文件方式储存所有终端输出。
不过,如果你在寻找 [GIF 录制器][3] ,你可以尝试 [Gifine][4]、[Kgif][5] 和 [Peek][6]。
2019-01-12 22:01:08 +08:00
### 什么是 Termtosvg
2019-01-12 22:01:08 +08:00
Termtosvg 是一个用 Python 编写的 Unix 终端录制器,它可以将你的命令行会话保存为 SVG 动画。
2019-01-12 22:01:08 +08:00
### Termtosvg 的特点
* 可以制作嵌入于项目主页的简洁美观的动画。
2019-01-12 22:01:08 +08:00
* 可以在 SVG 模板中自定义配色、终端 UI 和动画。
* 兼容 asciinema 录制格式。
* 要求 Python 版本为 3.5 或更高。
### 如何在 Linux 中安装 Termtosvg
它是用 Python 编写的,所以我推荐使用 `pip` 来安装它。
请确保你已经安装了 python-pip 包。如果你还没安装,请输入下面的命令。
对于 Debian 或 Ubuntu 用户,请使用 [apt][7] 或 [apt-get][8] 来安装 `pip`
2019-01-12 22:01:08 +08:00
```shell
sudo apt install python-pip
```
对于 Archlinux 用户,请使用 [pacman][9] 来安装 `pip`
2019-01-12 22:01:08 +08:00
```shell
sudo pacman -S python-pip
```
对于 Fedora 用户,请使用 [dnf][10] 来安装 `pip`
2019-01-12 22:01:08 +08:00
```shell
sudo dnf install python-pip
```
对于 CentOS 或 RHEL 用户,请使用 [yum][11] 来安装 `pip`
2019-01-12 22:01:08 +08:00
```shell
sudo yum install python-pip
```
对于 openSUSE 用户,请使用 [zypper][12] 来安装 `pip`
2019-01-12 22:01:08 +08:00
```shell
sudo zypper install python-pip
```
最后,请执行 [pip][13] 来安装 Termtosvg。
2019-01-12 22:01:08 +08:00
```shell
sudo pip3 install termtosvg pyte python-xlib svgwrite
```
2019-01-12 22:01:08 +08:00
### 如何使用 Termtosvg
2019-01-12 22:01:08 +08:00
成功安装 Termtosvg 后,请使用以下命令来开始录制。
2019-01-12 22:01:08 +08:00
```shell
$ termtosvg
Recording started, enter "exit" command or Control-D to end
```
2019-01-12 22:01:08 +08:00
如果只是想测试它是否正常工作,随意输入几行命令即可。
2019-01-12 22:01:08 +08:00
```shell
$ 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` 文件夹中。
2019-01-12 22:01:08 +08:00
```shell
$ exit
exit
Recording ended, SVG animation is /tmp/termtosvg_5waorper.svg
```
2019-01-12 22:01:08 +08:00
我们可以在任意浏览器中打开 SVG 文件。
2019-01-12 22:01:08 +08:00
```shell
firefox /tmp/termtosvg_5waorper.svg
```
2019-01-12 22:01:08 +08:00
![最终效果][15]
--------------------------------------------------------------------------------
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)
校对:[校对者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