今天介绍一款终端录制及分享工具 asciinema。是的,它兼具录制、回放和分享功能。有个它你就可以愉快地和你的小伙伴分享你的操作了。
安装
该工具使用 python 编写,可以直接使用 pip install asciinema
安装。
某些发行版的软件仓库中也带有该软件,如 debian 系,你也可以使用包管理器安装。
使用
asciinema 的使用比较简单,使用 asciinema -h
也会给出一个简洁详细的使用文档
主要功能有:录制(rec)、回放(play)、上传(upload)以及验证(auth)
录制
命令:asciinema rec [<filename>]
当后面跟一个文件名的时候,asciinema 会将录制的结果保存到 filename,是一个 json 格式的文件。你可以回放或者手动上传它。
而如果没有文件名,在录制结束后,按回车就会将录制结果上传到 asciinema.org
并给你一个链接。你在浏览器中打开该链接可以对该录制进行 回放、分享等操作(需要注意的是,网站上的该录制结果并不完全属于你,在后面的验证一节介绍)。而如果你不想上传到 web,按 Ctrl-C
即可退出。
当你运行 asciinema rec [<filename>]
的时候就已经开始录制,可以输入命令 exit
或者使用快捷键 Ctrl-D
结束录制。
当开始录制之后,asciinema 会设置一个环境变量 ASCIINEMA_REC=1
,你可以在 shell 的配置文件中来修改 PS1
等。
它的一些选项:
-
-c / –command
指定要录制的命令,默认是
$SHELL
。也就是默认会开启$SHELL
变量中的 shell 来录制,当让你也可以指定其他 shell,或者指定一个类似ls
这样的命令。 -
-t
指定 asciinema 的标题,这个没啥用,但如果要上传的话,不指定就会显示
untitled
-
-w / –max-wait
指定被录制的终端最大不活跃的时间。简单来说,就是在录制过程中不论终端多久没有活跃(比如你没有操作)回放的时候只会不活跃你通过 -w 设置的时间。
-
-y / –yes
对所有的提示都回答 yes。比如在你录制完询问你是否上传的时候
-
-q / –quiet
没有任何提示和警告,会自动开启 -y
回放
命令: asciinema play <filename>
它会在终端中回放你存放在 filename 中的录制结果,如果 filename 是 - 的话,就会从标准输入读取内容。
需要注意的是,最好在不小于录制尺寸的终端中回放。
它有一个选项:
-
-w / –max-wait
和 rec 中的是同样的作用
上传
命令:asciinema upload <filename>
就是把你录制的保存在 filename 中的结果上传到 asciinema.org
。
如果你不需要在 web 上进行回放、编辑、分享等操作,是无需上传功能的。
验证
命令:asciinema auth
在安装好 asciinema 后,它就会为你生成一个唯一的本地 API 令牌。而 auth
命令把你的本地 API 令牌和 asciinema.org
网站的账户绑定。
前面所说的 网站上的该录制结果并不完全属于你
就是这个意思。在你还没有绑定网站账户的时候,它只属于这个本地 API 令牌。在你绑定之后,之前上传的录制结果都会和该网站账号绑定。
在你执行验证命令的时候,会给你一个 url,你需要使用浏览器打开,如果你已经登录,会直接绑定成功,否则会让你先注册/登录。
如果你不需要在 web 上进行回放、编辑、分享等操作,是无需验证功能的。