Ubuntu Weekly Recipe

第29回 スクリーンショットを扱う・作業を記録する

この記事を読むのに必要な時間:およそ 3 分

連続したスクリーンショット(wink)

操作の説明を行う場合,連続してスクリーンショットを撮影したいこともあるでしょう。このような場合,一枚ずつファイル名を入力する必要がある,通常のスクリーンショットツールは不便です。このような場合,⁠wink」というツールを用いるのが便利です。

標準ではインストールされていませんので,次のコマンドを用いるか,Synapticでwinkパッケージをインストールしてください。

なお,winkは本来,スクリーンショットベースのマニュアル的なドキュメントを作成するためのツールで,取得したスクリーンショットに矢印や吹き出しなどを入れ,グラフィカルな手順書を作ることができます。が,ここでは単にスクリーンショットを取得するためだけに利用しています。

$ sudo apt-get install wink

これにより[アプリケーション⁠⁠→⁠グラフィックス⁠⁠→⁠wink]から起動できるようになるのですが,winkにはロケール周りのバグがあるため,日本語環境ではそのままでは起動できません。ターミナルから次のように操作して起動してみてください。

$ LANG=C wink

このままでは不便ですので,次のようにランチャを登録することをお勧めします。

まず,メインメニュー(Ubuntuアイコン)上で右クリックし,⁠メニューの編集]を選択します。図5のようなメニューの編集画面が表示されますので,この左側ペインで,⁠グラフィックス」を選択します。

図5 メインメニューの編集

図5 メインメニューの編集

右側ペインに「グラフィックス」メニューに表示されるアイテムが列挙されますので,既存の「wink」アイコン上で右クリックし,⁠プロパティ]を開きます図6⁠。

図6 winkメニューの編集

図6 winkメニューの編集

表示されたダイアログ上で,⁠コマンド」「/bin/sh -c 'LANG=C wink'」と入力します。この状態であればメニューからwinkを起動することができます。

winkの使い方は比較的単純で,まず最初に[File⁠⁠→⁠New]と選択し,基本的な設定を行います図7⁠。

図7 winkの基本的な設定

図7 winkの基本的な設定

対象とする範囲としてScreen・Window・デスクトップ上の一定の範囲を選ぶことができますが,大抵はWinodwにするのが便利でしょう。プルダウンメニューで「Window」を選択し,キャプチャ対象にしたいウインドウを選択したら,ダイアログ下部の[OK]を押します。

あとは[Pause]でスクリーンショットを一枚,⁠Shift]+[Pause]で連続的な撮影といった形で,手軽にスクリーンショットの取得が行えます。場合によっては,対象をScreenにした状態で常駐させておき,なにか作業をするたびに[Pause]を押す癖を付けておくと便利でしょう。

ターミナル操作の保存(script, ttyrec)

ターミナル上の操作を記録したり説明したりする場合,実行したコマンドを記録しておきたいことがしばしばあるはずです。ターミナルでの操作はただの文字情報ですから,いちいちスクリーンショットを撮るよりは,ターミナル上で[全て選択]し,テキストエディタにコピー&ペーストして利用する方が便利です。またこのような場合,scriptやttyrecといったコマンドを用いると便利です。

script

scriptコマンドはUbuntuに標準でインストールされている,ターミナル上の操作を記録するためのツールです。scriptコマンドを実行することで自動的に開始されますので,その状態でコマンド操作を行い,exitで終了してください。デフォルトではtypescirptというファイルに操作ログが記録されます。

$ script
スクリプトを開始しました,ファイルは typescript です
$ (操作を行う)
      :
      :
      :
$ exit
スクリプトを終了しました,ファイルは typescript です

この操作ログにはscript実行中に行われた全てのターミナル出力が記録されていますので,後からコマンドの実行結果などを確認するのに便利です。特に,configure && makeなどを実行する場合は,scriptを用いて出力を保存しておき,後で参照できるようにすることをお勧めします。

また,scriptコマンドにはscriptreplayという,操作の様子を再生するコマンドが準備されています。これは次のように操作します。

$  script -t 2> timingfile
スクリプトを開始しました,ファイルは typescript です
$ (操作を行う)
      :
      :
      :
$ exit
スクリプトを終了しました,ファイルは typescript です
$ scriptreplay timingfile
(保存されていた操作が再生される)

scriptreplayを用いることで,操作の様子を擬似的な動画として再生できます。操作の説明などに用いると便利でしょう。なお,ファイルを受け渡す場合は,timingfileとtypescriptの2つを揃えて受け渡すようにしてください。

ttyrec

ttyrecは,scriptreplayと同じことを,より洗練した形で実行できるツールです。デフォルトではインストールされていませんので,次のコマンドを用いるか,Synapticでttyrecコマンドをインストールしてください。

$ sudo apt-get install ttyrec

操作はscriptとほとんど同じで,記録したい操作の前にttyrecコマンドを実行しておくだけです。デフォルトではttyrecordというファイルに操作が記録されます。再生は「ttyplay ttyrecord」を実行してください。

使い分けとしては,scriptはあくまで実行したコマンドの記録に使い,vimやEmacsなど,複雑な操作が必要なアプリケーションでは,ttyrecファイルを受け渡すのがスマートでしょう(ttyrecの方が再生時に不自然さがないですし,記録のためのコマンドも直感的です。なにより,受け渡す必要があるファイルが1つだけなのが大きなメリットです⁠⁠。

著者プロフィール

吉田史(よしだふみひと)

Ubuntu Japanese Team Member株式会社創夢所属。システム管理を中心にWindows/PC Unixを併用している。Ubuntu Japanese Teamではパッケージサーバの管理や翻訳などの作業を担当。