录制一个终端操作可能是一个帮助他人学习 Linux 、展示一系列正确命令行操作的和分享知识的通俗易懂方法。不管是出于什么目的,从终端复制粘贴文本需要重复很多次,而录制视频的过程也是相当麻烦,有时候还不能录制。在这次的文章中,我们将简单的了解一下以 gif 格式记录和分享终端会话的方法。

预先要求

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

  1. sudo apt-get install ttyrec

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

  1. sudo apt-get install imagemagick

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

  1. sudo apt-get install python-opster

录制

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

回放

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

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

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

导出成 GIF

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

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

  1. python tty2gif.py typing ttyrecord

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

  1. sudo apt-get install xdotool
  2. export WINDOWID=$(xdotool getwindowfocus)

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

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

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

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

原文发布时间为:2016-07-14

本文来自云栖社区合作伙伴“Linux中国”

如何在 Linux 上录制你的终端操作相关推荐

  1. linux命令录制,怎样在Linux上录制你的终端操作及回放

    前言 假设你是个靠谱先生,每当亲朋好友遇到与Linux有关的各种问题时,总是第一时间向你求助请教.有人会问你如何安装和配置某个工具,这时候你就想告知具体的步骤.可要是对方不在你跟前,又该如何是好呢?解 ...

  2. 如何在linux上使用QQ(在终端上使用qq) mojo-qq

    如何在linux终端上使用QQ 效果展示 介绍irc irc的历史非常悠久,那都是上个世界别人用来聊天的了,算是我接触到的最早的及时聊天 以下是来自google的简介 Internet Relay C ...

  3. linux 当前活动用户,如何在Linux上自动记录所有用户的终端会话活动

    如何在Linux上自动记录所有用户的终端会话活动 不久前,我们写了一篇文章,使用script命令记录Linux终端会话活动. 今天,我们还将讨论相同的主题. 但是,本教程允许您自动记录所有用户的终端会 ...

  4. linux下安装sbt_如何在Linux上安装SBT

    linux下安装sbt 介绍 (Introduction) Hi! I am Sanjula, and in this guide I hope to teach you how to install ...

  5. 如何在Linux上找到包含特定文本的所有文件?

    我正在尝试找到一种方法来扫描整个Linux系统,查找包含特定文本字符串的所有文件. 只是为了澄清,我在文件中寻找文本,而不是文件名. 当我查找如何做到这一点时,我遇到了两次这个解决方案: find / ...

  6. 如何在 Linux 上安装服务器管理软件 Cockpit

    如何在 Linux 上安装服务器管理软件 Cockpit Cockpit 是一个自由开源的服务器管理软件,它使得我们可以通过它好看的 web 前端界面轻松地管理我们的 GNU/Linux 服务器.Co ...

  7. 更改日期为英文_如何在 Linux 上检查所有用户密码到期日期 | Linux 中国

    如果你很少使用自己的帐户,那么可能由于密码过期而被锁定.在许多情况下,这可能会在无需密码登录的服务帐户中发生,因为没人会注意到它. -- Magesh Maruthamuthu(作者) 如果你在 Li ...

  8. linux下怎么将html换成pdf,如何在Linux上使用PHP将HTML/CSS转换为PDF

    我一直试图将html页面转换为PDF,但没有任何运气,我尝试使用wkhtmltopdf(http://code.google.com/p/) wkhtmltopdf /)和虽然下面的命令在终端正确执行 ...

  9. python --version没输出_如何在Linux上安装Python

    有关在Linux上安装最新的Python而不是较旧版本的分步说明. Python现在是最流行,最常用的编程语言.Python的简单语法和较低的学习曲线使其成为初学者和专业开发人员的最终选择.Pytho ...

最新文章

  1. linux 防火墙 -netfilter
  2. 基于visual Studio2013解决C语言竞赛题之1081shell排序
  3. 关于《资产负债表》中未分配利润项目的填列
  4. cross_val_score 如何对孤立森林_【收藏】森林防火手抄报素材汇总!
  5. TensorFlow 2.0 mnist手写数字识别(CNN卷积神经网络)
  6. 案例讲解asp.net中jquery post的用法
  7. VS Code 新扩展,面向 Web 开发人员调试 DOM
  8. 【ABAP系列】SAP ABAP 宏的简单使用
  9. PHP第三方登录—OAuth2.0协议
  10. SqlServer批量更新两关联表的数据
  11. bim服务器型号,国外有哪几个知名的BIM服务器?BIM服务器全介绍!(三)
  12. linux mysql 5.7.13 安装_Linux环境下mysql5.7.13安装教程
  13. 阿里云发布ET环境大脑 对抗雾霾、排污和自然灾害
  14. c语言第六章谭浩强ppt,谭浩强C语言课件第6章.ppt
  15. win10桌面管理文件收纳_放心的电脑桌面收纳工具必备,电脑桌面win10应用商店
  16. java网店系统 开源_网店系统javashop发布其开源框架,遵循GPL协议
  17. python中diet是什么意思_Python基础语法(你不得不知的几种变量类型
  18. Android 模拟器的本地ip
  19. python不显示边框_python设置表格边框的具体方法
  20. RGB灯控圣诞灯七彩灯方案开发IC方案控制板供应详细介绍

热门文章

  1. git push 不再需要重复输入账户密码的技巧
  2. gzip压缩算法: gzip 所使用压缩算法的基本原理
  3. shell的相关知识(变量、脚本定义)
  4. Imperva开源域目录控制器,简化活动目录集成
  5. 【windows】dos命令查看某个文件夹下所有文件目录列表
  6. 整合大数据价值最大化的三个关键因素
  7. 中端存储趋势:x86、SSD缓存和虚拟化
  8. 算法系列15天速成——第十天 栈
  9. 手机qq协议做的第三方qq软件
  10. Android学习之JSON数据解析