asciinema让您轻松记录终端会话,并在终端和网页浏览器中重播它们。

安装最新版本:

sapt-get install asciinema

记录你的第一个终端视频:

asciinema rec first.cast

现在以倍速重播:

asciinema play -s  first.cast

或者正常速度,但空闲时间限制为2秒:

asciinema play -i  first.cast

您可以通过-i 2asciinema rec时,永久设置它的记录。空闲时间限制使得观看记录更有趣,尝试一下。

如果你想在网上观看和分享,请上传它:

asciinema upload first.cast

上面的代码将它上传到asciinema.org,这是一个默认的asciinema-server 实例,并打印一个秘密链接,您可以使用它来在Web浏览器中观看您的录制内容。

您可以通过省略文件名一步记录和上传:

asciinema rec

录制完成后,系统会要求您确认上传,因此未经您的同意,任何地方都不会发送任何内容。

这些都是基础知识,但还有更多可以做的事情。以下部分将更详细地介绍录制的安装,使用和托管。

用法:

rec [name]

记录终端回话命令。

通过运行asciinema rec [filename]你开始一个新的记录会话。

录制完成时,您退出壳(命中Ctrl+D或键入 exit)。

如果filename参数被忽略,那么(请求确认后)将生成的asciicast上传到 asciinema-server(默认为asciinema.org),在那里可以观看和共享。

如果filename给出了参数,那么生成的记录(称为 asciicast)将保存到本地文件中。它可以稍后重播asciinema play <filename>和/或上传到asciinema服务器asciinema upload <filename>

ASCIINEMA_REC=1被添加到记录的过程环境变量。这可以被shell的配置文件(.bashrc.zshrc)用来改变提示或者在shell被录制时播放声音。

可用选项:

  • --stdin - 启用标准输入(键盘)录制(请参阅下文)
  • --append - 追加到现有的录音
  • --raw - 保存原始STDOUT输出,无需定时信息或其他元数据
  • --overwrite - 覆盖已存在的记录
  • -c, --command=<command> - 指定要记录的命令,默认为$ SHELL
  • -e, --env=<var-names> - 要捕获的环境变量列表,默认为 SHELL,TERM
  • -t, --title=<title> - 指定asciicast的标题
  • -i, --idle-time-limit=<sec>- 将记录的终端非活动<sec>时间限制为最大秒数
  • -y, --yes - 对所有提示回答“是”(例如上传确认)
  • -q, --quiet - 保持安静,压制所有通知/警告(暗示-y)

Stdin录制允许捕获用户在当前录制的外壳中键入的所有字符。这可以被玩家(例如 asciinema-player)用来显示按下的按键。因为它基本上是一个键盘日志记录(作用于单个shell实例),所以默认情况下它是禁用的,并且必须通过--stdin选项明确启用 。

play <filename>

重放录制在终端asciicast。

该命令rec直接在终端中重播给定的asciicast(由命令记录)。

以下键盘快捷键可用:

  • Space - 切换暂停,
  • . - 逐步完成一帧录制(暂停时),
  • Ctrl+C - 出口。

从本地文件播放:

asciinema play /path/to/asciicast.cast

从HTTP(S)URL播放:

asciinema play https://asciinema.org/a/22124.cast
asciinema play http://example.com/demo.cast

可用选项:

-i, --idle-time-limit=<sec>- 将重播终端的不活动限制在最大<sec>秒数
-s, --speed=<factor> - 播放速度(可以是小数)

为了获得最佳的播放体验,建议asciinema play在尺寸不小于用于记录的终端中运行,因为对于新的终端尺寸,控制序列没有“转码”。

cat <filename>

将记录的全部shell命令输出打印到终端。

asciinema play <filename>使用保存在asciicast中的时间信息重播记录的会话时,立即asciinema cat <filename>将全部输出(包括所有转义序列)转储到终端。

asciinema cat existing.cast >output.txt把记录的shell命令输出到output.txt文件中

upload <filename>

上传记录的asciicast到asciinema.org网站。

该命令将asciicast(通过rec命令记录)上传到asciinema.org,在那里可以观看和共享。

asciinema rec demo.cast如果您想在asciinema.org发布之前查看一个asciicast,那么+ asciinema play demo.castasciinema upload demo.cast是一个很好的组合。

asciinema使用的更多相关文章

  1. Linux下终端录制工具-asciinema

    1. 官网 https://asciinema.org/ 2. 功能 录音 录制终端命令 上传到多种位置 3. 使用方法 sudo yum install asciinema # 安装 asciine ...

  2. Linux终端回话记录和回放工具 - asciinema使用总结

    目前linux终端回放工具常见的就是asciinema和script了, 这两种工具都有那种类似于视频回放的效果.虽然这样做的代价是录制过程中需要占用一定的cpu资源以及录制后可能会因为视频文件太大而 ...

  3. 初探asciinema

    在学习c++的时候想到so库注入到某些程序中,网上查了一些资料,发现了一些比较好玩的程序,分享一下. 主要可以对操作的进行视频回放,类似堡垒机的功能 安装: pip3 install asciinem ...

  4. linux 使用asciinema 进行命令行屏幕录制共享

    1. 安装 yum install asciinema 2. 使用 录制 asciinema rec filename(可选,方便进行后期的回放play) 同时生成一个url 地址方便传递 https ...

  5. Asciinema:你的所有操作都将被录制

    如何实现类似于Jumpserver koko一样的终端录制回放功能呢?本文介绍一个神器 asciinema 是一款开源免费的终端录制工具,它可以将命令行输入输出的任何内容加上时间保存在文件中,同时还提 ...

  6. Asciinema文章勘误及Web端使用介绍

    欠下的债迟早是要还的,查文档,重验证,出结果,不误导 文章勘误 在上一篇文章Asciinema:你的所有操作都将被录制中有两个地方表述有错误或瑕疵,这里更正一下 第一个地方为录制时的参数--stdin ...

  7. [TimLinux] asciinema Linux终端录制工具嵌入私有web中

    yum install asciinema https://github.com/asciinema/asciinema-player # 下载asciinema-player.css, asciin ...

  8. asciinema.org -Record Your Terminal Share it with no fuss

    紀錄 Terminal 下指令的過程 http://asciinema.org/

  9. Pyhton开源框架(加强版)

    info:Djangourl:https://www.oschina.net/p/djangodetail: Django 是 Python 编程语言驱动的一个开源模型-视图-控制器(MVC)风格的 ...

随机推荐

  1. C知识要点-个人总结

    [数据结构]()C 结构体.C 共用体.C 数组.C 指针..... 存储类.auto.register.static.extern C 函数.定义函数.返回类型.函数名称.参数.函数主体.返回语句. ...

  2. oracle 空值排序,排在最前面或者最后面

    1,排在最前面用order by name nulls first; eg:select t.name,t.code from table t where t.code!='1' order by n ...

  3. xml schema数据类型

    1.简单数据类型 (1)内置简单数据类型 schema中定义了一些简单数据类型,包括primitive原始数据类型和derived派生数据类型,这些类型都是schema中使用的 最基本的数据类型,我们 ...

  4. 解决jQuery在chrome中获取height为0

    笔者之前在一家创业公司做过项目,当时遇到这么一个奇怪的问题,我需要用一个jQuery的height()方法获取一个div的高度,但是在chrome浏览器上面有时可以正常获取,但是同一个页面刷新多几次获 ...

  5. JSP 里 的 basePath

    Eclipse新建JSP页面的时候不会加上 base 这个变量,需要手动添加,经常忘记,MyEclipse 就不用管了会自动添加. 如果忘了下面代码直接copy即可: <% String pat ...

  6. 课程设计__继承与派生,重载<<

    ///继承与派生 #include <iostream> using namespace std; class Point { public: Point (,):x(a),y(b) {} ...

  7. php5.3 yum安装升级版本到 php5.6

    centOS系统下如何将php升级到5.6,之前通过yum来安装lamp环境,直接升级的话,提示没有更新包,也就是说默认情况下php5.3.3是最新   1.查看已经安装的php版本号 键入下面代码: ...

  8. linux命令之awk命令

    awk是一种编程语言,用于在linux/unix下对文本和数据进行处理.数据可以来自标准输入(stdin).一个或多个文件,或其它命令的输出.它支持用户自定义函数和动态正则表达式等先进功能,是linu ...

  9. Ghostbusters(并查集,最小生成树)

    Ghostbusters 时间限制: 1 Sec  内存限制: 128 MB提交: 33  解决: 7[提交] [状态] [讨论版] [命题人:admin] 题目描述 The Bureau of Ap ...

  10. C/C++语言代码规范

    1.标识符名称: 标识符名称包括函数名.常量名.变量名等.这些名字应该能反映它所代表的实际东西,具有一定的意义,使其能 够见名知义,有助于对程序功能的理解.规则如下: 所有宏定义.枚举常数和const ...