Home » 2010 » July

在 Linux 上架設 Screenshot Service (2010 年了?)

在 2008 年的時候 xdite 寫過一篇「在 Linux 上架設 Screenshot Service」,不過現在是 2010 年了,不少當初有問題的地方都已經改善了,現在要架比之前方便不少...

測試的平台同樣是在 Linode (referral code 是 fdbacc96dbddafce9ba444dd678357416d0323d5) 上跑 Debian lenny (也就是 5.0 版),為了避免 Adobe Flash PlayerLinux amd64 上會出問題,我在 Linode 上用 32bits 版。

Linode 把預設的 Debian 裝完後,先把整個系統升級到 Debian squeeze 並且重開,然後先裝「locales」這個套件,再用 dpkg-reconfigure locales 把 en_US.UTF-8 以及你自己會用到的 locale 勾起來。

接著開始裝必要的套件:

  • flashplugin-nonfree
  • iceweasel
  • ttf-arphic-bkai00mp
  • ttf-arphic-bsmi00lp
  • ttf-arphic-gbsn00lp
  • ttf-arphic-gkai00mp
  • ttf-arphic-ukai
  • ttf-arphic-uming
  • ttf-wqy-zenhei
  • xvfb

Iceweasel 其實就是 Firefox,因為商標問題而在 Debian 上有不同的名字。在英文版維基百科的「Mozilla Corporation software rebranded by the Debian project」這篇文章裡把前因後果講得很清楚,這邊就不提了...

除了必要的套件外,接下來裝 TightVNC server,準備透過 VNC 設定 Iceweasel。設完後可以移除掉或是留下來,我自己是留下來 (反正檔案不大),有時候可能要進去 about:config 調整參數...

TightVNC server 用 tightvncserver :0 跑起來,然後遠端連進去把 Iceweasel 跑起來測試看看有沒有問題 (可以透過 PuTTY 的 tunnel 將傳輸過程加密),沒有問題的話就裝「torisugari: Command Line Print」這個套件,裝好後再把 Xvfb 跑起來,用這個指令抓圖:

DISPLAY=:2.0 iceweasel -print http://zh.wikipedia.org/ -printmode png -printfile ~/zh.wikipedia.org.png -printdelay 10

抓出來的 screenshot 就會像這樣:(點這裡看原大小圖片)

Flash 也沒問題:(點這裡看原大小圖片)

比起之前的方法,現在的方案有兩個好處:首先是 plugin 是照正規方法裝進去,而不是直接丟 xpi,可以避免遇到奇怪的靈異現象時懷疑是不是安裝時硬塞造成的。再來是 Iceweasel 會在抓完就 shutdown,所以在網路速度夠快的時候可以提前結束,而網路不夠快時也不用擔心抓到未完成圖...

當然剩下有很多細節要處理啦,不過那是另外一回事了...

Mozilla 官方的 Firefox 套件相容性回報程式

順便可以拿來取消版本檢查...

我桌機的 Firefox 雖然是跑 3.6 系列,但筆電上還是跑 Minefield。之前一直都是靠 Nightly Tester Tools 強制套件不要檢查版本,但在 4.0 beta 後一直沒更新,於是 Nightly Tester Tools 就失效了... XD

後來在 comment 的地方看到有人說 Mozilla 官方自己跳出來弄了一個「Add-on Compatibility Reporter」,一樣可以做到這件事情,除此之外還可以回報套件在新版上是否正常...

於是 Minefield 的套件就都跑起來了,測了一下,果然一堆套件在 4.0b3 上爛掉... XD

HTTP Redirect Response Cache

之前在 debug 時為了 HTTP Redirect Response 的 cache 問題測過一些,發現結果很亂,後來找到一些 workaround 避開 redirect response 後就沒有再研究太多。今天在「Redirect caching deep dive」這篇看到在討論 HTTP Redirect Response 時的 cache 問題,作者把幾個常見的瀏覽器都測過一次作成表格...

可以看出來情況還蠻複雜的,雖然 RFC 有定義 cache 的時機,但沒有一家完全照 "SHOULD" 的規矩來 XD

不過既然有人提出來而且整理成表格了,之後應該會修正...

Twitter 要建立自己的 Data Center

Twitter 剛剛發的公告:「Room to grow: a Twitter data center」。

目前 Twitter 是購買 NTT America 的 transit,預定在今年秋天時在 Salt Lake City (鹽湖城) 建立自己的 data center。

就文章所說得部份看不出來打算做到什麼程度,但我猜以 Twitter 目前的規劃,應該是租用既有的機房空間,而非從建築物開始蓋。在建立自己的網路架構後,混合 transit 與各 ISP peering。這種方法比較接近 Google龍潭所成立的機房。

不知道之後會不會在 conference 上介紹怎麼弄機房...

Rackspace 的 OpenStack

Rackspace Cloud 提出了 The OpenStack Project,以 Apache License 2.0 公開了兩個專案:OpenStack Compute (Nova) 以及 OpenStack Object Storage (Swift) (目前 Swift 需要登入)。

兩者的文件可以在「Welcome to nova’s documentation!」與「Welcome to Swift’s documentation!」這兩邊看到,都是以 Python 開發出來的架構。對應到 AWS 的架構分別是 EC2S3。由於剛被丟出來,還沒有什麼測試資料與數據可以看,不過文件還蠻完整的,應該很快就有人將測試結果與感想丟出來。

除了底層的基礎建設外,在 Launchpad 上可以看到其他的專案在發展,像是 OpenStack Web Control Panel

Google 的字型預覽服務

Google Font Directory 讓使用者可以在網站上看到字型,前幾天推出的 Preview 功能可以讓你丟一段文字進去看效果,目前只有英文字型。

測了一下 Preview 的部份,在 IE8 與 Firefox 3.6 都可以運作,不過 IE8 的 HTML code 部份好像有點問題...

如果懶得點進去玩,可以參考「Google Font Previewer」這篇文章給的網站截圖。

YouTube 將提供 4096x3072 的影片格式給合作夥伴...

TechCrunch 上看到 YouTube 將提供 4096x3072 的影片格式讓合作夥伴上傳:「YouTube Announces Partner Grants Program, Support For 4K Video Resolution」。YouTube 的公告則是在「What's bigger than 1080p? 4K video comes to YouTube」這篇。

YouTube 先把自己能做的部份做完,接下來只要有 source 就能上去。

接下來的困難在於,能拍攝 4096x3072 格式的設備不便宜,而且就算有 source,使用者也必須有超大的頻寬才看得動。但如果超高解析度會是潮流,YouTube 會先把位置卡死,不讓其他業者進入...

中華電信的單一登入系統...

前陣子發現 Xuite Blog 有時候會被導到登入頁?後來發現只要在 emome 登入過就會造成 Xuite Blog 上不去。

先就症狀猜了老半天,然後用 Firebug 看了半天,但因為 Firebug 在 redirect 後會重新紀錄,所以猜不出原因...

直到後來被 jnlin 提醒用 HttpFox 抓,才看出來中華是怎麼玩的...

中華電信的單一登入系統在 cht.com.tw 網域下,而為了要讓其他網站可以取得資訊,利用多次 redirect 帶入授權資訊讓 emome.nethinet.netxuite.net 設定 cookie 登入。(也就是 http://member.*/HiReg/setcookie?... 這些 redirect request)

這讓我想到 OpenID 好像有支援 AJAX style 的登入方式,缺點是會用到 javascript?該看一下了...

Archives