Asciinema 是一个终端下非常棒的录屏和回放软件。Asciinema 对终端输入输出进行捕捉,然后以文本的形式来记录和回放。
基于 Asciinema 用文本来记录的特性,使其拥有了非常炫酷的特性。你可以在播放过程中随时暂停,然后对播放器中的文本进行复制或者其它操作。
Asciinema 同时支持多个操作系统(除 Windows 之外)。
Asciinema 工作原理
将终端的操作和时间戳记录成 JSON 格式,然后使用 JavaScript 解析并配合 CSS 展示,看起来就像是在视频播放器中播放。
相比 GIF 和视频文件,Asciinema 录屏的体积非常之小(时长 2 分 50 秒的录屏只有 325 KB),无需缓冲就可播放。也可以方便的分享给别人或嵌入到网页中。
Asciinema 安装
-
Pip 安装
通过 Pip 安装需要 Python 3 版本支持 :
$
sudo pip3 install asciinema
这是适用于所有操作系统的通用安装方法,它始终提供最新版本。
-
macOS
$ brew install asciinema
-
Ubuntu
$ apt-add-repository ppa:
zanchey/asciinema
$ apt-get update$ apt-get install asciinema
-
Debian
$ sudo apt-get install asciinema
-
Arch Linux
$ pacman -S asciinema
-
Fedora
For Fedora < 22:
$ sudo yum install asciinema
For Fedora >= 22:
$ sudo dnf install asciinema
-
openSUSE
$ zypper in asciinema
这里我们介绍了几种常用的安装方式,更多安装方式可参考官方文档:https://asciinema.org/docs/installation
Asciinema 使用
-
录制终端
安装完成后,我们来尝试录制一个试试?在你的终端输入 asciinema rec 回车后你会看到下面两行输出:
$ Asciicast recording started.$ Hit Ctrl-D or type "exit" to finish.
这表示录制已经开始,你可以按 Ctrl+D 或输入 exit 进行退出。退出后终端会输出:
$ Asciicast recording finished.
$ Press <Enter> to upload, <Ctrl-C> to cancel.
https://asciinema.org/a/113463
按下回车后就会将你的录制结果上传到 asciinema.org 上,按下 Ctrl+C 就退出并不上传录制结果,本次操作记录会保存在本地。
下面用官方录制的一个安装 Asciinema 的例子来演示下具体效果:
由于微信公众号不能加外链,你可以访问 https://asciinema.org/a/113463 查看。
-
回放录制
我们前面进行了一个录制终端操作,这里就可以使用 asciinema play 命令在本地回放刚才的录制操作。
回放托管在 asciinema.org 上的终端操作
$ asciinema play https://asciinema.org/a/113463
回放存在本地的终端操作文件
$ asciinema play /path/113463.json
-
在网页中嵌入播放器
a). 直接嵌入播放器
<script id="asciicast-113463" src="https://asciinema.org/a/113463.js" async></script>
b). 以图片方式嵌入播放器
Markdown 方式
[](https://asciinema.org/a/113463)
HTML 方式
<a href="https://asciinema.org/a/113463" target="_blank"><img src="https://asciinema.org/a/113463.svg" /></a>
-
自由拷贝
在播放记录时,你可以自由地拷贝正在播放的记录中的命令,这一点上 ttyrec 和 screen 是无法相比的。
-
管理 Asciinema.org 中的录制片段
如果想在 Asciinema 的网站上管理你所有录制的终端操作视频,首先你需要用自己的邮箱注册一个账号并进行登录。
其次使用 asciinema auth 命令产生的链接和 asciinema.org 中已登录的账户关联起来。
$ asciinema auth
Open the following URL in a web browser to link your install ID with your asciinema.org user account:
https://asciinema.org/connect/10cd4f24-45b6-4f64-b737-ae0e5d12baf8
This will associate all recordings uploaded from this machine (past and future ones) to your account, and allow you to manage them (change title/theme, delete) at asciinema.org.
在已登陆 asciinema.org 帐号的浏览器中访问上面 asciinema auth 生成的链接就可自动完成关联。
-
删除录制
如果不小心录制了一些隐私信息并上传到 asciinema.org。不要担心,你可以在类似 asciinema.org/a/1113463 链接中登录进去并删除它。
-
配置文件
您也可以通过创建配置文件来配置 Asciinema,其默认配置文件在 $HOME/.config/asciinema/config。
Asciinema 配置文件类似下面这个样子
[api]url = https://asciinema.example.com[record]command = /bin/bash -lyes = truequiet = true[play]speed = 2
[api] 中的选项与 API 位置和身份验证有关。如果要让 Asciinema 使用您自己的 Asciinema 站点而不是默认的 asciinema.org,可以设置 url 选项。url 也可以通过 ASCIINEMA_API_URL 环境变量来进行传递。
[record] 和 [play] 部分中的选项主要配合 asciinema rec/asciinema play 命令使用。
-
其它技巧
将终端录屏记录保存到本地文件$ asciinema rec /path/demo录制终端操作并指定标题后将其上传到 asciinema.org$ asciinema rec -t "my first app"将终端录屏记录到本地文件,并限制空闲时间最大为 2.5 秒$ asciinema rec -i 2.5 /path/demo以两倍速来回放录制的终端会话
$ asciinema play -s 2 /path/demo
打印终端录屏记录的全部输出$ asciinema cat /path/demo
分享本地已经录制的会话到 asciinema.org
$ asciinema upload /path/demo
参考文档
http://www.google.com
http://t.cn/EI6Od9m
http://t.cn/EcXoV2Y
http://t.cn/EIX5fPS
今日思想
我们已经走得太远,以致于忘了当初为什么出发。
—— 纪伯伦
推荐阅读