linux下用byzanz+xwininfo录制gif

安装byzanz

  • 添加ppa源
    add-apt-repository ppa:fossfreedom/byzanz
  • apt-get update && apt-get install byzanz

使用

byzanz-record –help
用法:
byzanz-record [选项…] 录制您的当前桌面会话
帮助选项:
-?, –help 显示帮助选项
–help-all 显示全部帮助选项
–help-gtk 显示 GTK+ 选项
应用程序选项:
-d, –duration=SECS 动画的时间 (默认:10 秒)
-e, –exec=COMMAND Command to execute and time
–delay=SECS 开始之前的延时(默认:1 秒)
-c, –cursor 录制鼠标光标
-a, –audio 录音
-x, –x=像素 要录制矩形的 X 坐标
-y, –y=像素 要录制矩形的 Y 坐标
-w, –width=像素 录制矩形的宽度
-h, –height=像素 录制矩形的高度
-v, –verbose 详细
–display=显示 要使用的 X 显示

录制过程

  • 用xwininfo获取需要录制的窗口
    终端敲xwininfo,鼠标选择你要录制的窗口大小,例如:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    root@stephen-kali:/home# xwininfo
    xwininfo: Please select the window about which you
    would like information by clicking the
    mouse in that window.
    xwininfo: Window id: 0x3206301 "root@stephen-kali: /home"
    Absolute upper-left X: 487
    Absolute upper-left Y: 73
    Relative upper-left X: 12
    Relative upper-left Y: 43
    Width: 736
    Height: 459
    Depth: 32
    Visual: 0xb7
    Visual Class: TrueColor
    Border width: 0
    Class: InputOutput
    Colormap: 0x3200005 (not installed)
    Bit Gravity State: NorthWestGravity
    Window Gravity State: NorthWestGravity
    Backing Store State: NotUseful
    Save Under State: no
    Map State: IsViewable
    Override Redirect State: no
    Corners: +487+73 -143+73 -143-236 +487-236
    -geometry 80x24+475+30

只需要4个值:

1
2
3
4
Absolute upper-left X: 487
Absolute upper-left Y: 73
Width: 736
Height: 459

  • 开始录制
    1
    byzanz-record -x 487 -y 73 -w 736 -h 459 -d 10 --delay=3 -c test.gif

效果

gif

这样就完成了录制gif了,byzanz功能强大且输出10s左右的gif几乎只有1M的大小,非常适合分享到个人博客

参考

Verne in GitHub