Tuesday, August 22, 2006

play with webthumb

记不清第一次是在什么地方见到 webthumb 了,就在前几天 del.icio.us 首页也增加了 web thumb 功能。 惊羡之余,Joshua Eichorn 如约放出 “Webthumb Rendering Engine Released ” 兴奋 ing。

webthumb 并没有真正 release,暂时还需要通过 websvn 界面访问。Debian 系统下安装:

#aptitude install mozilla-dev libgtk2.0-dev libglib2.0-dev libxml2-dev xvfb

$cd pageprint/src/

$make install

并没有想象的顺利,出了一点小错误,

HttpObserver.h:18: error: extra qualification 'HttpObserver::' on member 'SetupToModifyHeaders

OK,google 一把,貌似是 gcc4.1 兼容问题,换 gcc-4.0,一样的错误,修改 HttpObserver.h 18 行为:
//void HttpObserver::SetupToModifyHeaders(); void SetupToModifyHeaders();
make 顺利通过,跑一把试试:
#cp PagePrint.xml /etc $./PagePrint -s http://localost/ webthumb.jpg Url: localost, Output: webthumb.jpg Starting PagePrint (PagePrint-bin:6239): Gtk-WARNING **: cannot open display:
看来需要先起动模拟的 display:
$./scripts/runXvfb $ ./PagePrint -s http://localost/ webthumb.jpg Url: localost, Output: webthumb.jpg Starting PagePrint Xlib: connection to ":10.0" refused by server Xlib: No protocol specified (PagePrint-bin:6261): Gtk-WARNING **: cannot open display: $
模拟的 Xserver,client 连接未获得授权。
$ randomkey=`date +"%y%m%d%H%M%S"` $xauth add ${HOST}:10 . $randomkey $./PagePrint -s http://goodjobs.cn/ goodjobs .... Attempting to Snapshot Webpage Successfully wrote snapshot: goodjobs-thumb_small.jpg Successfully wrote snapshot: goodjobs-thumb_medium.jpg Successfully wrote snapshot: goodjobs-thumb_medium2.jpg Successfully wrote snapshot: goodjobs-thumb_large.jpg
great, it works! 自动生成了不同大小的四份图片,看看 medium2 的实际效果。
注:
  1. 系统为 Debian SID
  2. 实际运行 PagePrint 提示缺少 libgtkembedmoz.so,手工链接解决,不确定是否只是我本机问题。
ln -s /usr/lib/mozilla/libgtkembedmoz.so libgtkembedmoz.so

4 comments:

  1. Anonymous11:42 AM

    兄弟 我在你提供的地址找不到下载 请提供一分给我 好吗?
    coke.yang # gmail.com
    盼望你的联系!

    ReplyDelete
  2. 你可以这样co出源代码:
    svn co http://www.op-en.org/svn/pageprint/trunk pageprint

    ReplyDelete
  3. thx, 原来 repository 是 svn, 我这手工 wget 的可够傻。

    ReplyDelete
  4. Anonymous5:25 PM

    现在co 不出来了 传我一份可以吗?
    itezone#126.com

    ReplyDelete