有时候做 demo,使用视频演示最直观不过了,但是视频文件太大,并且不方便将对应的按键显示到屏幕上。
mkcast 完美的解决了这个问题。
生成 GIF 录屏
显示按键到屏幕上
下载 mkcast(https://github.com/KeyboardFire/mkcast) 并安装
git clone https://github.com/KeyboardFire/mkcast.git
cd mkcast
# 安装依赖
sudo apt-get install wmctrl byzanz -y
sudo ./setup.sh
开始录屏,执行
mkcast Terminal 10 -o out.gif
参数说明
Terminal 是对应的终端 title
10 是录屏的时长, 到时间后自动结束录屏,并 kill 掉 screenkey 进程
-o 是指定输出文件名
但是在我的 Ubuntu 14.10 上默认没有显示按键到屏幕上,看了一下 mkcast 的代码 (就是一段 bash shell), 发现 screenkey 并没有启动成功。
折中方案是,手动启动 screenkey, 等待一段时间后, screenkey 启动成功(伴随着一段莫名奇妙的错误信息),再运行 mkcast
/home/zhongwei/work/mkcast/screenkey/screenkey
Error creating proxy: Error calling StartServiceByName for org.gtk.vfs.Daemon: Timeout was reached (g-io-error-quark, 24)
(screenkey:25850): GVFS-CRITICAL **: fill_mountable_info: assertion 'proxy != NULL' failed
有空排查一下问题,再完善一下 mkcast 的脚本。
不过 mkcast 的脚本写的还是专业,后面那段干掉 screenkey 的实现愣是没看懂。