开发者社区> 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中都会捕捉到。

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

相关文章
Linux命令小技巧:显示文件指定行的内容
Linux命令小技巧:显示文件指定行的内容
20 0
Java执行Linux命令
Java执行Linux命令
16 0
如何在Linux中优雅的使用 head 命令,用来看日志简直溜的不行
如何在Linux中优雅的使用 head 命令,用来看日志简直溜的不行
38 0
[linux] losetup 命令
[linux] losetup 命令
39 0
Linux命令awk的简单使用
Linux命令awk的简单使用
39 0
Redis6学习(四):Linux下使用命令为Redis设置密码
Redis6学习(四):Linux下使用命令为Redis设置密码
35 0
linux下开启、关闭、重启mysql服务命令
linux下开启、关闭、重启mysql服务命令
44 0
linux实现cp命令与linux下打开文件并写入源码
linux实现cp命令与linux下打开文件并写入源码
23 0
+关注
jeanron100
Oracle ACE,《Oracle DBA工作笔记》作者 现就职于国内某互联网公司,擅长数据管理,数据迁移,性能优化,目前专注于开源技术,运维自动化和性能优化。
文章
问答
文章排行榜
最热
最新
相关电子书
更多
Decian GNU/Linux安全合规之路
立即下载
从 Linux 系统内核层面来解决实际问题的实战经验
立即下载
冬季实战营第二期:Linux操作系统实战入门
立即下载