2013年2月13日 星期三

修正 comix 開啟會無法出現縮圖的 bug


comix 是 Linux 上好用的看漫畫軟體,但是這個軟體有個問題:遇到壓縮檔內含 unicode 路徑的時候,會發生錯誤,左邊無法出現縮圖。

簡單做兩個壓縮包,一個只包含英文路徑,另一個寫入中文路徑:



用 comix 打開英文路徑的壓縮檔正常:



打開中文路徑的壓縮檔就出現問題了。




左側的縮圖全消失了。



用命令列執行可以很清楚的看到 bug 出現在哪裡。


要修正這個問題,可以直接修改原始碼。

sudo vi /usr/share/comix/src/thumbnail.py

找到157行的地方,如下:




uri = 'file://' + pathname2url(os.path.normpath(path))

修改為這樣:

uri = 'file://' + pathname2url(os.path.normpath(path).encode('utf8'))

修改完如圖:



之後打開含有中文路徑的檔案就不會出問題了!


這個 bug 我有去官方的 bug tracker 提意見了,不過看起來已經很久沒更新了....

https://sourceforge.net/tracker/index.php?func=detail&aid=3588864&group_id=146377&atid=764985

1 意見:

林雪凡 提到...

這個 bug 已經被秒了,不過不是在 comix 中……

comix 作者更新到 404 後就突然從網路上消失了(很奇怪的說法我知道)。於是有人就 fork 出了 mcomix 專案。已經持續幾年了,目前是 0.99 版,各方面都完善許多。

mcomix / comix 實在好用,我最近都直接把它設成我的預設導看圖軟體了。