PrintScreenキーでは撮れないスクリーンショットを撮る(Ubuntu12.04でコマンドによるタイマー撮影)

追記:Githubにて「スクリーンショットのタイマー撮影」ショートカットを簡単に追加できる bashスクリプトを公開しました。

通常、スクリーンショットを撮りたければPrintScreenキーを押すだけで十分です。

しかし、UnityのDash、メニューバーを展開した状態、Webページのドロップダウンリスト、ポップアップメッセージなどを撮りたい場合、PrintSceenキーではこれらのスクリーンショットを取得することができません。

具体例としては、PrintScreenキーでは、上に載せたようなカレンダーウィジェットのスクリーンショットを撮ることができないと思います。試してみてください。


Ubuntu12.04のカレンダーウィジェット

スクリーンショットが撮れない状態では、PrintScreenキーを押しても無視されます。
あるいはPrintScreenキーを押す操作によってキャプチャしたい操作状態がキャンセルされてしまい、スクリーンショットを撮ることができない場合もあります。

コマンドによるタイマー撮影

以下のコマンドを使えば操作中のスクリーンショットを簡単に取得することができます。
$ sleep 5 ; gnome-screenshot


カメラの「タイマー」相当の機能を、コマンドによって実現しています。
このコマンドを実行すると、5秒後にスクリーンショット撮影のエフェクトが発生し、デスクトップにスクリーンショット画像が作成されているはずです。
この方法ならばさらに、両手が必要でスクリーンショットを撮ることができない操作であっても、PrintScreenキーを押せない状態でスクリーンショットを撮ることができます。

GIMPのメニューバーを開いた状態のスクリーンショット



コマンドラインから実行できるスクリーンキャプチャには、他にも、
import xwd scrot shutter
などがありますが、「http://d.hatena.ne.jp/ohnishiakira/20110120/1295536656」にて紹介されているように、import, xwdには「ウィンドウの透過がスクリーンショットに反映されず、綺麗なスクリーンショットが撮れない」という問題が起こります。
また、 scrot や Shutter は使用する前にインストールしておく必要があります。

gnome-screenshot はUbuntuにデフォルトでインストールされているため、ソフトウェアを追加でインストールする必要がありません。

ただし、 VirtualBox 4.3環境で Unity デスクトップを撮れないようです。
上手く行かなかったら他のアプリケーションを試しましょう。

VirtualBox4.3 Unity デスクトップにてスクリーンショット取得失敗の様子


なお、gnome-screenshot コマンド自体のオプションにタイマー撮影機能が存在します。
わざわざsleepを使ったのはなんとなくです。
トップウィンドウのみをキャプチャするオプションも存在します。
ただし、ウィンドウ領域からはみ出すと、バーや通知は見切れてしまいます。
基本的には全画面をキャプチャしたスクリーンショットを取得してから、GIMPなどで切り出す手法を取るのが確実です。


キーボードショートカットでタイマー撮影ができる設定を行う

設定の「キーボード」から「ショートカット」を選択して、
Shift+PrintScreenを割り当ててしまいました。

ショートカット追加のボタンと、スクリーンショットのショートカット


ショートカットで実行するコマンドには、連続する複数のコマンドは指定できません。
そこで、gnome-screenshotの持つタイマー撮影オプションを使用します。
コマンド(O)に、
gnome-screenshot --delay=5
を書き込みます。
秒数は使いやすいように調整してください。

独自のショートカット設定を追加

ショートカットキーはわかりやすいように、「選択領域のスクリーンショットを撮る」に使われているショートカットの Shift+Print を 割り当てることにしました。
私はこの機能を使わないのでショートカットキーの割り当てを上書きしてしまいましたが、それで困る場合は別のショートカットキーを割り当ててください。

ショートカットキーの割り当て

 以上で、ショートカットキーによるタイマー撮影を実現することができます。

0 件のコメント:

コメントを投稿

TIGORA(ティゴラ)のトレッキング シューズ

 TIGORA(ティゴラ)の トレッキング シューズを買いました。 メインの靴がアシックスウォーキングで街歩き用なのですが、これまではこれで高尾山などの軽い山も登っていました。 今回、靴底があまりに摩耗したこともあってアシックスウォーキングを買い替えたのですが、ついでに消耗が激...