开发者社区> jeanron100> 正文

通过Linux命令实现屏幕录制和回放

简介: 平时在工作学习中如果可以录屏的话,那么在以后能够再看真是很难得的学习资料。有些远程的操作都是命令行,如果使用录屏软件,可能占用的空间极大。其实Linux中可以通过命令行来实现屏幕录制和屏幕回放。
+关注继续查看

平时在工作学习中如果可以录屏的话,那么在以后能够再看真是很难得的学习资料。有些远程的操作都是命令行,如果使用录屏软件,可能占用的空间极大。其实Linux中可以通过命令行来实现屏幕录制和屏幕回放。
如果自己需要给别人演示一些操作,可能事先已经准备好了,在演示的时候只需要播放即可。
或者在系统升级的时候需要保留必要的日志,在以后可以更加有针对性的总结,都可以通过屏幕录制功能来完成。
我们需要系统中已经安装script,scriptreplay.
比如我们可以通过如下的方式来完成。简单运行几个命令,然后通过回放来看是否能够一步一步的输出。
$ script -t 2> time.log -a record.session
Script started, file is record.session
$ echo test begin
test begin
$ echo test start
test start
$ echo test end
test end
$ exit
exit
Script done, file is record.session

到此屏幕的录制就结束了,我们通过scriptreplay来回放这个过程。
$ scriptreplay time.log record.session
输入这个命令之后,你就会看到屏幕好像被人操纵了一样,一步一步的运行命令,然后输出,感觉很有成就感。
如果你需要在别的机器上查看这个过程,可以把time.log和record.session这个两个生成的文件拷贝过去,直接运行命令即可。
时间戳文件的内容如下。都是记录了一点点的操作时间信息。
$ cat time.log
0.350314 17
0.052705 1
1.176860 1
0.241008 1
0.064975 1
。。。。
而record.session这个文件就是个日志文件,里面记录了每一步操作的内容。

Script started on Sun 04 Jan 2015 05:13:46 AM PST
$ echo test begin
test begin
$ echo test start
test start
$ echo test end
test end
$ exit
exit

Script done on Sun 04 Jan 2015 05:14:05 AM PST

以上的功能能够极大的提高我们的工作效率,毕竟很多问题的排查中都需要日志,都需要一些细节的操作内容信息。这些信息就相当于完整的回放了问题的处理过程。
如果你还不满足于此,可以试试实时分享屏幕内容给其他人,其他人不需要装其他的视频软件就能够看到你所有的操作。
毕竟视频的录制还是需要很多的资源的。
经过反复尝试,发现这个操作在两个人之间共享输出还是正常的,如果多个session,可能有些操作内容会不太完整。
我们开启两个session来操作。假设session1和session2都在同一个服务器端,同一个目录下。
session1 创建fifo的日志。
>mkfifo fifo.log

session2 开始准备监听
>cat fifo.log
session1 开始准备输出
>script -f fifo.log
Script started, file is fifo.log
$ ls   --这个时候我们的任何操作在session2中都会捕捉到。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
5分钟学会在Linux上安装Oracle和一条命令创建数据库
在Linux上安装Oracle软件的过程相当复杂,让很多初学者望而却步。但在Oracle 18c以后Oracle推出了使用rpm包安装Oracle数据库软件的安装方式
7 0
Linux - CPU性能评估_详解查看CPU性能的命令
Linux - CPU性能评估_详解查看CPU性能的命令
26 0
【Linux】echo命令用法详解
echo命令是脚本语言中的常用命令,作用相当于C语言里面的printf。在shell中,可以打印变量的值,或者输出指定的字符串,可以将结果写入到文件,也可以打印在终端。echo命令可以在显示器上显示一段文字,起到提示的作用,对于调试非常有帮助。
14 0
常用Linux命令 - 文件操作命令
作用:创建空文件或者修改文件时间
33 0
常用Linux命令 - 目录和文件都能操作的命令
rm 是强大的删除命令,不仅可以删除文件,也可以删除目录。这个命令的基本信息如下。
24 0
常用Linux命令 - 帮助命令
上箭头 向上移动一行 下箭头 向下移动一行 PgUp 向上翻一页 PgDn 向下翻一页 g 移动到第一页
24 0
常用Linux命令 - 搜索命令
whereis 是搜索系统命令的命令(像绕口令一样),也就是说,whereis 命令不能搜索普通文件, 而只能搜索系统命令。whereis 命令的基本信息如下。
30 0
常用Linux命令 - 权限管理的基本命令
第一列的权限位如果不计算最后的“.”(这个点的含义为seLinux 保护),则共有 10 位,这 10位权限位的含义如图
10582 0
【SSH】解决使用SSH命令远程连接Linux服务器加载访问慢,连接超时断开等问题
【SSH】解决使用SSH命令远程连接Linux服务器加载访问慢,连接超时断开等问题
25 0
+关注
jeanron100
Oracle ACE,《Oracle DBA工作笔记》作者 现就职于国内某互联网公司,擅长数据管理,数据迁移,性能优化,目前专注于开源技术,运维自动化和性能优化。
文章
问答
视频
文章排行榜
最热
最新
相关电子书
更多
ECS运维指南 之 Linux系统诊断
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
相关实验场景
更多
相关镜像