在Linux上怎么录制终端操作

录制一个终端操作可能是一个帮助他人学习 Linux 、展示一系列正确命令行操作的和分享知识的通俗易懂方法。不管是出于什么目的,从终端复制粘贴文本需要重复很多次,而录制视频的过程也是相当麻烦,有时候还不能录制。在这次的文章中,兄弟连www.lampbrother.net将简单的了解一下以 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的文件。

回放

回放这个文件非常简单。你只需要打开终端并且使用 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。 并且,你可以改变这个延时和循环时间。

时间: 2024-10-28 14:16:09

在Linux上怎么录制终端操作的相关文章

记录linux系统用户shell终端操作记录

在 /etc/profile 最后添加 export HISTTIMEFORMAT='[%F %T]: ' export PROMPT_COMMAND='{ msg=$(history 1 | { read x y; echo $y; });logger -t audit "[euid=$(whoami)]":$(who am i):[$(pwd)]:"$msg";}' alias crontab-l='cat /var/spool/cron/tabs/root /

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

2016/07/21 ·  All · 1 评论·  Linux 分享到:4 JSP自定义标签 Python开发环境搭建 PHP实现文件上传与下载 PHP实现页面静态化 原文出处: Bill Toulas   译文出处:MikeCoder 录制一个终端操作可能是一个帮助他人学习 Linux .展示一系列正确命令行操作的和分享知识的通俗易懂方法.不管是出于什么目的,从终端复制粘贴文本需要重复很多次,而录制视频的过程也是相当麻烦,有时候还不能录制.在这次的文章中,我们将简单的了解一下以 gif 格式

在Linux上高效开发的7个建议

我们都知道被困在一段简单代码上数个小时是一个开发者挫败感的由来.出了问题却找不到bug会让人身心俱疲.我认为对于开发人员来讲,节省时间是相当重要的.我发现自己经常浪费时间在有关Linux的简单事情上,而我也曾目睹专家级的开发者仅仅使用合适的工具就节省了大量的时间来避免上述的挫折感的产生. 快捷键可以节省时间 使用快捷键.不要浪费时间在鼠标上例如打开一个终端(Terminal).一些快捷键我发现相当有用: 打开终端:Ctrl+Alt+T 对行操作:在终端,如果你使用 → 或 ← 是相当浪费时间的,

Linux录制、回放和共享终端操作

使用script命令录制,使用scriptreplay播放录制的操作.共享终端的操作,则需要使用命名管道来实现. 1.1 录制 [[email protected] ~]# cd /tmp [[email protected] tmp]# script -t 2> timing.log -a output.session # 开始录制 Script started, file is output.session [[email protected] tmp]# ls # 执行一个操作:命令ls

Linux上SQL及MYSQL简单操作

Linux上检查MYSQL是否安装: $ sudo service mysql start Ubuntu Linux安装配置MYSQL: $ sudo apt-get install mysql-server $ sudo apt-get install mysql-client 安装结束后,用命令验证是否安装成功: $ sudo netstat -tap | grep mysql 修改MYSQL配置文件: $ sudo gedit /etc/mysql/my.cnf 打开MYSQL并使用ROO

linux上用c实现算术编码(一)--具体操作

转载注明出处:http://blog.csdn.net/wang_zheng_kai 让学生用开发工具,练习学到的数据压缩编码 天津工业大学,信电学院 本文包括两部分: linux上用c实现算术编码(二)--具体代码 ubuntu14.04上用C语言实现算术编码(固定) 1.打开ubuntu14.04系统,界面如下: 2.按Ctrl+Alt+t,打开Terminal,执行命令ls查看算术编码的代码fixed_arithmetic.c 3.执行如下命令,编译代码. 4.生成可执行程序fixed_a

在开发板Linux上挂载"驱动"挂载不成功,出现提示server 172.27.52.100 not responding, still trying

1.在开发板具体操作步骤如下: 1.1 :设置IP ifconfig eth0 172.27.52.200 1.2 :ping通 虚拟机Linux 主机Linux ping XXX.XXX.XXX.XXX 1.3.挂接 mount -t nfs -o nolock  XXX.XXX.XXX.XXX:/work/nfs_root/first_fs  /mnt // 例如:mount -t nfs -o nolock  172.27.52.100:/work/nfs_root/first_fs  /

Linux上命令的使用格式和基础命令详解

一.Linux上命令的使用格式 命令行提示符详解: 用户通过终端的命令行接口来控制操作系统,登陆后如下: [[email protected] ~]# root: 当前登录的用户 @:分隔符 localhost: 当前主机的主机名,非完整格式:此处的完整格式为:localhost.localdomain [[email protected] ~]# hostname localhost.localdomain ~:用户当前所在的目录(current directory),也称为工作目录(work

Linux 程序设计学习笔记----终端及串口编程基础之概念详解

转载请注明出处,谢谢! linux下的终端及串口的相关概念有: tty,控制台,虚拟终端,串口,console(控制台终端)详解 部分内容整理于网络. 终端/控制台 终端和控制台都不是个人电脑的概念,而是多人共用的小型中型大型计算机上的概念. 1.终端 一台主机,连很多终端,终端为主机提供了人机接口,每个人都通过终端使用主机的资源. 终端有字符哑终端和图形终端两种. 控制台是另一种人机接口, 不通过终端与主机相连, 而是通过显示卡-显示器和键盘接口分别与主机相连, 这是人控制主机的第一人机接口.