動作環境、必要なプログラム:
■ Xvfb (X virtual framebuffer)
■ xwd (X Window Dump)
■ firefox
■ ImageMagick
まずは上記ソフトが必用。
インストール方法はディストリビューションによって異なるので、マニュアルを参照してください。Xvfbに関してはディストリビューションに含まれていないかもしれません。
とりあえずは動く事が目的です。今回はターミナルを二つ開きました。
ターミナル1: Firefoxの下準備があるので、まずはフレームバッファーを開こう。
Xvfb -ac -screen :0 1024x796x24 2>&1 > /dev/null &
ターミナル2: 続いてFirefoxを開き、プロフィールが作られるようにしよう。
DISPLAY=:0 firefox
ターミナル2: 続いてはFirefoxを閉じてプロフィールを編集しよう。
~/.mozilla/firefox/プロフィール名/prefs.jsを編集し次のように書き足しましょう:
user_pref("browser.sessionstore.enabled", false);
user_pref("browser.sessionstore.resume_from_crash", false);
user_pref("browser.startup.page", 0);
user_pref("plugin.default_plugin_disabled", false);
user_pref("privacy.popups.disable_from_plugins", 3);
user_pref("alerts.totalOpenTime", 1);
user_pref("security.enable_ssl2", false);
user_pref("security.enable_ssl3", false);
この設定はFirefoxが起動するとき、キャプチャの邪魔をしないようため必要です。
ターミナル2: Firefoxでキャプチャをしたいページを開き、スクリーンのdumpを取り、ImageMagickで画像のフォーマットを変換しましょう。
DISPLAY=:0 firefox -remote "openURL(http://www.yahoo.co.jp/)"
xwd -root -out -display :0 screen.xwd
convert screen.xwd screen.gif
キャプチャが撮れるようになれば、後はPHPなどを使ってHTTPリクエストに反応させるなど色々な事が可能になります。
記事キーワード: Firefox, ImageMagick, Linux, Xvfb, xwd, キャプチャ, スクリーンショット
コメントはまだありません 