重新认识 KDE4.x — 第二弹:用好KDE不需要疯狂折腾配置: Plasma 简介 | iBentu

首先,感谢大家的关注。(貌似忘了先。。。)先为上一弹补充一下,此系列文章,意图不是和 Awesome 比简易程度,两者不应该相比简易程度,两个事物完全不同。

因为,Plasma 实在很强大,功能多,要把全部都给大家说清,那将会是很长很长的文字。自然大家又会想到复杂,确实功能一多,一强大就会复杂。但是,要用好 KDE 也不需要完全掌握所有配置方法和功能。KDE 功能是多,但是我们只需用我们需要的就够了,当然,每个人的需求也不同。

尽管大家都见过 KDE 的截图了,还是放一个截图上来。

左上方的就是 Folder View Widget,左下方是微博客Widget,中间是 Remember the Milk Widget,右边从上至下分别是,时钟,桌面切换(Pager,这里我有开了4个桌面),便条,回收箱(对,这个回收箱也是个widget)。

用文字介绍确实不容易,而且不易说清。由于机器的性能问题,本人不便制作视频教程,这里附上 KDE 官方的 Plasma 视频演示。建议大家先看一下,再看我下面的介绍。 这个视频演示让人感觉是比较激动人心的。(顺便一提的是,Apple 对 Mac OSX 的视频教学真的做得很好。)

Improved Interaction with the Plasma Desktop Shell (download)

Plasma 又称 Plasma Desktop Shell,就是 KDE 的桌面,就和GNOME Shell 是同一类事物,但是他们无论在外观还是使用上都很不一样。

Plasma 有什么?

这里尝试用类别的方法吧~ GNOME 的桌面有面板(Panel)有小程序(Applet)。KDE 则有 Panel 和 Widget(由于我没有怎么用过中文版,所以不知道官方的翻译是什么,这里就译作“小工具”)

Widget 是 Plasma 里面一个很重要的部分,各种各样的 Plasma Widgets 让你很容易就在桌面完成了一些事情(当然,Plasma 还在不断进步中)。大部分人都对 Widget 有所了解,比如Compiz Screenlet,Opera Widget,MS Windows Widget(从Vista开始加入的),还有 Mac OSX 的 Dashboard Widget。

传统桌面的 Widget 都是一些基本,简单的工具,但是 Plasma 把Widget 向前推进了一步。Plasma Widget 不仅仅是只能放于桌面上,而且能加到 Panel 上(加到Panel上的Widget 看起来和放在桌面上会有点不同)。

下面将介绍一下部分常用的 Widgets。

1. Folder View
传统的桌面一般是在桌面上把你的桌面文件夹的内容显示出来。KDE则是认为,我们应更好地利用桌面,不应该只显示桌面文件夹的内容。所以,默认的 KDE 桌面上是不使用整个桌面来显示桌面文件夹的内容的。KDE 使用的是 Folder View 这个 Widget。Folder View 给予了用户能访问文件夹,查看文件,文件预览,等等,简单来说就是一个文件管理器的窗口以Widget的形式表现出来。当然,你可以任意开多个 Folder View Widget 出来,可以设置显示你想要显示的文件夹。Folder View Widget 这个设计可以避免了桌面的混乱,也让用户能更快速地访问常用的文件内容。

左边是我设定显示的 Dropbox 文件夹,右上方是图片,右下方是 PDF 文档。

当然,要是你不喜欢这样,也可以设置让 KDE 使用回传统桌面那样显示文件夹内容

2. Plasma Drag & Drop — 在 KDE SC 4.4 里面,又再推进了一步。

这是个非常贴心的功能,把文字拖放到 Plasma 空白的地方上,就能把文字作为 note 添加到 Plasma 上。

如果拖放的是网址呢?

Plasma 会调用 Web Browser Widget 给你打开这个网址,就是赋予了用户能把一些界面比较小的 web app(如一些小巧的 Twitter Client)直接放到桌面上用,而不需要搞个应用程序窗口出来(如,chrome 的 web-app 模式,firefox 的 Prism)当然,这个 Widget 目前还不是很成熟,其后端是使用 Konqueror,渲染比较慢。

3. Show the Plasma Dashboard

既然 Plasma Widget 是用户常用的工具,放在桌面上的优点是方便。所以当窗口挡住了这些 widget 时,Ctrl+F12 即可调动出Dashboard,当然你也可以点击 Panel 上的 Show the Plasma Dashboard 来实现。

Plasma Dashboard 上的 Widgets 默认是和桌面上的一致,也能设置成独立开来,这样,桌面有桌面的 Widget,Dashboard 有Dashboard 的 Widget。完全可根据你的喜好来设置。

4. Activities

假设你开了4个工作区(workspace),你想在不同的工作区上使用不同的 Widget,Plasma 照样能满足你的要求。

5. Kickoff Application Launcher

如果你不太熟悉 KDE 的程序,用 Kickoff 程序启动器或浏览程序是一个不错的选择。

Kickoff 也支持输入搜索程序,可通过 Alt + F1 启动。

你可能觉得奇怪为什么一个程序启动器都放到 Widgets 来介绍,和我之前说的一致,Kickoff 也是一个 Widget,你甚至可以把其添加至桌面。

Plasma Widgets 有很多,可添加第三方的; 甚至支持添加 Mac OSX 的 Widget。先介绍到这里。下面将介绍和 Plasma Desktop Shell 的另一重要部分。

Krunner – Alt + F2

KDE 有 Krunner,Krunner 和 Gnome-do,Kupfer 类似,当然 Krunner 没有这两个程序强大。(BTW,GNOME-do 也改为 Do  了,未来的 Do 也将会支持 KDE)

Krunner 能做什么?

  • 计算器 & 单位换算器

等号放在表达式的前后均可,支持更复杂的运算。
=sqrt(4) + 32 * sin(60)

格式:数量 输入单位 in 输出单位; 如:45 pounds in grams 就会出现相应的结果

  • 打开网页


直接输入网址,会使用系统的默认浏览器打开网址。

  • 启动程序

可以输入程序的名字,也可输入程序的描述或所属类别

  • 打开位置

输入路径,调用文件管理器打开。

也能通过输入(在文件管理器中,已加入到常用位置的)文件夹的名称。

  • 执行命令

  • 快速启动任务管理

通过点击 Krunner 的扳手图标启动

  • 切换窗口 & 切换桌面(工作区)

用户能通过 Krunner 来切换窗口
只需要键入窗口标题所包含的关键字即可(这里我的第四个工作区名称也是 Konsole)
Krunner 依次列出:启动 Konsole 程序,切换到名为 Konsole 工作区,切换到当前活动的 Konsole 窗口。

通过设定 Krunner 的快捷键能启用 Runner “Windows” Only 的模式。

这时按 Meta + W 就能激活,Jeonkwan 觉得这也许是为什么 KDE 一直没有做 dock 的原因。

  • 电源管理


  • 还有更多

注意:要使用 Krunner 的 Desktop Search 需要先开启 Nepomuk,其实就是全文检索,不过目前只对英文有效,对于我来说使用率不大,也考虑到性能问题,所以我这里关闭了。

KDE 是推荐使用其默认配置感受这新一代的桌面环境,当然KDE也符合 Linux 所强调的 Freedom 的概念,给予用户自由选择的权利,如果你是高级一点的用户,你不怕把手弄脏(其实也不会怎么脏),可以按你的需要去调整 KDE 到最适合你。对于大部分用户来说,默认的配置已经很好用了。

功能强大的东西,一旦给予你可配置的选择,配置的选项就自然多了。但是,作为普通使用,我们更本不需要完全掌握如何去配置每一个细节。或许有时候我们太习惯要去更改配置了,而忽略去享受开发者为我们设计的默认配置。

Plasma 是有很多 Widgets,但是我们不必都用上。对于我来说,桌面有 Folder View,Note 和回收箱就够了,当然,Krunner 是被大量使用的,而 KDE 在设计上也是让用户大量使用 Krunner 的。

最后,Plasma 绝对不是让 KDE 用户喜欢 KDE 的唯一一点,换句话说,KDE 并不是只有一个好看的 Desktop Shell 而已,很多K系列程序是非常优秀的。

希望大家对 KDE 有新的看法,Jeonkwan 也第一次写这么长的文章,希望大家喜欢这个用时1天半的文章。:-)

PS: 下一篇暂时计划是 Kwin 为主题,发布时间间隔可能会长一点。继 Kwin 后应该会是介绍K系的优秀程序。

怕了吧,我用命令列玩Google | T客邦 - 我只推薦好東西

Cl001_custom_ GoogleCL就是指Google Command Line,這是一個可以讓你直接用命令列和Google服務溝通的工具。不論是Google文件、日曆、Picasa相簿或是YouTube影片,只要一行命令就可以直接上傳,而且還能執行一些額外的工作,例如編輯、刪除和條列等。

GoogleCL官方網站:http://code.google.com/p/googlecl

系統需求

  • Python 2.5或2.6

  • gdata 1.2.4以上

安裝方式

由於GoogleCL可以跨平台使用,每種平台安裝方式都不太相同,分別說明如下(以下教學以Unix-based系統為主):

Mac OS X

要在Mac OS X上安裝GoogleCL,請執行以下步驟:

  1. 安裝 MacPorts(下載位置:http://www.macports.org/install.php);

  2. 打開終端機,輸入 sudo port -v selfupdate,讓MacPorts更新程式列表;

  3. 安裝GoogleCL,請在終端機中輸入 sudo port install googlecl

GoogleCL需要Python和Gdata,不過如果你的電腦上沒有安裝這兩個程式的話,MacPorts會自動幫你安裝。

Linux(以Ubuntu為例)

想在Ubuntu上安裝GoogleCL,請執行以下步驟:

  1. 打開終端機,然後輸入 sudo apt-get install python-gdata

  2. 下載GoogleCL deb版本(下載網址:http://tinyurl.com/3x9xk57);

  3. 在終端機中移動到deb檔案所在的資料夾;

  4. 輸入 sudo dpkg -i googlecl*.deb

Windows

如果你要在Windows上安裝GoogleCL,請執行以下步驟:

  1. 下載並安裝Python(下載網址:http://python.org/download/);

  2. 下載 GData-python-client並解壓縮(下載網址:http://code.google.com/p/gdata-python-client/);

  3. 選擇「開始功能表」->「執行」,然後輸入 cmd

  4. 在純文字介面中,切換到GData的資料夾;

  5. 接著輸入 [python安裝位置]\python setup.py install,Gdata就會自動安裝;

  6. 下載GoogleCL(下載位置:http://tinyurl.com/236826h);

  7. 再一次切換到GoogleCL的資料夾;

  8. 請輸入 [python安裝位置]\python setup.py install,GoogleCL就會自動安裝。

Note:一般來說,在Windows底下Python 2.6的預設安裝目錄是:C:\python26\

用法

安裝好GoogleCL後,我們就可以開始用Google Command Line的強大功能了,在Unix-based中基本的命令結構如下:

google [服務] [工作] --[參數] [檔案]

其中服務是指你要使用的Google服務,而工作則是這個服務可執行的基本功能,例如上傳、刪除等。參數則是用來指定檔案名稱、標籤或是要使用的編輯器等參考資料,而檔案就是指你要處理的檔案了。這部分我們會在各個服務的介紹中再次說明。

Tips:如果你是用Windows系統,請使用 C:\Python26\python C:\Python26\Scripts\google 取代Unix-based系統中的 google 指令。另外現在GoogleCL仍然不能處理正體中文的檔名,因此檔名請用英文。

GoogleCL服務之一:Google Docs

GoogleCL中的Google Docs服務大概是最強大的功能了,你可以透過GoogleCL上傳、下載、刪除甚至編輯Google Docs,不過即使我們下了 --format 參數,下載文件時也只能以txt檔下載。而透過GoogleCL的部分也因為目前僅支援終端機中的純文字編輯器,如:vim或emacs等,所以也只有純文字的編輯能力。

不過還是有變通的方法,例如我就是利用reStructuredText(或簡稱ReST)這個輕量標籤語言來撰寫純文字檔,並使用Google Docs當作雲端儲存,ReST在需要的時候可以方便的轉換成html、pdf或odt檔,如果有需要也可以轉成Word檔來用,非常方便。

基本指令:Google docs [工作] --[參數] [檔案]

▲GoogleCL裡最好用的就是可以直接以純文字編輯器來編輯Google Docs上的檔案,打開終端機後,輸入 google docs edit --"文件名稱" --editor "vim" 就可以使用vim編輯該份文件,如果你的Google Docs上沒有相同檔案,則會開啟一份新文件。第一次使用GoogleCL時會請你建立使用者設定檔,請輸入Google帳號即可。

Tips:除了終端機內的純文字編輯器如vim和emacs之外,目前GoogleCL不支援任何GUI文字編輯器,如Notepad 等會無法存檔。不過現在版本的GoogleCL使用vim編輯時會有一點小問題,第一次開新檔時,請不要用 :w 存檔,而是用 :wq 存檔並退出,否則GoogleCL會無法儲存,第二次開啟相同的檔時,就可以使用 :w 來存檔了。至於emacs則是完全沒有問題。

▲接著GoogleCL就會自動連到Google Accounts的存取允許頁面,如果你有多個Google或Google App帳號的話,請選擇要使用的帳號。

▲然後請選擇「Grant access」按鈕允許GoogleCL存取你的Google帳號。

▲接著再次輸入GoogleCL指令。

▲因為我的Google Docs裡面沒有相同名稱的檔案,因此GoogleCL會自行建立一個新檔。

▲接著你就可以開始使用vim或是emacs等文字編輯器來編輯內容了。

▲編輯完成後,存檔並關閉文字編輯器,GoogleCL就會上傳你所做的更動,接著登入Google Docs你就可以看到剛剛建立的檔案了。

▲開啟檔案你就可以看到剛剛編輯的內容已經上傳了。

Google Docs 可執行的工作

delete

刪除檔案。範例:google docs delete --title "test123"刪除名為「test123」的檔案。

list

文件列表。範例:google docs list title,url-direct --delimiter ": "列出所有文件檔名及文件的直接連結,並且中間用冒號分隔。

upload

上傳文件。範例:google docs upload ~/Desktop/test123.doc上傳一個名為「test.doc」的檔案。

edit

編輯文件。範例:google docs edit --title "test123" --editor "vim"使用vim編輯一個名為「test123」的檔案,如果Google Docs裡面沒有相同名稱的檔案,則會建立一個新檔。

get

下載文件。範例:google docs get --title "test123"下載一個名為「test123」的檔案。

Google Docs 可使用的參數

title

文件名稱。

editor

使用的文字編輯器。

format

指定檔案格式,可使用「document」(文件)、「spreadsheet」(試算表)、「Presentation」(簡報)等。

delimiter

指定分隔符號。

folder

指定資料夾。

GoogleCL服務之二:Google Calendar

GoogleCL用在Google Calendar的時候可以執行新增、刪除、列表和顯示今天的行事曆等工作。

基本指令:Google calendar [工作] --[參數] [記事]

▲要直接從終端機新增記事,請輸入 google calendar add "記事",然後在第一次使用時也請輸入Google帳號並允許GoogleCL存取你的帳號。

▲接著打開Google Calendar,你就可以看到剛剛輸入的記事顯示在你的行事曆了。

Tips:由於是使用文字介面輸入行事曆,因此請使用Google Calendar的Quick add方式輸入記事,使用方式請參閱:http://tinyurl.com/25jvm8l

Google Calendar 可執行的工作

add

增加記事。範例:google calendar add "於 16:00 開會",這會在今天的行事曆上下午四點新增一筆「開會」的記事。

delete

刪除記事。範例:google calendar delete --cal "work" --title "開會",這個指令會刪除「work」行事曆裡名為「開會」的記事。

list

列出行事曆。範例:google calendar list --date 2010-05-01,2010-05-31這個指令會列出2010年5月1日到31日間所有的記事。

today

列出從現在起24小時內的行事曆。範例:google calendar today

Google Calendar 可使用的參數

title

記事的名稱。

cal

行事曆的名稱。

date

時間。在GoogleCL裡,時間表示的方式為「YYYY-MM-DD」(當天的行事曆)、「YYYY-MM-DD,」(當天以後的行事曆)、「YYYY-MM-DD,YYYY-MM-DD」(這兩天之間的行事曆)和「,YYYY-MM-DD」(當天以前的行事曆)。

query

搜尋所有的文字,包含記事標題、標籤和內文。

GoogleCL服務之三:Google Contacts

GoogleCL裡的Contacts服務可以直接從終端器輸入或刪除一筆聯絡資訊,並能新增或刪除聯絡人群組。

基本指令:google contacts [工作] [連絡人資訊]

▲要輸入單筆聯絡人資訊,請輸入 google contacts add "聯絡人名稱, 聯絡人電子郵件",目前仍無法輸入其他的聯絡資訊,另外如果想一次輸入多筆聯絡人的話,請用以上格式將所有聯絡人的資訊輸入到一個純文字檔中,並將副檔名改成 .csv 後,輸入 google contacts add xxx.csv

▲接著你就可以在Gmail裡的聯絡人裡找到剛剛輸入的聯絡人資訊了。

Google Contacts 可執行的工作

add

新增聯絡人。範例:google contacts add "PCHome編輯部, pchome@hmg.com.tw",這會在你的Gmail聯絡人裡新增一筆名為「PCHome編輯部」的聯絡人。

add-groups

新增聯絡人群組。範例:google contacts add-groups Friends,這會新增一個名為「Friends」的群組。

list

列出聯絡人。範例:google contacts list name,email,這會以「姓名,電子郵件」的格式列出所有聯絡人,中間逗號後不可有空格,目前測試電話仍無法顯示。

list-groups

列出所有的聯絡人群組。範例:google contacts list-groups

delete

刪除聯絡人。範例:google contacts delete "PCHome編輯部",這會刪除名為「PCHome編輯部」的聯絡人。

delete-groups

刪除聯絡人群組。範例:google contacts delete-groups "Friends",這會刪除名為「Friends」的聯絡人群組。

Google Contacts 可使用的參數

GoogleCL服務之四:Blogger

雖然現在大多數的使用者都偷懶去玩微網誌了,不過還是有努力的人會去寫部落格的。因此GoogleCL當然也就支援Blogger發布,讓這些勤勞的人使用。通常一篇部落格文章都很長,雖然你也可以直接輸入在指令中,不過還是建議將內文另外儲存到一份純文字檔裡,再用GoogleCL發布上去。

基本指令:google blogger [工作] --[參數] xxx.txt

▲要用GoogleCL來發布部落格文章,建議還是先寫在一份純文字檔中。

▲然後請輸入 google blogger post --tag "標籤" --title "文章標題" [內文純文字檔位置]

▲接著你就可以在你的部落格上面看到剛剛發布的文章了。

Google Blogger 可執行的工作

post

發布文章。範例:google blogger post --tag "test" --title "test" --draft "test",這會在你的Blogger主要部落格中建立一篇標籤、標題和內文都是「test」的文章,並存成草稿。

tag

為文章上標籤。範例:google blogger tag --title "test drive googlecl" --tag "test_drive",這會為「test drive googlecl」這篇文章加上「test_drive」的標籤。

list

列出部落格中所有文章和該文章的連結。範例:google blogger list --delimiter ": " --blog "PCHome Test",這會列出「PCHome Test」這個部落格(假設你有很多Blogger部落格在同一帳號下)中的所有文章,並以「:」分隔標題和網址。

delete

刪除一篇文章。範例:google blogger delete --title "test drive googlecl",這會刪除你的主要部落格中「test drive googlecl」這篇文章。

Google Blogger 可使用的參數

title

指定文章標題。

blog

指定部落格名稱。

delimiter

指定分隔符號。

draft

將文章儲存為草稿。

tag

指定標籤名稱。

GoogleCL服務之五:Picasa

GoogleCL的Picasa服務可以讓你直接上傳照片、建立相簿或著刪除照片和相簿等。

基本指令:google picasa create --title "[相簿名稱]" [要上傳的圖片位置]

▲如果要上傳照片到新相簿,請輸入 google picasa --title "[相簿名稱]" --tags "[相片標籤]" [要上傳的照片位置],這樣就會將你指定的照片上傳到Picasa中你指名的新相簿中,並加上標籤。

▲等指令跑完後,你就可以在指令的相簿裡找到剛剛上傳好的照片了。

Google Picasa 可執行的工作

create

建立新相簿。範例:google picasa create --title "test" ~/Desktop/xxx.jpg,這會將桌面上xxx.jpg這張照片上傳到Picasa中新建立的「test」相簿。

post

將照片傳到已有的相簿。範例:google picasa post --title "Tours" ~/Desktop/xxx.jpg,這會將桌面上xxx.jpg這張照片上傳到Picasa中的「Tours」相簿。

get

下載相簿裡的照片。範例:google picasa get --title "Tours" --query "SF" ~/Desktop/SFPhotos/,這會將「Tours] 相簿裡,標籤裡有「SF」字樣的照片全部下載到桌面上「SFPhotos」資料夾中。

delete

刪除相簿或照片。範例:google picasa delete --query "nude",將標籤裡有「nude」字樣的照片全都毀屍滅跡。

list

列出照片。範例:google picasa list --title "Tours" --delimiter ": ",這會將「Tours」相簿裡的所有照片和其直接連結都列出來,並以「: 」分隔。

list-albums

列出相簿。範例:google picasa list-albums --delimiter ": ",這會列出你所有的相簿和其直接連結,並以「: 」分隔。

tag

為照片加上標籤。範例:google picasa tag --query "SF" --tags "San Francisco",這會為標籤裡有「SF」字樣的照片加上「San Francisco」這個標籤。

Google Picasa 可使用的參數

title

相簿名稱。

query

搜尋字串。

delimiter

指定分隔符號。

tags

指定標籤名稱。

GoogleCL服務之六:YouTube

使用GoogleCL也可以讓你上傳、刪除和標籤YouTube影片。

基本指令:google youtube post xxx.avi

▲如果要上傳影片請用「post」指令,不過要注意的是,GoogleCL不支援中文檔名上傳。請輸入 google youtube post --category [類別名稱] [影片檔位置]就可以上傳影片。

▲然後進入你自己的YouTube頁面,就可以看到剛剛上傳的影片檔了。

Google YouTube 可執行的工作

post

發布影片。範例:google youtube post --category "Travel, Education" ~/Desktop/xxx.avi,這會將桌面上xxx.avi這個影片上傳到YouTube上,並加入「Travel」和「Education」兩個分類。

delete

刪除影片。範例:google youtube delete --title "xxx",這會刪除你的YouTube帳號裡名為「xxx」的影片。

list

列出影片。範例:google youtube list --tags "travel",這會列出所有標籤為「travel」的影片。

tag

為影片加上標籤。範例:google youtube tag --title "xxx" --tags "porn",為標題為「xxx」的影片加上「porn」標籤。

Google YouTube 可使用的參數

category

指定影片類別。

title

指定影片標題。

tags

指定影片標籤。

delimiter

指定分隔符號。

把.CHM電子書轉成HTML網頁檔(NorthBright CHM Tool v1.0)

把.CHM電子書轉成HTML網頁檔(NorthBright CHM Tool v1.0)

 

 

 

在Windows系統中提供了各式各樣的說明文件,大部分說明文件都是使用副檔名為「.CHM」的檔案格式,很多軟體、應用程式的說明檔或幫助文件也都使用使用.CHM這種格式。在一般情況下這種.CHM說明檔其實還滿方便的,可以瀏覽、搜尋或依照標題或索引來查找想要的相關資訊。不過如果你想把.chm文件中的內容一篇一篇挖出來另外作處理的話則比較麻煩。

下面介紹的這個NorthBright CHM Tool免費小工具主要就是用來幫「.CHM」文件轉檔用的,它可以幫我們將原本彙整在單一.CHM文件檔中的一篇一篇的內容轉成一般瀏覽器都可以開啟、閱讀的HTML網頁格式,讓我們另外作其他的處理或應用。

 

 


Firefox 4 Beta 2

Firefox 4 Beta 2

2010-07-28 黑日白月 Posted in Web BrowserRSS

Mozilla 基金会悄然放出 Firefox 4 Beta 2 ,包含了中文在内24种语言支持。

相比于先前的 Beta 1 版本,本此亮点:

  • 24种本地化版本就绪。
  • 标签页置顶成为 Windows 和 OS X 平台上的默认设置,Linux 平台上需要等到对应主题完成。
  • 允许通过 App Tab 的方式固定小型标签图标,方便处理网络网页应用。
  • 支持 CSS 过渡。
  • 通过固化页面布局改善界面相应和滚动操作。
  • JavaScript 引擎得到改善,现在为 JagerMonkey。
  • 改善 XPCOM 组件的注册方式从而改善启动时间和进程隔离。

Firefox Beta 下载

更新日志

Read More:

Tags:

在 Linux 上架設 Screenshot Service

在 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,所以在網路速度夠快的時候可以提前結束,而網路不夠快時也不用擔心抓到未完成圖…

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

About


Facebook