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

录制一个终端操作可能是一个帮助他人学习 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中国”

时间: 2024-11-08 18:59:39

如何在 Linux 上录制你的终端操作的相关文章

LFCS 系列第一讲:如何在 Linux 上使用 GNU sed 等命令来创建、编辑和操作文件

LFCS 系列第一讲:如何在 Linux 上使用 GNU sed 等命令来创建.编辑和操作文件 Linux 基金会宣布了一个全新的 LFCS(Linux 基金会认证系统管理员Linux Foundation Certified Sysadmin)认证计划.这一计划旨在帮助遍布全世界的人们获得其在处理 Linux 系统管理任务上能力的认证.这些能力包括支持运行的系统服务,以及第一手的故障诊断.分析,以及为工程师团队在升级时提供明智的决策. Linux 基金会认证系统管理员--第一讲 请观看下面关于

如何在Linux上使用命令行管理密码

如何在Linux上使用命令行管理密码 在基于密码的认证在网络盛行的今天,你可能需要或者已经使用了某种密码管理工具来跟踪管理你正在使用的所有密码.有各种各样的在线或离线服务或者软件工具用于完成此类事情,而这些工具因复杂程度.用户界面或者目标环境(如企业或终端用户)的不同而各不相同.例如,有一些是为终端用户开发基于图形化的密码管理器,如KeePass(X). 对于那些不想要依赖图形化进行密码管理的用户,笔者将会讲述如何在命令行下使用 pass来管理密码,这是一个简单的用于命令行管理密码的工具. 该密

如何在linux上分享你shell命令的输出

如何在linux上分享你shell命令的输出 前段时间我发布了一篇关于shelr.tv这个网站的文章,它提供一个服务允许你从网站上直接分享你的终端记录. 现在shelr.tv这个网站似乎关闭了,然后我四处寻找是否有类似的网站,于是我发现了commands.com. 从它的主页上来看,它的服务和其他网站提供的服务是类似的,因此让我们来测试它. 步骤 1 – 在网站上注册 只需要注册一个新的 用户名/密码,或者直接使用你的github账户快速登录. 步骤 2 – 下载安装monitor程序 Moni

如何在 Linux 上使用 SSHfs 挂载一个远程文件系统

如何在 Linux 上使用 SSHfs 挂载一个远程文件系统 你曾经想过用安全 shell 挂载一个远程文件系统到本地吗?如果有的话,SSHfs 也许就是你所需要的.它通过使用 SSH 和 Fuse(LCTT 译注:Filesystem in Userspace,用户态文件系统,是 Linux 中用于挂载某些网络空间,如 SSH,到本地文件系统的模块) 允许你挂载远程计算机(或者服务器)到本地. 注意: 这篇文章假设你明白SSH 如何工作并在你的系统中配置 SSH. 准备 在使用 SSHfs 挂

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

如何在 Linux 上安装服务器管理软件 Cockpit Cockpit 是一个自由开源的服务器管理软件,它使得我们可以通过它好看的 web 前端界面轻松地管理我们的 GNU/Linux 服务器.Cockpit 使得 linux 系统管理员.系统维护员和开发者能轻松地管理他们的服务器并执行一些简单的任务,例如管理存储.检测日志.启动或停止服务以及一些其它任务.它的报告界面添加了一些很好的功能使得可以轻松地在终端和 web 界面之间切换.另外,它不仅使得管理一台服务器变得简单,更重要的是只需要一个

如何在Linux上找出并删除重复的文件:FSlint

如何在Linux上找出并删除重复的文件:FSlint 大家好,今天我们会学习如何在Linux PC或者服务器上找出和删除重复文件.这里有一款工具你可以工具自己的需要使用. 无论你是否正在使用Linux桌面或者服务器,有一些很好的工具能够帮你扫描系统中的重复文件并删除它们来释放空间.图形界面和命令行界面的都有.重复文件是磁盘空间不必要的浪费.毕竟,如果你的确需要在不同的位置享有同一个文件,你可以使用软链接或者硬链接,这样就可以在磁盘的一个地方存储数据了. FSlint FSlint 在不同的Lin

如何在 linux 上配置持续集成服务 - Drone

如何在 linux 上配置持续集成服务 - Drone 如果你对一次又一次的克隆.构建.测试和部署代码感到厌倦了,可以考虑一下持续集成.持续集成简称 CI,是一种像我们一样的频繁提交的代码库,构建.测试和部署的软件工程实践.CI 可以帮助我们快速的集成新代码到已有的代码库.如果这个过程是自动化进行的,那么就会提高开发的速度,因为这可以减少开发人员手工构建和测试的时间.Drone 是一个自由开源项目,用来提供一个非常棒的持续集成服务的环境,采用 Apache 2.0 协议发布.它已经集成近很多代码

如何在 Linux 上使用 Gmail SMTP 服务器发送邮件通知

如何在 Linux 上使用 Gmail SMTP 服务器发送邮件通知 假定你想配置一个 Linux 应用,用于从你的服务器或桌面客户端发送邮件信息.邮件信息可能是邮件简报.状态更新(如 Cachet).监控警报(如 Monit).磁盘时间(如 RAID mdadm)等等.当你要建立自己的 邮件发送服务器 传递信息时 ,你可以替代使用一个免费的公共 SMTP 服务器,从而避免遭受维护之苦. 谷歌的 Gmail 服务就是最可靠的 免费 SMTP 服务器 之一.想要从应用中发送邮件通知,你仅需在应用中

puppet如何在linux上部署

问题描述 puppet如何在linux上部署 我是个新的菜鸟,我也在csdn上看了好多puppet在linux上怎么部署,写的不够详细, 所以才在这上面求助. 解决方案 http://jingyan.baidu.com/article/14bd256e29fd0dbb6c261244.html 解决方案二: puppet 部署在linux部署hornetq为系统服务Linux+nodejs+mongodb 环境部署