Asciinema 一个轻量级的终端录屏工具 - 用法详解(2/7)
asciinema由rec、play、cat、upload、auth5个子命令组成。
rec子命令
启动录屏,记录终端会话。
|  |  | 
只要输入asciinema rec命令就开始录屏,其他选项都是可选的。
如果不提供[filename],录屏的asciicast文件将会存储到临时文件。否则将存储到[filename]所指定的path。
选项
--stdin
开启标准输入(键盘)录制。
|  |  | 
默认情况下,asciinema只会记录标准输出。而对标准输入是不记录的。比如:键盘输入。
但是,看起来这有一些不容易理解。如果只记录标准输出的话,那么,在终端键入ls -lha这样的命令。
对于命令本身是应该不被记录下来的,也就是说,通过asciinema play是看不到ls -lha才对。
那为什么还可以被正确记录下来呢?
实际上如果不加--stdin这个选项,asciinema记录的是键入ls -lha命令的显示输出。
这对于那些需要键入密码(比如:mysql-client)的命令,而又不希望和别人共享时被其他人看到密码的时候很有用。
--append
追加到现有录制。
|  |  | 
将录屏追加到既存的old.cast文件中。前提是old.cast必须存在,如果不存在会显示一个不友好的Python提示。
同时也会检查文件格式,如果不是asciicast格式会有如下提示:
asciinema: can only append to asciicast v2 format recordings
--overwrite
覆盖录制(如果已经存在)。
|  |  | 
覆盖现有的old.cast文件,如果不存在就创建一个。
-c, --command=<command>
指定要记录的命令,默认为$SHELL。
|  |  | 
实在没搞明白这个-c应该怎么用比较好。总之,可以在不同的SHELL间切换zsh→bash。默认是$SHELL
可能还有些更高级的用法,需要挖掘一下。
-e, --env=<var-names>
要捕获的环境变量列表,默认为SHELL,TERM。
|  |  | 
这个选项用来捕获环境变量的。默认的环境变量是SHELL,TERM。如果需要捕获更多环境变量。将环境变量添加到--env选项即可。
-t, --title=<title>
指定asciicast的标题。
|  |  | 
为asciicast指定一个标题,作为上传到仓库显示的标题。
-i, --idle-time-limit=<sec>
将录制的终端不活动状态限制为最大<sec>秒数。
|  |  | 
这个选项非常有用。 官方文档的解释是:
Limit recorded terminal inactivity to max
<sec>seconds
那么,这是什么意思呢。
比如:在输入df -h命令之后,大概等待30秒又输入了free -m。可能这段时间你在思考屏幕的输出内容。
那么,使用这个选项使两条命令之间的显示间隔限制在3秒。也就是说两条命令的显示间隔最大不超过3秒。
这样,当使用asciinema play回放的时候,观看者就不用在等待30秒了。
-y, --yes
对所有提示回答“是”(例如,上传确认)。
|  |  | 
当输入exit退出录制时,如果没指定该选项。
系统会有一个提示: asciinema: press 
之后,由用户自行选择上传到仓库,或者保存到本地。
当指定这个选项时,不会有任何提示,直接将asciicast文件上传到仓库。
这个选项晋档不指定<filename>有效。
-q, --quiet
保持安静,禁止所有通知/警告(也包含-y选项的效果)。
|  |  | 
指定这个选项后,既没有录制前的提示:
asciinema: press
or type “exit” when you’re done 
也没有退出后的提示:
asciinema: press
to upload to asciinema.org, to save locally 
当退出录制后,直接将asciicast文件上传到仓库。
play子命令
播放录制的asciicast文件,提供以下快捷键盘:
- Space- 暂停播放
- .- 按帧暂停播放
- Ctrl+C- 退出播放
|  |  | 
选项
-i, --idle-time-limit=<sec>
将录制的终端不活动状态限制为最大<sec>秒数
|  |  | 
和asciinema rec --idle-time-limit=3的效果一样。如果asciinema rec没有指定这个参数,可以在这里指定。
-s, --speed=<factor>
播放速率(可以是分数)
|  |  | 
就和视频播放器一样,按照--speed=2的2倍速率快播。--speed=0.5倍的速率慢播。
<filename>
<filename>可以是本地文件、http/ipfs URL、标准输入 。
从本地文件播放
|  |  | 
从HTTP(S) URL播放:
|  |  | 
需要页面包含:
|  |  | 
从标准输入播放
|  |  | 
从IPFS播放
|  |  | 
cat子命令
直接显示播放结果。
|  |  | 
和asciinema play一样。<filename>可以是本地文件、http/ipfs URL、标准输入 。
从本地文件播放:
|  |  | 
从HTTP(S) URL播放:
|  |  | 
需要页面包含:
|  |  | 
从标准输入播放:
|  |  | 
从IPFS播放:
|  |  | 
upload子命令
将录制的asciicast文件上传到Asciinema的官网仓库。
|  |  | 
上传到Asciinema的官网仓库
|  |  | 
auth子命令
将安装ID和Asciinema仓库帐户相关联,并管理上传的asciicast文件。
当首次安装Asciinema时,会在$HOME/.config/asciinema/install-id生成一个UUID v4文件。
输入asciinema auth命令会得到如下输出:
|  |  | 
通过访问上述的链接与仓库帐户相关联。之后,就可以将本地的asciicast文件通过asciinema upload命令进行上传。
可以在仓库帐户的管理页面对install-id进行撤销处理。
已经撤销的install-id不能再次和仓库账号相关联。如果想再次与仓库账号相关联,需要按照以下步骤进行:
- 删除$HOME/.config/asciinema/install-id文件。
- 执行asciinema auth命令重新与仓库账号关联。