2007年10月13日 星期六

使用 Lazybuntu 在 openSUSE 上安裝 swiftfox

--其實原本的主題只是紀錄一下安裝 swiftfox 的過程,結果因為太過投入...--
我一直很習慣使用 firefox 官方提供的中文版本而不使用 SUSE 的 rpm
因為這樣可以自動更新(就像在 windows 下一樣)
而且我一直都搞不定用 suse rpm 時 flash-plugin 的中文選單
奇怪的是使用 firefox 的官方版倒是沒問題。
這不是今天的主題
今天我想試試 swiftfox,聽說會快一點
先到 Swiftfox 網站下載適合版本的 swiftfox
如果您不知道您的 CPU 型號
試著從 /proc/cpuinfo 中找出端倪,例如:
$ cat /proc/cpuinfo | grep model
model : 8
model name : Pentium III (Coppermine)

表示我這台是 pentium 3 等級的。
您可以選擇使用 installer 或像我一樣自己 DIY:
下載相對應的程式
解開到自己家目錄中
您可以做一個連結
$ cd ~/bin
$ ln -s ~/swiftfox/swiftfox .

這樣您可以在終端機直接呼叫 swiftfox
接下來是選單的中文化,到
http://releases.mozilla.org/pub/mozilla.org/firefox/releases/版本/linux-i686/xpi 找到 zh-TW.xpi
點下去就會安裝此語言擴充
如果無法安裝,將 ~/.mozilla/firefox/ 裡需要的備份一下,然後刪除
在網址處打上 about:config
找尋 general.useragent.locale 的數值,將之改為 zh-TW
重新啟動 swiftfox 後就會是中文介面了
接著就是處理選單,plugins 等等...

Pcman 提出了一個 Lazybuntu 的計劃,提供方便的介面
讓 ubuntu 的使用者迅速完成電腦的設定
其中也有 swiftfox
不過裏面的 swiftfox 的部份是直接使用 swiftfox 提供的網路套件庫
openSUSE 應該沒辦法用
所以只好自己亂寫個 script 來完成上面所敘述的安裝
注意:這個 script 用到 Lazybuntu 中的 script 以判斷 CPU 類型
如果您要直接執行,要自己再加工了

swiftfox
#!/bin/sh
CPU=`scripts/cpu-type.py`
#在此使用 Lazybuntu 的 script 來判定 CPU 的種類
#如果直接執行此 script,請參考 /proc/cpuinfo
#修改 CPU="您的 CPU"
#可用的有 athlon64, athlon-xp, pentium4, pentium-m, pentium3,
#prescott, celeron4, celeron-m, celeron3
echo "自動偵測這台電腦上的 CPU 架構:$CPU"
if [ -n "$CPU" ]; then
echo "取得最新釋出版本"
rm -r swiftfox-tmp
mkdir swiftfox-tmp
cd swiftfox-tmp
echo "擷取釋出網頁"
wget http://getswiftfox.com/releases.htm
if [ $CPU == prescott ]; then
cat releases.htm | grep releases | grep tar.bz2 | grep -m 1 prescott | cut -d \" -f 2 > swiftfox-rel-arch-file
else
cat releases.htm | grep rel-$CPU > swiftfox-rel-arch
echo "擷取該 CPU 架構的網頁"
wget -B http://getswiftfox.com -F -i swiftfox-rel-arch
cat rel-$CPU.htm | grep releases | grep -m 1 tar.bz2 | cut -d \" -f 2 > swiftfox-rel-arch-file
fi
echo "下載 swiftfox 的壓縮檔"
wget -B http://getswiftfox.com -i swiftfox-rel-arch-file
echo "安裝 swiftfox"
tar -jxvf swiftfox-*.tar.bz2
rm -r $HOME/swiftfox.old
mv $HOME/swiftfox $HOME/swiftfox.old
mv swiftfox $HOME
echo "下載與處理繁體中文介面"
SFVERSION=`cut -d / -f 3 swiftfox-rel-arch-file`
wget http://releases.mozilla.org/pub/mozilla.org/firefox/releases/$SFVERSION/linux-i686/xpi/zh-TW.xpi
#unzip -o zh-TW.xpi -d $HOME/swiftfox/
#mv $HOME/swiftfox/chrome.manifest #$HOME/swiftfox/chrome/zh-TW.manifest
#上面這3個步驟不確定是正確的,可能造成無法開啟 swiftfox
#改成較保守的方法:第一次啟動 swiftfox 安裝繁體中文介面
sed 's/"general.useragent.locale", "en-US"/"general.useragent.locale", "zh-TW"/' \
$HOME/swiftfox/defaults/pref/firefox-l10n.js > $HOME/swiftfox/defaults/pref/firefox-l10n.js.tmp
mv $HOME/swiftfox/defaults/pref/firefox-l10n.js.tmp $HOME/swiftfox/defaults/pref/firefox-l10n.js
#上面這個步驟相當於從 about:config 來改 general.useragent.locale 為 zh-TW
echo "處理路徑"
ln -s $HOME/swiftfox/swiftfox $HOME/bin
echo "處理 plugins"
test ! -e $HOME/.mozilla/plugins && mkdir $HOME/.mozilla/plugins
cp $HOME/swiftfox/plugins/* $HOME/.mozilla/plugins
rm -r $HOME/swiftfox/plugins
ln -s /usr/lib/browser-plugins $HOME/swiftfox/plugins
#直接將 swiftfox/plugins 連結到 suse 瀏覽器 plugin 的預設安裝位置
echo "處理選單啟動圖示"
echo "[Desktop Entry]" > swiftfox.desktop
echo "Encoding=UTF-8" >> swiftfox.desktop
echo "Name=Swiftfox" >> swiftfox.desktop
echo "Name[zh_TW]=Swiftfox 網頁瀏覽器" >> swiftfox.desktop
echo "GenericName=Web browser" >> swiftfox.desktop
echo "GenericName[zh_TW]=網頁瀏覽器" >> swiftfox.desktop
echo "Comment=Web Browser" >> swiftfox.desktop
echo "Comment[zh_TW]=網頁瀏覽器" >> swiftfox.desktop
echo "Exec=swiftfox %u" >> swiftfox.desktop
echo "Type=Application" >> swiftfox.desktop
echo "Terminal=false" >> swiftfox.desktop
echo "Categories=Application;WebBrowser" >> swiftfox.desktop
echo "Icon=$HOME/swiftfox/icons/mozicon128.png" >> swiftfox.desktop
test ! -e $HOME/.kde/share/applications && mkdir -p $HOME/.kde/share/applications
cp swiftfox.desktop $HOME/.kde/share/applications
test ! -e $HOME/.gnome2/vfolders/applications && mkdir -p $HOME/.gnome2/vfolders/applications
cp swiftfox.desktop $HOME/.gnome2/vfolders/applications
test ! -e $HOME/.local/share/applications && mkdir -p $HOME/.local/share/applications
cp swiftfox.desktop $HOME/.local/share/applications
echo "第一次啟動 swiftfox 以安裝中文介面"
swiftfox zh-TW.xpi
echo "Swiftfox $SFVERSION 已安裝完成!"
else
echo "未知的 CPU,無法自動安裝 Swiftfox !"
fi

下載 Lazybuntu 後解開(在這裡是用 0.1b3 版)
將上面的文字檔存成 swiftfox 並加上可執行的權限
放到 Lazybuntu/scripts/ 覆蓋原來的檔案
您還需要加裝 vte 這個套件
Lazybuntu/ui/Lazybuntu.py 有些小地方要修改
247 行:self.icon=gtk.icon_theme_get_default().load_icon('gnome-app-install', 48,0)
openSUSE 10.3 沒這個 icon 會導致程式無法啟動
284 和 288 兩行也是指定了不存在的 ubuntu 和 gnome-app-install 的 icon
不過不影響執行
您就依照喜好在 /usr/share/icons/ 或 /usr/share/pixmaps/ 下找個 icon 的名稱填進去即可
363 行:f.write( "apt-get update\n" ) 請在前面加上 #
369 行:f.write( "update-desktop-database\n" ) 也在前面加上 #
因為我這個 script 純粹是裝在家目錄下,不需要 root 權限
再則雖然在 xfce 套件庫中尋到了 gksudo 的套件
但用在這裡似乎不是我想的那樣
所以就不用了
我們直接在 Lazybuntu 目錄下執行 ui/Lazybuntu.py 即可
$ cd Lazybuntu
$ ui/Lazybuntu.py


請將除了 swiftfox 外的選項都取消(因為其他都還沒蜥蜴化)
尤其遊戲中還有副選單喔
按下套用

一柱香時間內就可以安裝完成了
後記:本人 script 寫得不好,各位看在我花 5 天的份上,請多指點

5 則留言:

Yuren Ju 提到...

趕快來個 lazysuse 吧 XD

swyear 提到...

大概不會有 Lazysuse
修改了中文化的部分以及加了註解說明
使用 UI 除了較悅目以外
可能直接執行此 script 還簡潔些
該裝上 swiftfox 的機器都裝上了
就不再測試了
其他發行版要用這個 script 要注意的:
suse 預設的 $PATH 中有 $HOME/bin
suse 預設各種瀏覽器的 plugin 都是裝到 /usr/lib/browser-plugins 底下
自己修改這兩部分就可以 lazy 一下了

ceruberus 提到...
網誌管理員已經移除這則留言。
ceruberus 提到...

不好意思!^^"我想請教一下,放到 Lazybuntu/scripts/ 覆蓋原來的檔案,這句話的意思是指哪一路徑呢?因為我的LAZYBUNTU抓下來解壓後只有一個Lazybuntu的檔案而已另外裝vte 這個套件的用意是在??

swyear 提到...

這篇文章已過期,且 lazyubuntu 和 swiftfox 網站都改版了,請自己手動安裝吧。很簡單的。