2009年1月23日 星期五

「手把手」安裝、設定與使用IEs4Linux、FreeGrab、SmartGet-Wine三部曲

轉換到Ubuntu有個蠻大的問題,就是要用FreeGrabSmartGet下載檔案比較麻煩點,還沒學會用VirtualBox裝Windows前,我都開兩台電腦,一台跑Ubuntu一台跑Windows,後來覺得這樣太浪費電了,學著在VirtualBox把Windows裝起來,這樣下載就較為方便。



2010.08.08 更新
  1. 更新IEs4linux安裝方法,請到老牌的安裝Internet Explorer工具IEs4linux敗部復活 [9.04,9.10,10.04]觀看,安裝完成在繼續回到此篇觀看SmartGet與FreeGrab使用方法。

  2. 網友回應,下載連結與解壓縮檔不符,目前已經修正。





可是用久了就覺得要下載得開VirtualBox下的Windows,單單待機就要耗掉CPU22%左右,加上用SmartGet開五線下載,總共耗掉約CPU44%。



雖說,在Ubuntu上使用SmartGet下載在某種特定情形下,CPU暴衝會秏掉50~100%資源、畫面會短暫停止﹙滑鼠點沒反應﹚兩到三分鍾,但我有找出來如何必免這情形,還有兩個下載軟體的圖示會有點不正常﹙不影響使用﹚,如你確定要這樣下載的話,請學我自我催眠「可以下載就好^ ^」,除非軟體重寫變跨平台,我們只能說能用就好囉。





要在Ubuntu上使用FreeGrab、SmartGet需要安裝Wine及IEs4Linux,如你還沒安裝請參考Wine首部曲安裝和Wine二部曲去除亂碼。



什麼是IEs4Linux?

IEs4Linux是一個讓您可以更簡單地在 Linux 上執行 微軟網路探險家(IE) (或是任何可以執行 Wine 的作業系統平台) 無需繁複的滑鼠點選,沒有無聊的安裝程序,也沒有複雜的 Wine 設定。只有一個簡單的腳本檔(script)您可以一次取得三個版本的IE來測試你的網站。同時這個 script 是自由軟體並且是開放原始碼的。

資料來源:IEs4Linux官網


安裝IEs4Linux



Step1下載程式並解壓縮到家目錄下,並且跳到安裝資料夾

wget http://www.tatanka.com.br/ies4linux/downloads/ies4linux-latest.tar.gz && tar zxvf ies4linux-latest.tar.gz -C ~/ && cd ies4linux-*



Step2安裝前需要修改兩處檔案,先修改messages.txt

gedit lib/messages.txt



Ctrl+I輸入19跳到整行以zh tw zhTW TW取代存檔



Step3再修改functions.sh

gedit lib/functions.sh



Ctrl+I輸入98跳到,整行以pid=$(LC_ALL=C LANG=C wget -q -b -t 1 -T 5 -U "$useragent" -o /dev/null $URL $WGETFLAGS -O "$file" | sed -e 's/[^0-9]//g')取代存檔



Step4開始安裝囉

./ies4linux



看到IEs4Linux 2 只在新版 (0.9.x) 的 Wine 上測試過。您正在執行舊版的 Wine。建議您更新到最新版 (前往: winehq.com)。別理他,我們比0.9版還新







安裝時你可能會遇到解壓縮CAB檔發生錯誤,這有可能是檔案的CRC錯誤,或者是下載時有漏掉檔案,我把安裝的檔案打包,你可以直接使用在安裝就不會發生這問題,當初,我也是下載好多次才成功,再嚐試時又發生這問題,多花了三小時左右才解決。





Step5使用我下載好的安裝檔,可以避免發生這問題,裡面的安裝檔案只有IE6中文版哦。

下載檔案到家目錄下面,然後在解壓縮在安裝。

tar xjvf ~/ie6.tar.bz2 -C ~/ &&  cd ~/ies4linux* && ./ies4linux --no-gui







這次使用./ies4linux --no-gui沒圖形介面安裝,他預設是安裝IE6與Flash9所以不用其它參數設定,更多參數請用./ies4linux -h查詢。



設定IEs4Linux



雖說IEs4Linux需要Wine才能使用,但兩者間設定檔不能通用,要獨立設定才行,所以連去除中文亂碼也要重做一次,另外他的儲存槽設定不能使用,只能手動設定,以下逐步講解如何設定。



Step1參照前篇Wine二部曲設定字型,其中字型需連結到ies4linux。

ln -s ~/.fonts/droid/DroidSansFallback.ttf ~/.ies4linux/ie6/drive_c/windows/Fonts/



匯入修改字型的登錄檔路徑也改為ies4linux,用env WINEPREFIX=可以設定ies4linux所在位置。

env WINEPREFIX=~/.ies4linux/ie6 regedit



Step2設定前先下載我打包好的裡面包含FreeGrab、SmartGet程式和Shell與Icon還有一個dll檔,解壓縮後會放到~/FreeSmg,等會用到Shell與Icon就去那裡找。

wget http://hepha.love.googlepages.com/FreeSmg.tar.bz2 -O FreeSmg.tar.bz2 && tar xjvf FreeSmg.tar.bz2 -C ~/



Step3為FreeGrab建立捷徑,首先開啟Nautilus選至~/FreeSmg,在free這個Shell按著左鍵不放拉到上方面板。





彈出一個對話框,名稱隨便填→按左邊的小圖示





瀏覽填入:~/FreeSmg/free.ico→確定確定





Step4接著為SmartGet建立捷徑,首先開啟Nautilus選至~/FreeSmg,在smg這個Shell按著左鍵不放拉到上方面板,彈出一個對話框,名稱隨便填→按左邊的小圖示→在瀏覽填入:~/FreeSmg/smg.ico→確定確定



至此兩個捷徑都設好了,可以按按看程式能不能執行,你會發覺只有FreeGrab能執行SmartGet執行不了,我們就是為了SmartGet而安裝ies4linux,往下繼續做設定就能讓他動囉。





Step5如前所言它的儲存槽設定壞了不能用,我們只好手動設定連結囉像Windows一般預設都安裝在C糟,Wine也是一樣不過他多了個Z槽連結到根目錄,那我們剩下用d槽~y槽了。





以我為例子~/download設為d:﹙d槽﹚、/media/download/設為e:﹙e槽﹚,那就這樣設定。

ln -s ~/download/ ~/.ies4linux/ie6/dosdevices/d:

ln -s /media/download/ ~/.ies4linux/ie6/dosdevices/e:



看看有沒有設定好

ls ~/.ies4linux/ie6/dosdevices/





ls ~/.ies4linux/ie6/dosdevices/

lrwxrwxrwx 1 hepha hepha 10 2009-01-23 20:53 c: -> ../drive_c

lrwxrwxrwx 1 hepha hepha 21 2009-01-24 05:50 d: -> /home/hepha/download/

lrwxrwxrwx 1 hepha hepha 16 2009-01-24 05:50 e: -> /media/download/

lrwxrwxrwx 1 hepha hepha 1 2009-01-23 20:53 z: -> /


Step6最後只要設定讓SmartGet在Windows 2000版本使用,就可以開始下載囉。

env WINEPREFIX=~/.ies4linux/ie6/ winecfg



增加程式設定

不要調預設設定開啟程式會變非常慢。





選擇~/FreeSmg/SmartGet下的SMG.exe檔開啟





Windows版本調成Windows 2000確定









SmartGet使用小補帖

如你有時要執行時會開不了,可能是rpcrt4.dll被更新到,我有準備給你們替換,只要覆蓋就去即可。

cp ~/FreeSmg/rpcrt4.dll ~/.ies4linux/ie6/drive_c/windows/system32/rpcrt4.dll



下載時最小化視窗可避免CUP暴衝秏掉太多資源切記





我有最小化視窗哦,只是抓圖給你們看證明可以下載。





在下載時不要修改設定,畫面會短暫停止﹙滑鼠點沒反應﹚兩到三分鍾,要修改前請在右上方的小圖示按右鍵→全部停止後在修改。



關閉SmartGet時會出現錯誤對話框,此屬正常現象。另外,要關機、重開機、重登時請先關閉SmartGet,不然他有時會記錄到你下載的資料。


參考資料:



[教學] 安裝 Wine 跟 IEs4Linux



ubuntu使用SMG(smartget)的方法

2009年1月15日 星期四

「手把手」告別你的Wine中文亂碼-Wine二部曲

想想還是先讓你們搞定中文亂碼好了,此方法不用幫Wine打補丁,中文就可以正常囉,告別亂碼吧!



以下我選用Google提供字型Droid,當然你也可以使用別的字型替代,甚至從安裝好的Windows把字型Copy到Wine。











  • 假設你已經造著我寫的裝好了Droid字型,在把字型連結到Wine




ln -s ~/.fonts/droid/DroidSansFallback.ttf ~/.wine/drive_c/windows/Fonts/

  • 首先要新增一個reg登錄檔

    注意:存檔時字元編碼選則為BIG5,否則匯入後新細明體那欄會變亂碼。







gedit ~/font.reg



把底下內容存進font.reg





REGEDIT4

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\FontLink]

"FontLinkControl"=dword:00004000

"FontLinkDefaultChar"=dword:00003000

/* 平滑化(anti-alias) */

/* 如果覺得開了之後字體難看,把三個Y改成N */

[HKEY_CURRENT_USER\Software\Wine\X11 Driver]

"ClientSideAntiAliasWithCore"="Y"

"ClientSideAntiAliasWithRender"="Y"

"ClientSideWithRender"="Y"

/* 平滑字型 */

[HKEY_CURRENT_USER\Control Panel\Desktop]

"FontSmoothing"="2"

/* 替換字型1 */

/* 安裝Wine不會提供字型,所以需要替換字型,我以Droid Sans Fallback替換 */

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\FontSubstitutes]

"Arial Baltic,186"="Droid Sans Fallback,186"

"Arial CE,238"="Droid Sans Fallback,238"

"Arial CYR,204"="Droid Sans Fallback,204"

"Arial Greek,161"="Droid Sans Fallback,161"

"Arial TUR,162"="Droid Sans Fallback,162"

"Courier New Baltic,186"="Droid Sans Fallback,186"

"Courier New CE,238"="Droid Sans Fallback,238"

"Courier New CYR,204"="Droid Sans Fallback,204"

"Courier New Greek,161"="Droid Sans Fallback,161"

"Courier New TUR,162"="Droid Sans Fallback,162"

"Helv"="Droid Sans Fallback"

"Helvetica"="Droid Sans Fallback"

"MS Shell Dlg"="Droid Sans Fallback"

"MS Shell Dlg 2"="Droid Sans Fallback"

"PMingLiU"="Droid Sans Fallback"

"新細明體"="Droid Sans Fallback"

"Tahoma"="Droid Sans Fallback"

"Times"="Droid Sans Fallback"

"Times New Roman Baltic,186"="Droid Sans Fallback,186"

"Times New Roman CE,238"="Droid Sans Fallback,238"

"Times New Roman CYR,204"="Droid Sans Fallback,204"

"Times New Roman Greek,161"="Droid Sans Fallback,161"

"Times New Roman TUR,162"="Droid Sans Fallback,162"

"Tms Rmn"="Droid Sans Fallback"

/* 替換字型2 */

[HKEY_CURRENT_USER\Software\Wine\Fonts\Replacements]

@="Droid Sans Fallback"

"Arial"="Droid Sans Fallback"

"Fixedsys"="Droid Sans Fallback"

"Microsoft Sans Serif"="Droid Sans Fallback"

"MingLiU"="Droid Sans Fallback"

"MS UI Gothic"="Droid Sans Fallback"

"PMingLiU"="Droid Sans Fallback"

"Simsun"="Droid Sans Fallback"

"Songti"="Droid Sans Fallback"

"System"="Droid Sans Fallback"

"Tahoma"="Droid Sans Fallback"

"Terminal"="Droid Sans Fallback"

/* 取代字型 */

/* Wine 1.1.12 打補丁後也會有亂碼,所以要修改這裡 */

/* Wine 1.1.12 之前可以不用修改,改了應該也沒關係 */

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink]

"Microsoft Sans Serif"="DroidSansFallback.ttf,Droid Sans Fallback"

"SimSun"="DroidSansFallback.ttf,Droid Sans Fallback"

"Tahoma"="DroidSansFallback.ttf,Droid Sans Fallback"

"PMingLiU"="DroidSansFallback.ttf,Droid Sans Fallback"

"Lucida Sans Unicode"="DroidSansFallback.ttf,Droid Sans Fallback"

[HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics]



"BorderWidth"="1"



"CaptionFont"=hex:f0,ff,ff,ff,00,00,00,00,00,00,00,00,00,00,00,00,bc,02,00,00,00,00,00,88,00,00,00,22,44,00,72,00,6f,00,69,00,64,00,20,00,53,00,61,00,6e,00,73,00,20,00,46,00,61,00,6c,00,6c,00,62,00,61,00,63,00,6b,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00



"CaptionHeight"="18"



"CaptionWidth"="18"



"MenuFont"=hex:f0,ff,ff,ff,00,00,00,00,00,00,00,00,00,00,00,00,bc,02,00,00,00,00,00,88,00,00,00,22,44,00,72,00,6f,00,69,00,64,00,20,00,53,00,61,00,6e,00,73,00,20,00,46,00,61,00,6c,00,6c,00,62,00,61,00,63,00,6b,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00



"MenuHeight"="18"



"MenuWidth"="18"



"MessageFont"=hex:f0,ff,ff,ff,00,00,00,00,00,00,00,00,00,00,00,00,bc,02,00,00,00,00,00,88,00,00,00,22,44,00,72,00,6f,00,69,00,64,00,20,00,53,00,61,00,6e,00,73,00,20,00,46,00,61,00,6c,00,6c,00,62,00,61,00,63,00,6b,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00



"ScrollHeight"="16"



"ScrollWidth"="16"



"Shell Icon Size"="32"



"SmCaptionFont"=hex:f4,ff,ff,ff,00,00,00,00,00,00,00,00,00,00,00,00,90,01,00,00,00,00,00,88,00,00,00,00,4d,00,53,00,20,00,53,00,68,00,65,00,6c,00,6c,00,20,00,44,00,6c,00,67,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00



"SmCaptionHeight"="18"



"SmCaptionWidth"="13"



"StatusFont"=hex:f0,ff,ff,ff,00,00,00,00,00,00,00,00,00,00,00,00,bc,02,00,00,00,00,00,88,00,00,00,22,44,00,72,00,6f,00,69,00,64,00,20,00,53,00,61,00,6e,00,73,00,20,00,46,00,61,00,6c,00,6c,00,62,00,61,00,63,00,6b,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00







  • 匯入登錄檔




regedit



開啟註冊表編輯器註冊表導入註冊表檔案選則font.reg開啟關閉註冊表編輯器







  • 修改預設字型、字體大小




gedit ~/.wine/drive_c/windows/win.ini



把以下內容插入檔案底部存檔





[Desktop]

IconTitleFaceName=Droid Sans Fallback

menufontsize=13

messagefontsize=13

statusfontsize=13

IconTitleSize=13





備註

如想瞭解什麼叫平滑化可參考平滑化(anti-alias)



上圖為有開,下圖為沒開,取決於你所使用的字型,請自行測試看那種較為美觀。







2009.1.28更新



在Nelson寫的教學瞄到還要在改一個地方﹙不改也沒關係﹚,可以調整文字大小。



進入Wine設定畫面

winecfg

選擇桌面整合,分別調整Message Box Text、功能表文字、提示區文字、當前標題欄文字這四個字型與字體大小。







一樣我有調好的登錄檔可以直接使用,我設定這四個為Droid Sans Fallback大小為12,如覺不適合請自行調整囉。







參考資料:

Wine / Crossover Office / Picasa Linux 繁體中文設置 UPDATED!!

wine中文字體設置及字體美化

cxoffice 中文調整

2009年1月12日 星期一

「手把手」使用Google提供字型Droid

Droid字型是手機的免費字型,檔案小小的不到3mb包含CJK,他是用Apache 2.0授權,底下是在免費 Google 手機字型 - Droid看到的訊息



回答讀者來信問題「在你的blog上看到droid font的訊息

我對於條文方面並不熟悉,不曉得Apache 2.0的規範是可以商業應用嗎?又有任何限制嗎或需要做什麼事情嗎?」

有,Apache 2.0 授權特性與限制可參考此篇文章,大意上是授予著作權與專利權可免費的「製作衍生物、公開展示、公開演出、再授權和散佈」與可「製造、委託他人代工、使用、供與販售、販售、進口(輸入)及其他方式的讓渡」。

但在衍生製作、再散佈時,必須遵守保留條款、揭示修改聲明、揭示歸屬聲明、保持原始形式來源、包含歸屬聲明檔案等義務。另外也必須注意商標使用的限制條款。

條款全文請參考 Apache.org 網站。







  • 下載字型並移動到家目錄下的.fonts/droid資料夾


請到android.git.kernel.org下載字型,選則DroidSansFallback.ttf按後面的raw下載,下載後設定字型,以我為例下載到家目錄下面,在家目錄下面建立個.fonts/droid資料夾,把DroidSansFallback.ttf移動到剛建立的資料夾

mkdir -p ~/.fonts/droid

mv ~/DroidSansFallback.ttf ~/.fonts/droid



  • 設定字型


sudo gedit /etc/fonts/conf.avail/41-ttf-droid.conf

把以下內容貼進去後存檔→關閉

<?xml version="1.0"?>       
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<!--
Serif faces
-->
<alias>
<family>Droid Serif</family>
<family>Droid Sans Fallback</family>
<default><family>serif</family></default>
</alias>
<!--
Sans-serif faces
-->
<alias>
<family>Droid Serif</family>
<family>Droid Sans Fallback</family>
<default><family>sans-serif</family></default>
</alias>
<!--
Monospace faces
-->
<alias>
<family>Droid Sans Mono</family>
<family>Droid Sans Fallback</family>
<default><family>monospace</family></default>
</alias>
</fontconfig>

sudo gedit /etc/fonts/conf.avail/64-ttf-droid.conf
把以下內容貼進去後存檔→關閉


<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<!--
Serif faces
-->
<alias>
<family>serif</family>
<prefer>
<family>Droid Serif</family>
<family>Droid Sans Fallback</family>
</prefer>
</alias>
<!--
Sans-serif faces
-->
<alias>
<family>sans-serif</family>
<prefer>
<family>Droid Serif</family>
<family>Droid Sans Fallback</family>
</prefer>
</alias>
<!--
Monospace faces
-->
<alias>
<family>monospace</family>
<prefer>
<family>Droid Sans Mono</family>
<family>Droid Sans Fallback</family>
</prefer>
</alias>
</fontconfig>
sudo ln -sf /etc/fonts/conf.avail/64-ttf-droid.conf /etc/fonts/conf.d/64-ttf-droid.conf

sudo ln -sf /etc/fonts/conf.avail/41-ttf-droid.conf /etc/fonts/conf.d/41-ttf-droid.conf



更新字型cache

sudo fc-cache -v

更新完cache即開始使用DroidSansFallback字型,底下畫面是我在Swiftweasel3使用的情形 。







備註





從底下圖示可以得知,藍框部份Droid Sans Fallback對中文字才有效果,紅框部份Droid Sans則沒有效果,他不是CJK字型。







不過我們可得知Droid Sans Fallback的標點符號有點難看,Droid Font Family 中提到要在Windows上使用,更改最簡單的方式就是用 fontforge 開啟後,Encoding 選 Unicode full 的那個,然後重新產生字型,fontforge 會自動加入其他必要的 cmap table 資訊,我有裝來玩玩看發現他也可以改字型



他的逗點、句點、分號是長這樣子,本來想改改分享出來,可是我不會用冏!不知有沒有好心人幫忙改改哈。







何謂CJK字型,C指的是中文、J是日文、K是韓文。



參考資料:

免費 Google 手機字型 - Droid

Droid字型 與 設定檔

Droid Font Family



2009.06.02更新



在9.04套件庫有提供可以直接裝

sudo aptitude install ttf-droid