2011年9月9日 星期五

設定 chromium 將 ed2k 連結傳給 aMule 下載

DE: Xfce 4.8
chromium:13.0.782.220
aMule:10598-1

Firefox 很簡單就可以設定好 ed2k 連結的處理程式,但是 chromium 沒有類似的設定選項,找了好久都沒發現有簡單的解決方案,倒是看到 chromium issue 裡這個問題一直沒修……

chromium 預設會把 ed2k 連結傳給 xdg-open,而 xdg-open 針對每個桌面環境都有特殊設定,在 Xfce 裡面是直接傳給 exo-open 去處理,但是用不同參數測了快一個小時,exo-open 還是不能將 ed2k 連結傳給 aMule,正當要放棄的時候,看到 VLC wiki 上介紹可以用mimeinfo.cache 來設定預設程式,測試結果還真的可行,覺得前幾個小時真像個傻瓜 XD

設定範例放在 /home/dot.local/share/applications 裡面,如果只是個人設定的話,只要動到 ~/.local/share/applications/ 下的檔案:
  1. 先在 defaults.list 內加上一行 x-scheme-handler/ed2k=chromium-ed2k.desktop
  2. 再新增 chromium-ed2k.desktop,因為 chromium 傳的連結有經過 urlencode,所以要另外用程式來解碼後傳給 aMule,比較重要的是 exec 要用絕對路徑,否則會找不到程式
  3. 在 url_unquote.py 內解碼後再傳給 aMule 就搞定了,目前在 python 2.7 下測試過 OK,幾行程式碼就解決

試了兩三個網站都可以正常運作,但是 VeryCD 會有問題,點連結還是會跳開啟錯誤,最奇怪的是將整個網頁下載到電腦內再點連結就可以正常下載,不知道問題是出在那邊?目前暫時還是先用複製連結貼到 aMule 來解決。



# Update 2011-09-09
一直很好奇 exo-open 是從那個檔案抓設定檔來判斷使用者自訂開啟的程式,翻了 exo-open 的程式碼才發現是利用 exo-helper 傳參數給 exo-open,所以在 ~/.config/xfce4/helpers.rc 跟 ~/.local/share/xfce4/helpers/ 裡面就可以找到相關設定檔,之前看到以為只是說明檔,根本不會想到是藏在這裡面 XD

Reference:

2011年9月2日 星期五

目前使用的字型

Desktop Environment: Xfce 4.8
used font:ttf-arphic-ukai 、ttf-arphic-uming 、ttf-dejavu 、ttf-droid 、ttf-fireflysung 、ttf-liberation

Appearance:
  • Icons:Tango
  • Fonts:DejaVu Sans Mono Book 13 ( anti-aliasing 、no hinting)

Window Manager:
  • Title font:Liberation Sans 13
  • Theme:Smoothwall

Theme 本來想用 Xubuntu 11.04 預設的 greybird ,後來發現 Smoothwall 也不錯,很喜歡右上角視窗放大縮小的按鍵,整個視窗看起來也不會很突兀,有融為一體的感覺,系統字型原本想用 Droid ,可惜在 emesene2 裡面看起來有些字會變得很醜,還是改用 DejaVu,只有把 smplayer 和 VLC 字型改成 Droid ( qtconfig )。

qtconfig:
  • Default Font:Droid Sans Normal 14



Browser:
其實看久了還是有點不舒服,忘記之前是怎麼設定的了……

Opera:
  • Webpage normal text:DejaVu Sans

其他語言好像會自動選擇,像中文是文泉驛正黑,片假名是 AR PL New Kai





Chromium:
  • DejaVu Sans




Firefox:
  • Proportinal:Sans Serif 16
  • Serif:文鼎 PL 新宋 Mono
  • Sans-serif:sans-serif
  • Monospace:文泉驛等寬正黑



PcmanX:
  • Font & ASCII Font:Sans




Terimal:
  • Terminal:DejaVu Sans Mono Book 14 ( anti-aliasing )
  • rxvt-unicode:DejaVu Sans Mono:Book:pixelsize=16

不知道為什麼 rxvt-unicode 的中文字看起來就是特別醜,如果要編輯有中文的檔案,我還是會用 Terminal。

2011年9月1日 星期四

利用 archiso 和 aif 搭配 chroot 安裝 Arch Linux


因為硬碟出問題,系統碟在 error.log 裡面跳了一堆 UNC error,跑 S.M.A.R.T. 測試也是 read failure,用 Live USB 撐了幾天,把重要資料備 份以後,買了兩個大容量的隨身碟來當外接硬碟使用(7年前的電腦,要更換零件不如換整台,預算有限,就先湊合著用,用久了有感情也是一個原因 ^^),主要系統還是灌在硬碟上,/var 和 /home 及一些暫存的資料就丟到隨身碟上。


因為要重灌,就順便試試之前在 Arch Wiki 上看到用 archiso 配上 chroot 安裝的方法,沒想到 8/19 出了新的 image,wiki 的內容已經不能適用,花了將近一天測試順便寫了個 script,丟在之前開的 repository 內( utils/unarchfs.sh ),改天有空再更新 Arch Wiki。

新的 iso 包含了 5 個檔案,mount archiso 後再一一解壓縮或 mount 到 chroot 目錄內,步驟簡單描述如下,因為記憶體有 1.5G,所以就全部都丟到 /tmp/archinstall 下面


# mount archlinux iso

mkdir -pv /tmp/archinstall/image
mount -o loop archlinux-2011.08.19-core-i686.iso /tmp/archinstall/image

# create directory for chroot
mkdir -pv /tmp/archinstall/archlinux

# start to extract
cd /tmp/archinstall/image/arch/i686/

# root-image
unsquashfs -dest /tmp/archinstall/root-image root-image.fs.sfs
mount -t ext4 /tmp/archinstall/root-image/root-image.fs /tmp/archinstall/archlinux

# create directories in chroot env for other fs to mount
mkdir -pv /tmp/archinstall/archlinux/lib/modules
mkdir -pv /tmp/archinstall/archlinux/usr/share
mkdir -pv /tmp/archinstall/archlinux/repo/core/{i686,any}

# lib-modules
unsquashfs -dest /tmp/archinstall/lib-modules lib-modules.fs.sfs
mount -t ext4 /tmp/archinstall/lib-modules/lib-modules.fs /tmp/archinstall/archlinux/lib/modules

# repo-core-i686
mount -o loop -t squashfs repo-core-i686.sfs /tmp/archinstall/archlinux/repo/core/i686

cd /tmp/archinstall/image/arch/any/

# usr-share
unsquashfs -dest /tmp/archinstall/usr-share usr-share.fs.sfs
mount -t ext4 /tmp/archinstall/usr-share/usr-share.fs /tmp/archinstall/archlinux/usr/share

# repo-core-any
mount -o loop -t squashfs repo-core-any.sfs /tmp/archinstall/archlinux/repo/core/any

接著 cd /tmp/archinstall/archlinux/ ,再進入 chroot 下 aif -p interactive 就可以開始安裝,比起用 pacman 安裝要方便許多,不必自己準備 /dev 下的檔案, aif 也會幫忙跑 mkinitcpio、locale-gen、設定 Grub ……等,十分輕鬆,不過有一點要注意的是安裝完後要在 chroot 環境內把 aif 自動掛載的磁碟卸載掉,否則離開 chroot 後會發現沒辦法卸載 root-image,可是又找不出有其他程式使用這個檔案。

目前系統已使用快一個禮拜,/home 掛在 USB 3.0 的隨身碟上插 2.0 的接口,傳大檔可以跑到 15 mb/s,只是瀏覽器的 cache 要設到記憶體下(預設丟在 /home/$USER 內),否則開新分頁會很卡,大概是頻繁寫入小檔案,寫到隨身碟效率變差。

此外還有遇到 gdm 的小問題:舊系統是用 xfce 4.8 配上 .xinitrc 來設定 gcin ,但是換成 gdm 來登入(沒安裝 gnome)就沒辦法搞定,會把全部的 locale 改成 zh_TW.UTF-8,我只是想用中文輸入法,不想全部介面都變成中文,搞到最後還是換回 xdm。

另外困擾我兩天的問題是字型,隨身碟系統上是用 Gnome 3,切回 xfce 後預設字型完全不同,讓我眼睛痛了整整一天,平常應該要定期紀錄常用字型,晚點要再寫一篇來紀錄目前使用的字型。

Reference :
Arch Wiki - Install_from_Existing_Linux
archiso - README