当前位置: 首页 > 编程笔记 >

怎样在Linux上录制你的终端操作及回放

尉迟晔
2023-03-14
本文向大家介绍怎样在Linux上录制你的终端操作及回放,包括了怎样在Linux上录制你的终端操作及回放的使用技巧和注意事项,需要的朋友参考一下

前言

假设你是个靠谱先生,每当亲朋好友遇到与Linux有关的各种问题时,总是第一时间向你求助请教。有人会问你如何安装和配置某个工具,这时候你就想告知具体的步骤。可要是对方不在你跟前,又该如何是好呢?解决办法可能有好多种,比如说可以将具体步骤记入文档,然后通过电子邮件发过去;或者打电话,详细告知对方,等等,但是最明确无误的解决办法还是你亲自演示一番。要是演示只需要一个终端,那么最好的办法就是录制你的终端操作。

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

预先要求

如果你只是希望能记录你的终端会话,并且能在终端进行回放或者和他人分享,那么你只需要一个叫做: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的文件。

回放

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

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

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

导出成 GIF

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

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

python tty2gif.py typing ttyrecord

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

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

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

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

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

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

希望这篇文章对你学习Linux有帮助,谢谢对小牛知识库的支持

 类似资料:
  • 一、常用终端操作 1.1、常用快捷键 CTRL+A: 移动光标至行首 CTRL+E: 移动光标至行尾 CTRL+U: 删除光标前所有字符 清除一行命令(输错一行命令的时候使用

  • 本文向大家介绍详解Linux终端 MySQL常用操作指令,包括了详解Linux终端 MySQL常用操作指令的使用技巧和注意事项,需要的朋友参考一下 服务: 添加环境变量: 1.数据库指令: 2.进入MySQL表单操作 3.增删改查 新增万能用户 用户名user_1 密码是123456 可以自任何PC上登录这个用户对数据库操作 创建只有在本机才能操作数据库的用户 用户名user_2 密码是12345

  • 问题内容: 考虑以下代码: 终端操作(如)是否关闭已打开的基础文件? 请参阅Files.list的javadoc的相关部分: 返回的流封装了DirectoryStream。如果需要及时处理文件系统资源,则应使用try-with- resources构造来确保在流操作完成之后调用流的close方法。 如果不调用,那么在生成可维护代码时最好的替代方法是什么? 问题答案: 终端操作员不会自动关闭流。考虑

  • 本文向大家介绍pytorch中的上采样以及各种反操作,求逆操作详解,包括了pytorch中的上采样以及各种反操作,求逆操作详解的使用技巧和注意事项,需要的朋友参考一下 import torch.nn.functional as F import torch.nn as nn F.upsample(input, size=None, scale_factor=None,mode='nearest',

  • 问题内容: 我如何在Linux终端上执行C#代码作为Shell脚本。 我有以下示例代码: 当我运行shell bash时,我使用。使用C#怎么做? 问题答案: 该(hashbang)标签是用来告诉使用哪种解释让你的Perl,PHP,庆典,SH等脚本将正确运行shell。 但是C#不是脚本语言,它旨在被编译成可执行格式。如果要使用C#,则至少需要安装编译器和运行时,最好是安装IDE(集成开发环境)来