博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何在 Linux 上录制你的终端操作
阅读量:5936 次
发布时间:2019-06-19

本文共 1424 字,大约阅读时间需要 4 分钟。

导读录制一个终端操作可能是一个帮助他人学习 Linux 、展示一系列正确命令行操作的和分享知识的通俗易懂方法。不管是出于什么目的,从终端复制粘贴文本需要重复很多次,而录制视频的过程也是相当麻烦,有时候还不能录制。

linux record

在这次的文章中,我们将简单的了解一下以 gif 格式记录和分享终端会话的方法。

预先要求

如果你只是希望能记录你的终端会话,并且能在终端进行回放或者和他人分享,那么你只需要一个叫做:ttyrec 的软件。Ubuntu 用户可以通过运行这行代码进行安装:

sudo apt-get install ttyrec

如果你想将生成的视频转换成一个 gif 文件,这样能够和那些不使用终端的人分享,就可以发布到网站上去,或者你只是想做一个 gif 方便使用而不想写命令。那么你需要安装额外的两个软件包。第一个就是 imagemagick , 你可以通过以下的命令安装:

sudo apt-get install imagemagick

第二个软件包就是:tty2gif.py,访问其项目网站下载。这个软件包需要安装如下依赖:

sudo apt-get install python-opster
录制

开始录制终端操作,你需要的仅仅是键入ttyprec,然后回车。这个命令将会在后台运行一个实时的记录工具。我们可以通过键入exit或者ctrl+d来停止。ttyrec 默认会在主目录下创建一个ttyrecord的文件。

如何在 Linux 上录制你的终端操作

如何在 Linux 上录制你的终端操作

如何在 Linux 上录制你的终端操作

回放

回放这个文件非常简单。你只需要打开终端并且使用 ttyplay命令打开ttyrecord文件即可。(在这个例子里,我们使用 ttyrecord 作为文件名,当然,你也可以改成你用的文件名)

如何在 Linux 上录制你的终端操作

然后就可以开始播放这个文件。这个视频记录了所有的操作,包括你的删除,修改。这看起来像一个拥有自我意识的终端,但是这个命令执行的过程并不是只是为了给系统看,而是为了更好的展现给人。

注意一点,播放这个记录是完全可控的,你可以通过点击 +或者-进行加速减速,或者0和1暂停和恢复播放。

导出成 GIF

为了方便,我们通常会将视频记录转换为 gif 格式,并且,这个非常容易做到。以下是方法:

将之前下载的 tty2gif.py 这个文件拷贝到 ttyprecord 文件(或者你命名的那个视频文件)相同的目录,然后在这个目录下打开终端,输入命令:

python tty2gif.py typing ttyrecord

如果出现了错误,检查一下你是否有安装 python-opster 包。如果还是有错误,使用如下命令进行排除。

sudo apt-get install xdotoolexport WINDOWID=$(xdotool getwindowfocus)

然后重复这个命令python tty2gif.py并且你将会看到在 ttyrecord 目录下多了一些 gif 文件。

如何在 Linux 上录制你的终端操作

接下来的一步就是整合所有的 gif 文件,将他打包成一个 gif 文件。我们通过使用 imagemagick 工具。输入下列命令:

convert -delay 25 -loop 0 *.gif example.gif

如何在 Linux 上录制你的终端操作

你可以使用任意的文件名,我用的是 example.gif。 并且,你可以改变这个延时和循环时间。

免费提供最新Linux技术教程书籍,为开源技术爱好者努力做得更多更好:https://www.linuxprobe.com/

转载地址:http://oyjtx.baihongyu.com/

你可能感兴趣的文章
RecyclerView 实现gallery画廊效果
查看>>
myrocks统计信息
查看>>
【区块链之技术实战】在金融领域,区块链该咋用呢?
查看>>
基于ANTLR语法树编写解释引擎最佳实践
查看>>
关于TS流的解析
查看>>
穆客带你快速定位Node.js内存泄露
查看>>
mongodb(一) NoSQL简介
查看>>
The CPU Costing Model: A Few Thoughts Part IV (Map of the Problematique)
查看>>
[LeetCode] LRU Cache
查看>>
【原创】 熵与反熵
查看>>
MinnowBoard MAX 硬件开发板
查看>>
六种Socket I/O模型幽默讲解
查看>>
技术干货:使用静态缓存提升网站性能的五种方法!
查看>>
MySQL内核月报 2014.12-MySQL· 性能优化·thread pool 原理分析
查看>>
[收藏学习]关于Linux服务器时间同步nptdate
查看>>
告别1人年,教你21天搭建推荐系统!
查看>>
利用 NGINX 最大化 Python 性能,第二部分:负载均衡和监控
查看>>
C# 异常处理(Catch Throw)IL分析
查看>>
抽象工厂模式
查看>>
获取Checkbox的值
查看>>