2012/01/20

Oneiric Ocelot 的 mpeg4ip-utils 套件

Ubuntu 更新到 Oneiric Ocelot 之後,有些套件已經不支援了,例如 mpeg4ip-utils。臨時有急用,所以只好跟 Natty Narwhal 借。

方法是從 https://launchpad.net/ubuntu/+source/mpeg4ip 下載以下套件:
  • libmp4v2-0_1.6dfsg-0.2ubuntu9_amd64.deb
  • libmpeg4ip-0_1.6dfsg-0.2ubuntu9_amd64.deb
  • mpeg4ip-utils_1.6dfsg-0.2ubuntu9_amd64.deb
然後用 dpkg 依序安裝即可:
dpkg -i libmp4v2-0_1.6dfsg-0.2ubuntu9_amd64.deb
dpkg -i libmpeg4ip-0_1.6dfsg-0.2ubuntu9_amd64.deb
dpkg -i mpeg4ip-utils_1.6dfsg-0.2ubuntu9_amd64.deb

2011/12/11

保留 Firefox 的列印設定

我習慣將網路上看到的好文章列印成 PDF 檔保存。在 Ubuntu 上列印成 PDF是標準功能,不需額外安裝和設定。不過,在 Ubuntu 11.10 上用 Firefox 列印網頁,卻有幾個小困擾:
  1. FF 的預設印表機是 Postscript 印表機,不是 PDF 印表機
  2. FF 提供額外的頁首頁尾等資訊,但預設值都不是我想要的
因此,每次列印時都要重新點選相關設定,非常麻煩。經過一番努力,終於找出手動修改預設值的方法。
  1. 在網址列輸入 about:config 然後按 Enter (Firefox 會提醒你要小心修改)
  2. 在 Filter 輸入 default.print 縮小範圍,然後修改或新增以下項目:
printer_PostScript/default.print_footercenter =>
printer_PostScript/default.print_footerleft =>
printer_PostScript/default.print_footerright =>
printer_PostScript/default.print_headercenter =>
printer_PostScript/default.print_headerleft =>
printer_PostScript/default.print_headerright =>
printer_PostScript/default.print_to_filename => ~/firefox.pdf
以上是將列印檔名預設為 firefox.pdf,頁首頁尾設成空白。若你的設定不一樣,要先在列印對話框的 Options 做好設定列印一次,再重新進入 about:config。找出以下看起來是亂碼的設定項目:
printer_列印至檔案.print_...
就可以看出設定字串如何寫 (譬如 "&T"),將此字串複製到 default.print 對應那一部份就可以了。

2011/11/28

在 Ubuntu 解 Windows 的 ZIP 壓縮檔

有沒有搞錯?這不是很簡單嗎?

是的,這很簡單。但問題是有些在 Windows 壓縮的 ZIP 檔內含的中文檔名是 Big5 編碼,Ubuntu 的壓縮檔管理員解開時會是亂碼。原因是 ZIP 格式並未定義如何標示檔名的編碼,所以壓縮檔管理員一律當成 Unicode 來解。

遇到這個問題,可以用 command line 的 unzip 來解決:
unzip -O big5 your_compressed_file.zip
PS: 我發現 Ubuntu 10.04 的 unzip 已經移除 -O 的功能 (怪怪~~稍微新或舊一點的版本卻都有)。需要此功能的朋友,可以到以下頁面下載稍微新一點的版本來用:
http://packages.ubuntu.com/oneiric/unzip

2011/11/18

縮小 Ubuntu Unity 的圖示

Ubuntu Unity 的圖示有 48 點,實在有夠大。縮小的方法是安裝 Compiz Configuration Settings Manager (簡稱 CCSM):
sudo apt-get install compizconfig-settings-manager
執行 ccsm 之後,找到 Ubuntu Unity Plugin > Experimental 的 Launcher icon size,就可自由調整 (最小 32 點)。

2011/11/17

Ubuntu Unity 與 Skype

最近重新安裝 Ubuntu,才注意到 Unity 搭配 Skype 有兩個問題。

第一個問題是 Skype 的圖示不會出現在 notification area。Ubuntu 13.04/13.10 的解法是:
sudo apt-get install sni-qt:i386
Ubuntu 12.04 之前的版本,解法需先安裝 dconf-tools 這個套件:
sudo apt-get install dconf-tools
接著執行 dconf-editor 並找到 com.canonical.Unity.Panel.systray-whitelist (較新的作法) 或 desktop.unity.panel.systray-whitelist (較舊的作法),然後在最後加上 'Skype' 即可 (需登出再登入)。例如:
['JavaEmbeddedFrame', 'Wine', 'scp-dbus-service', 'Update-notifier', 'Skype']

第二個問題是,若 Skype 啟動後再點 Unity 上的 Skype 圖示,這動作並不是叫出 Skype 的視窗,而是重新再起動另一份 Skype (會因重複登入而錯誤)。解法在參考資料二,有用但需要一點小技巧。(Ubuntu 12.10 和 Skype 4.1.0.20 的組合,似乎無此問題)

參考資料:

1. How can I get the Skype notification back in the system tray?
2. Unity launcher and multiple instances of Skype 
3. How do I add a Skype indicator?

2011/10/26

在 Ubuntu 上使用玉山銀行的 WebATM

玉山銀行的 WebATM 是極少數不但支援 Windows + IE 平台,也支援 Linux + Firefox/Chrome 等平台的網路銀行。單這一點,就值得大力推薦。

WebATM 安裝方法還算簡單,請參考:
可以歸納為三個步驟:
  1. 安裝 Ubuntu 提供的 pcscd 套件
  2. 安裝讀卡機提供的驅動程式
    • cd driver_ezusb_v1.5.3_for_64_bit/
    • sudo ./install
  3. 在 Firefox 安裝玉山銀行提供的 WebATM plugin (看第六點)
不過,根據我在 Ubuntu 11.10 和 12.10 上的經驗,這樣的安裝程序似乎還不夠。可到 WebATM 健診頁面跑檢測程式:
我的情況是前三關都順利通過,但就是抓不到讀卡機。且在 /var/log/syslog 會出現以下錯誤訊息:
pcscd: readerfactory.c:965:RFInitializeReader() Open Port 0x200000 Failed (USB:0CA6/0010:LIBUDEV:0:/DEV/BUS/USB/004/002)
pcscd: readerfactory.c:275:RFAddReader() CASTLES EZ100PU init failed.
pcscd: hotplug_libudev.c:377:HPAddDevice() Failed adding USB device: CASTLES EZ100PU
這問題有兩個解法:第一個較簡單,第二個較安全。

解法一是舊式的作法,需以 root 身份執行 pcscd。請先修改 /etc/init.d/pcscd,將以下片段的 "exit 0" 註解掉,再重開機即可:
# DO NOT start the daemon on startup
# comment the line to have the same behavior as in version < 1.6.0
#exit 0
解法二是較安全的方式,是以使用者身份動態執行 pcscd,但你必須賦予這台讀卡機特殊的權限。作法是新建一個檔案:/etc/udev/rules.d/92-pcscd-ccid.rules。內容如下:
# If not adding the device, go away
ACTION!="add", GOTO="pcscd_ccid_rules_end"
SUBSYSTEM!="usb", GOTO="pcscd_ccid_rules_end"
ENV{DEVTYPE}!="usb_device", GOTO="pcscd_ccid_rules_end"

# Castles Technology Co., Ltd EZUSB PC/SC Smart Card Reader
ATTRS{idVendor}=="0ca6", ATTRS{idProduct}=="0010", GROUP="pcscd"

# All done
LABEL="pcscd_ccid_rules_end"
注意上面的 idVendor 和 idProduct 必須對應到讀卡機的 USB ID。你可用 lsusb 查出 USB ID,譬如:
Bus 003 Device 003: ID 0ca6:0010 Castles Technology Co., Ltd EZUSB PC/SC Smart Card Reader
改完後 sudo service udev restart,應該就大功告成了。

參考資料:

2011/10/20

Ubuntu Unity UI 的術語

Ubuntu 11.04 的 Unity 感覺不是很穩,所以試用一陣子之後就 改用 AWN 了。此次,趁升級到 Ubuntu 11.10 時,又重新玩玩看。感覺進步不少,所以決定再給他一次機會:長時間持續使用並勉強自己克服既有操作習慣。

一週下來,還算理想。唯一的麻煩是有問題時不容易找答案:因為 google 時很難下 keyword,不知道該怎麼稱呼 Unity 的各個部位。後來,終於找到一份 Unity UI 的術語可作為參考:
PS: Oneiric 的 Unity 似乎跟 scim 相衝。因 Natty 之前 ibus 的酷音輸入法一直有問題,所以只能換成 scim。升級到 Oneiric 後,這個問題看起已經解決,換回 ibus 之後 Unity 和酷音輸入法都很正常。