如何向别人演示Linux命令行操作?试试Asciinema吧!

2.5k 词

Hello 大家好!我是在2024年依然对这个荒诞的世界抱有热情的超级神奇的神奇君!

对于经常使用Linux,并且偶尔需要将自己的操作内容展示给别人的小伙伴来说,分享和演示Linux的命令行操作,是一个非常常见的需求。

今天神奇君就来向大家推荐一款工具,工具的名字叫做Asciinema,老规矩,网址我放在了最后,动手能力强的小伙伴可以直接拉到文章最后,自己体验这个网站。

Asciinema工具演示

那么Asciinema可以怎样演示我们的终端操作呢?首先它可以将我们的终端命令操作变成下面这样的GIF图片,放在我们的博客或者技术文档中:

其次它还可以把我们的操作上传到Asciinema的官方网站上,把链接发给别人就可以观看了,比如上面的这个GIF对应的录屏,也可以在下面这个链接中观看:

https://asciinema.org/a/xr8PuoW5bze3YLKSjmDdvDdSk

打开这个链接,就可以在线播放了:

那要如何实现上面的这些操作呢?很简单,只需要几条命令就可以搞定了。下面神奇君就来为大家介绍一下如何使用这个Asciinema。

安装Asciinema工具

首先我们需要在Linux安装Asciinema工具,有两种安装方法。

对于使用Debian或Ubuntu的小伙伴,只需要执行:

1
sudo apt install asciinema

就能安装了。

而更通用的方法是使用Python来安装,非常方便,也是一条命令就搞定,如果你的机器上安装了Python和PIP,神奇君推荐你用下面这条命来安装:

1
pip3 install asciinema

如果你在安装的过程中报这个错误:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
test@bookworm:~$ pip3 install asciinema
error: externally-managed-environment

× This environment is externally managed
╰─> To install Python packages system-wide, try apt install
python3-xyz, where xyz is the package you are trying to
install.

If you wish to install a non-Debian-packaged Python package,
create a virtual environment using python3 -m venv path/to/venv.
Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
sure you have python3-full installed.

If you wish to install a non-Debian packaged Python application,
it may be easiest to use pipx install xyz, which will manage a
virtual environment for you. Make sure you have pipx installed.

See /usr/share/doc/python3.11/README.venv for more information.

note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.
hint: See PEP 668 for the detailed specification.

那就像这样安装:

1
pip3 install asciinema --break-system-packages

Asciinema工具使用

安装好之后就可以录屏终端的操作了。录屏的操作就是运行下面这条命令:

1
asciinema rec demo.cast

这样就可以开始录屏了,接下来所有的操作都会录入到这个“demo.cast”文件中,这个文件名你可以随便取。如果要结束录屏,就输入exit或者同时按Ctrl+D就可以。

如果要回放我们的录屏,就执行下面的命令进行播放,像看电影一样观看我们刚才的录屏:

1
asciinema play demo.cast

如果要把我们的录屏上传到asciinema的网站上,只需要执行:

1
asciinema upload demo.cast

然后复制命令行输出的那段网址,到浏览器打开即可观看播放。

安装asciinema-agg工具,把录屏文件变成GIF图片

如何把Asciinema的录屏变成一个GIF图片呢,那就先需要再额外安装一下asciinema-agg工具,然后通过agg命令把Asciinema的录屏变成GIF图片。

agg的安装很简单,它其实是一个编译好的二进制工具,直接下载下来就可以使用了,下载的地址放在了文章最后。

打开下载链接之后会有很多选项,我们这里使用的是64位的Debian Linux,所以我们下载agg-x86_64-unknown-linux-gnu这个版本。

asciinema-agg下载好之后,需要先运行下面这条命令为agg-x86_64-unknown-linux-gnu赋予可执行权限。

1
chmod +x agg-x86_64-unknown-linux-gnu 

然后我们就可以用这个工具把上面的demo.cast文件转换成GIF文件了。

好了,以上就是asciinema的基本使用,其实asciinema还有很多很高极的用法,比如各种配置、各种指令控制等等。本文只是一篇最简单的入门文章,感兴趣的小伙伴继续自己探索吧。

最后是asciinema的官方网站,asciinema所有的操作、文档、教程基本都在上面:

https://asciinema.org/

asciinema-agg最新发行版下载地址:

https://github.com/asciinema/agg/releases/latest