Help us understand the problem. What is going on with this article?

Linuxデスクトップ環境を Gifに記録する

More than 3 years have passed since last update.

Windowsや MacOSXだと Licecapやその他様々なツールで作業などを Gifで記録することができるのですが, Linuxだとそのようなツールがあまりありません. 動画形式で記録しそれを gifに変換というのがわりといろいろなところで書かれている印象ですが, そうやって作成した Gifは綺麗でないわりにファイルサイズがやたらでかいものとなることが多いです.

Linux環境にまともなものないんかいと思っていたところに見つけたのが byzanzです. これで作成した Gifはサイズが小さめなわりに品質は高く Githubの README.mdにも問題なく貼れます.

インストール

Debian系は以下のとおりです. (注: 古い Ubuntuだと PPAから取得する必要があります)

% sudo apt install byzanz

Redhat系は以下のとおりです(Fedoraにはパッケージがあるようです.)

% sudo yum install byzanz

使い方

以下のようになります.

% byzanz-record --duration=15 --x=200 --y=300 --width=700 --height=400 out.gif

いちいち座標を指定するのが面倒ですね. そこで拙作の byzanz-windowです.

byzanz-window

上述の通りコマンドラインからすべて操作するのは面倒なので, byzanzには byzanz-window.pyという Pythonで書かれたユーティリティが付属していました. しかしそれは Python2でしか動かないもので, Python3をメインに使っている私の環境では動きませんでした. そこでそれを Goで書き直し, マウスでドラッグした範囲を撮影する機能を追加しました.

リポジトリ

https://github.com/syohex/byzanz-window

事前準備

Debian系の場合

sudo apt install byzanz xdotool x11-utils libx11-dev

Redhad系の場合

sudo yum install byzanz xdotool xorg-x11-utils libx11-devel

インストール

一応バイナリもおいていますが, あまり確認していないのでソースからインストールした方が確実かと思います.

% go get -u github.com/syohex/byzanz-window/cmd/byzanz-window

利用方法

基本的には以下のようになります.

% byzanz-window --duration=30 --delay=5 output.gif

--durationで取る時間(単位: 秒), --delayで何秒後から撮影を開始するか, 最後に出力するファイル名を指定します. 基本はこれらのオプションと後述するモード指定のためのオプションで十分と考えます. その他のオプションは --helpREADME.mdを参照してください.

撮影モードは 2つあり, 指定したウインドウを記録する Windowモード(デフォルト)と特定の領域を記録する rectangleモード(--rectangleモードを指定)

Windowモード

操作は以下のようになり,

window-mode1

出力される Gifは以下のようになります.

window-mode2

Rectangleモード

操作は以下のようになり,

rectangle-mode1

出力される gifは以下のようになります.

rectangle-mode2

おわりに

Linuxデスクトップ環境で作業を Gifで記録するための byzanzとそのユーティリティである拙作の byzanz-windowを紹介しました. 他にいいツールをご存知の方がいればぜひ教えていただければと思います.

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした