2015年2月19日 星期四

輕巧/安全/隱私的圖文瀏覽器 dillo

輕巧/安全/隱私圖文瀏覽器 dillo 如果你 (1) 偏好輕薄短小的軟體 (2) 重視隱私 (3) 上網大半的時間只需要看靜態的圖文, 那麼 dillo 瀏覽器 可能很適合你。 它的 .deb 套件檔不到 500K、 啟動迅速、 不支援 javascript 及影片、 嚴格控管 cookies、 部分支援 css (所以排版經常會亂掉) 顯示跟輸入中文都正常。 (2015/4/7更正)

它的設定檔放在 ~/.dillo/dillorc 。 一開始可能沒有這個檔。 請從 /etc/dillo/dillorc 拷貝過來修改。

一、 顯示中文

首先要查看你的系統裡面有哪些中文字型可用。 根據 這則超有用的留言, 我下 fc-list -f '%{family}\n' :lang=zh 在我的系統裡看見:

AR PL UMing CN
AR PL UKai TW MBE
Unifont CSUR
AR PL UKai HK
Droid Sans Fallback
AR PL UKai CN
Unifont
AR PL UKai TW
AR PL UMing HK
AR PL UMing TW
AR PL UMing TW MBE

再把 「AR PL UKai TW」 剪貼到 dillorc 裡面, 填入字型設定的那幾句:

font_serif="AR PL UKai TW"
font_sans_serif="AR PL UKai TW"
font_cursive="AR PL UKai TW"
font_fantasy="AR PL UKai TW"
font_monospace="AR PL UKai TW"

二、 輸入中文

[2015/4/7 補充: 應該是 jessie 預覽版的問題。 在 debian 7.6 跟 7.8 底下, dillo 中文輸入都很正常。]

我在 Debian 8.0 Jessie 底下用 ibus 輸入。 在 dillo 的搜尋視窗 (下詳) 或 google 的搜尋欄裡面, 有時可以打中文, 有時則會變亂碼。 試過關掉 dillo 重開、 登出再登入、 刪除 ~/.dillo/、 砍掉 dpi (下詳)、 ... 但除了重開機的第一次必然 OK 之外, 就是找不出其他任何規則。 無法輸入時, 只好用剪貼的。

三、 好用快速鍵

以下是我常用的快速鍵:

  1. ctrl-t 開新分頁
  2. ctrl-f 在本頁搜尋字串
  3. ctrl-s 叫出搜尋視窗, 用 google (或你自己定義的搜尋引擎, 下詳) 搜尋字串

在網址列上, 按 ctrl-a 與 ctrl-e 相當於按 Home 與 End 鍵;按 ctrl-k 可以砍掉遊標之後的所有字。(跟 bash 很像)

更多快速鍵請見 /etc/dillo/keysrc 也可以把它 copy 回 ~/.dillo/keysrc 並修改。

四、 把網址列當做命令列來用

大家在搜尋時, 應該很習慣省略 「前往 google」 的步驟, 而是直接把搜尋關鍵詞打在 chrome 或 chromium 的網址列, 或是 firefox 右上角的搜尋框裡面。

dillo 沒有 firefox 的搜尋框, 也不像 chromium 會自動判斷你輸入的是網址還是搜尋關鍵詞。 但是它讓你可以自定搜尋指令, 我覺得更好用。 例如我在 dillorc 裡面放了這三句:

search_url="g http://www.google.com.tw/search?ie=UTF-8&oe=UTF-8&q=%s"
search_url="b https://v.im.cyut.edu.tw/~ckhung/saas/bus/taichung/timing4.php?rid=%s&timeformat=2&dark=1"
search_url="d http://distrowatch.com/table.php?distribution=%s"

於是我可以在網址列打:

  1. 「g 下賊船的代價」 => 用 google 搜尋 「下賊船的代價」
  2. 「b 100」 => 使用 窄頻版動態到站時刻表 查詢臺中市 100 號公車到站時刻
  3. 「d finnix」 => 到 distrowatch 查看精簡版 linux finnix 的簡介

看! 這不只是搜尋, 凡是 REpresentational State Transfer 風格的資料/資訊提供網站, 都很適合用 dillo 查詢。 還有哪些好用的 REST 查詢服務呢? 請推薦一下吧!

五、 cookies 與隱私

dillo 非常重視隱私, 所以預設把所有的 cookies 全部擋掉。 也就是說, 一開始你無法登入任何網站 :-( 沒關係, 你可以在 ~/.dillo/cookiesrc 裡面設定允許某些網站在你的電腦裡置放 cookies (以便認得你的登入身份等等)。 例如我的 cookiesrc 長這樣:

DEFAULT  DENY
.cyut.edu.tw ACCEPT_SESSION
.nchu.edu.tw ACCEPT_SESSION
.tw-sts.org ACCEPT_SESSION
.ptt.cc  ACCEPT_SESSION

完全不在意隱私的人 (例如你平常使用 chrome, 又沒有在 管理 cookies) 不適合用 dillo。 雖然你可以設定 DEFAULT ACCEPT 允許所有網站放置 cookies, 不過根據 /usr/share/doc/dillo/Cookies.txt 的說明, dillo 對於 cookies 的數量有管制。 所以有一天還是會遇到 「因為網站無法設定 cookies」 而產生的奇怪問題。 (而且可能會沒想到是 cookies 造成的。)

六、 dpi 外掛模組

dillo 把很多功能都外包出去給獨立運作的模組來處理。 這種機制叫做 dillo plugin (dpi)。 請先登出, 再登入。 還沒開啟 dillo 之前, 馬上開一個文字視窗下指令: ps x | grep dpi 然後開啟 dillo 點一下書籤按鈕 (view bookmarks) 再重複上面的指令。 又按 ctrl-o 隨意開啟一個本地的 html 或 txt 檔, 再重複上面的指令。 你會看到類似這樣的輸出:

 6017 ?        S      0:00 dpid
 6018 ?        S      0:00 /usr/lib/x86_64-linux-gnu/dillo/dpi/file/file.dpi
 6023 ?        S      0:00 /usr/lib/x86_64-linux-gnu/dillo/dpi/bookmarks/bookmarks.dpi
 6238 pts/2    S+     0:00 grep dpi

dillo 視窗關掉之後, 這些程序還是會繼續執行, 等待下次你開 dillo 時繼續服務。

七、 使用心得

按右上角的問號會把你帶到 help, 可以閱讀更多資訊。

對網頁開發者而言, 可以拿 dillo 檢視你的網頁設計是否友善。 右下角的 bug 按鈕還可以顯示目前頁面的 html 語法有哪些錯誤。

我很久以前在 Damn Small Linux 裡面看到 dillo。 最近是因為在某個實驗當中把 iceweasel (debian 版的 firefox) 玩到無法收拾的地步, 所以想找個輕薄短小的替代品。

我覺得除了輕巧之外, 「REST 網站查詢」 是它最大的賣點。 像我在寫文章查英文資料時, 經常開啟一大堆分頁, 結果火狐就會吃掉很多資源; 這時就很合適拿 dillo 來分擔火狐的工作量。 目前我的桌面隨時都開著火狐與 chromium 兩個瀏覽器, 並且經常在文字視窗用 lynx 閱讀英文網頁、 用 w3m 閱讀中文網頁。 未來 dillo 應該也會加入湊熱鬧。

因為 dillo 不支援 javascript, 所以其實拿它跟火狐或 chromium 比較並不太恰當。 它跟 w3m-img 比較有得比。

我在新的 中文版 finnix 裡面加入了 dillo。

2 則留言:

  1. dillo中文顯示亂碼:
    一、參照修改dillorc,google首頁可顯示中文,但搜尋資料顯示頁面為亂碼。
    二、參考dillo官網FAQ"How do I force web pages to use my favourite fonts with CSS?"
    新增下列路徑檔案 ~/.dillo/style.css
    我修改內容如下:
    code, tt, pre, samp, kbd {font-family: AR PL UMing TW MBE !important}
    * {font-family: AR PL UKai TW MBE !important}
    三、修改後,google首頁中文顯示字型為楷體,搜尋資料頁面亦為楷體, 但是還是可能會顯示亂碼。

    回覆刪除

因為垃圾留言太多,現在改為審核後才發佈,請耐心等候一兩天。