Wine 的安裝和配置,以及wine下執行金山詞霸和中文輸入法!(轉)

post0發表於2007-08-09
Wine 的安裝和配置,以及wine下執行金山詞霸和中文輸入法!(轉)[@more@]

提要:學習一個wine的安裝和配置還是有必要,但如果執行金山詞霸和輸入法就沒有太大的必要。因為現在linux中有stardict 2,輸入法也有fcitx等。

Wine 的安裝和配置

一.實現中文輸入法

最後修訂於 2003年2月6日 版本 0.4

本文件最新版可以在 得到。 wine 的最新版本是 20030115 ,下面將介紹如何安裝配置 wine

1. 下載 wine 20030115 並解壓縮:

請到 wine 的官方網站下載最新的 tarball 壓縮檔案包。或者,如果不想手工打中文輸入法的補丁的話,可以直接下載打好補丁的 wine-20030115。這個版本的檔名為 Wine-20030115.tar.gz

tar xvfz Wine-20030115.tar.gz

現在你可以在當前目錄中看到一個名為 wine-20030115 的目錄。以下假設你將 wine 解壓縮到 ~/wine-20030115下,即你在你的home下,執行上述命令。

2. 下載並應用中文輸入法補丁:

如果你的手頭上已經有一個現成的wine-20030115,那麼你可以下載wine中文輸入法補丁,並將其存到 ~/wine-20030115 目錄下。

將其解壓縮到~/wine-20030115 下,並應用之:

cd ~/wine-20030115

tar xvfz XIM.patch.diff.tar.gz

patch -p0 < XIM.patch.diff

注:這個patch也可以使用在最新的(20030118)CVS上。

3. 編譯安裝 wine :

cd wine-20030115

./configure --prefix=/usr/local/wine

注意:強烈建議指定安裝目錄,此處為 /usr/local/wine,這樣後面會方便很多。

請檢查此命令的輸出,如果他沒有找到一些需要的包,而你又希望使用那個包提供的功能時,請安裝相應的 devel 包(mandrake 下的命名方法)。

一切正常後,編譯並以root 身份安裝

make depend && make && make install

4. 配置 wine:

建立目錄和配置檔案

cd

mkdir .wine

cp wine-20030115/documentation/samples/config .wine/

使用您習慣的文字編輯器,修改.wine/config 使其反應您的系統狀態。開啟 config 後,主要修改最前面的定義驅動器的部分。下面給出我的一部分

[Drive C]

"Path" = "/backup/c_drive/"

"Type" = "hd"

"Label" = "Dos Drive"

"Filesystem" = "win95"

[Drive D]

"Path" = "/mnt/d/"

"Type" = "hd"

"Label" = "My Home"

"Filesystem" = "win95"

建議:不要將 c: 指向一個存在的真實 windows 盤,而是自己建立一個 “假”的,比如,你想在 /backup/c_drive/ 下建立一個虛擬 windows 的 c 盤,則執行如下命令(執行一下命令一般需要root 許可權)

mkdir /backup/c_drive/

cd /backup/c_drive/

mkdir -p windows windows/Start Menu windows/Start Menu/Programs windows/Fonts windows/system32 windows/Desktop

ln -s /backup/c_drive/windows/system32 windows/system

為了可以執行不論處於你linux 任何目錄下的程式,建議新增一個盤,如下(磁碟機代號是你現有的下一個就可以了)

[Drive G]

"Path" = "/"

"Type" = "hd"

"Label" = "root"

"Filesystem" = "win95"

別的基本不需要修改,預設值就可以了。

5. 配置共享庫目錄:

由於我們自己指定了安裝目錄,所以共享庫不位於系統已知的目錄中,為了告訴系統到哪裡找,可以修改 /etc/ld.so.conf 檔案,但是,一個更好的方案是使用 shell 的環境變數:LD_LIBRARY_PATH。 在一個 console 中,執行命令

export LD_LIBRARY_PATH="/usr/local/wine/lib"

現在在這個 console 中,你可以繼續下一步了。(是不是覺得太麻煩了,每次要執行一個 windows 程式就要這樣做,不用擔心,後面提供一個指令碼,自動完成這些工作)

6. 複製幾個字型到 windows/Fonts 下,推薦至少將 simsun.ttf 複製/連線到這個目錄下(不可一個字型都沒有,否則會造成 X 自動退出)。

7. 測試你的 wine :

執行 /usr/local/wine/bin/notepad (注意,這個前面不需要 加 wine ),如果一切正常,則說明 wine 已經可以正常工作了;如果出現錯誤資訊,請根據提示檢查上面的各步。如果你得到的錯誤資訊類似於 找不到 libnt.dll.so 或者 version.dll 之類的,那麼你應該是忘記了做 步驟4。

最佳化我們的 wine

現在,wine 可以正常使用了,但是,還是太麻煩了,所以,我們來進行一些小小改進。同時,為了正常執行 xdict,我們也要作些 關鍵性 的調整。

1. 下載 wine 工具包,其中有一個名為 wine 的檔案,他的工作就是自動設定 LD_LIBRARY_PATH 目錄。如果你的安裝目錄不同於我的,那麼請修改之。將其儲存到 /usr/bin 下,並使其可以執行

chmod +x /usr/bin/wine

2. 安裝支援檔案 dcom98:為了在 linux 下安裝使用 installshield 做的 setup,必須要裝這個東東,請在微軟 下載,並使用 wine dcom98.exe 來安裝。

3. 可以在本站下載 常用的 win98 DLL包,並將其解壓到你的虛擬C盤下的 windows/system32 下面。

注:

以上在 mandrake 9.0, kde 3.0.3,gcc3.2

gentoo 1.4rc_2, kde 3.1.0, gcc 3.2

下測試透過。

測試透過的輸入法

儘管理論上,所有的輸入法都應該沒問題,但我認為這個部分可以讓你知道你喜愛用的輸入法是否被支援。

以下是我測試過的輸入法:

* xsim

* chinput

* erb-fcitx

minichinput 是由 chinput 修改而成,fcitx 是 erb-fcitx 的基礎,所以我覺得這2個輸入法也應該沒有問題。

二.在 linux 下使用 金山詞霸 2002

liuspider 最後修訂於 2003年1月18日 版本 0.9 wine 的最新版本是 20030115 ,使用這個 wine 可以近乎完美的使用 金山詞霸 2002!

下面將介紹如何可以使用 金山詞霸 2002 的過程。

首先,解決 wine 本身,請參閱 《Wine 的安裝和配置(實現中文輸入法)》:

然後修改 wine 的配置檔案並複製需要的 DLL

1. 複製 幾個windows dll :他們是 comctl32.dll, commdlg.dll, commctrl.dll,shell.dll,shell32.dll,shfolder.dll,ole32.dll,oleaut32.dll, rpcrt4.dll 位於 你的真實windows 目錄下的 system 下,將他們複製到你的虛擬windows目錄下的 system32下。可以使用 wine 工具包 中的 install_win_lib 來自動完成這個工作。格式如下:

./install_win_lib /mnt/c /backup/c_drive/

其中,第一個引數是你的 真實windows 所在的掛載點 (mandrake 的預設掛載位置為 /mnt/win_c),第二個引數是你在剛才設定的 fake windows 的c盤所在的目錄。

注意:這幾個檔案必須是 win98 版本的!如果你手頭沒有,可以上 google 找到。

2. 修改 wine 的 config 檔案:開啟 ~/.wine/config ,在某個空行中,插入以下內容(可以在 [DllOverrides] section 的後面的空行中插入)

[AppDefaultssetup.exex11drv]

"Managed" = "N"

"Desktop" = "800x600"

[AppDefaultssetup.exeDllOverrides]

"ole32" = "native"

"oleaut32" = "native"

"rpcrt4" = "native"

"comctl32" = "native"

"commdlg" = "native"

"commctrl" = "native"

"shell" = "native"

"shell32" = "native"

"shfolder" = "native"

[AppDefaultsikernel.exex11drv]

"Managed" = "N"

"Desktop" = "800x600"

[AppDefaultsikernel.exeDllOverrides]

"ole32" = "native"

"oleaut32" = "native"

"comctl32" = "native"

"commdlg" = "native"

"commctrl" = "native"

[AppDefaultsxdict.exeDllOverrides]

"comctl32" = "native"

"commdlg" = "native"

"commctrl" = "native"

"shell" = "native"

"shell32" = "native"

"shfolder" = "native"

[AppDefaultsxdict.exeVersion]

"Windows" = "win2000" ;關鍵所在

3. 將 wine 工具包 中的 updatereg 放到 wine 原始碼的根目錄中,並執行他

./updatereg

如果你在後面執行 金山詞霸 2002 的安裝程式時,得到找不到 ikernel.exe 的錯誤提示,那麼就是因為少做了這一步。

安裝 金山詞霸 2002

現在,你有兩個選擇,如果你有他的安裝程式,那麼強烈建議你在 linux 下安裝他,因為這樣 金山詞霸 2002 的絕大部分功能都是正常的;如果實在沒有,請跳過這一部分,直接轉到 使用 金山詞霸 2002。

1. 放入光碟,進入 /mnt/cdrom 下執行安裝程式:

cd /mnt/cdrom

wine setup.exe

2. 此時會彈出兩個視窗,一個是歡迎畫面,和一個進度條,當這個進度條到 100%時,在第二個視窗(IKernel.exe)中就會出現一條錯誤資訊,說 “在詞彙表中找不到叫 XXX 的詞彙” 這一類的錯誤,這種錯誤一點影響都沒有,儘管點確定就可以了,在整個安裝過程中時常出現,不用管他,只是有些名字顯示不出來,但是不影響安裝。(也許不發生這種情況)

3. 在 ikernel.exe 視窗中,出現了幾個那種錯誤後,就會有一副背景圖出現,而此後彈出的對話方塊都被複蓋在了下面。不過,只需要將這個 ikernel.exe 視窗完全用其他的視窗覆蓋住(或者最小化,或者 shade),再還原,就會看到了。(也許不發生這種情況)

4. 在選擇安裝型別時,不要選擇 定製安裝,否則會 crash 掉的,安裝程式!

5. 複製完全部檔案後,下一個對話方塊詢問你一些選項,如果讓他可以讀出單詞的發音的話,一定要選擇安裝那個語音引擎。

6. 安裝應該沒有任何問題。只是在安裝結束後,那個 ikernel.exe 視窗不會自動消失,需要在某個 console 中輸入一下命令

killall wine

killall wineserver

注意:每次執行完一個windows程式後,稍等片刻,執行以上兩句,再在執行其他 windows程式,可以免除很多麻煩的!

使用 金山詞霸 2002

現在你有了一個完全的 xdict 目錄了,我們假設其位於 /backup/c_drive/Program File/xdict 下面

1. 如果你沒有在wine下安裝,那麼需要手工安裝音標字型。將位於 /backup/c_drive/Program File/xdict/fonts 目錄下的 4 個 ttf 複製到 你虛擬C盤的 c:windowsfonts 下

cp /backup/c_drive/Program File/xdict/* /backup/c_drive/windows/Fonts/

2. 好,現在我們來試執行

cd /backup/c_drive/Program File/xdict/

wine xdict.exe

你應該在得到一個說 不能螢幕取詞的警告後,就可以看到熟習的畫面了,試著輸入一個單詞,按回車,看看解釋,如果你看到的英文,中文大部分正常,那麼恭喜你。如果你看到很多的方框,像我一樣,那麼,請繼續。

3. 先退出 剛才啟動的 金山詞霸,刪除剛才 c:windowsfonts 下的那4個考過來的 ttf 檔案,而後,將原來那4個連線到 c:windowsfonts,如下

ln -s /backup/c_drive/Program File/xdict/fonts/* /backup/c_drive/windows/fonts/

現在,再次啟動 xdict (別忘了先 cd 到它的安裝目錄下)。這次,你應該可以看到基本正常的介面了。

說明一下,透過以上的步驟,也許你得到的結論是必須要將字型連線到 c:windowsfonts 下面,而不能 copy 過去。其實,不然,如果你先 連線,試一下顯示不正常,刪除,再copy 過去,也是可以的!我不知道什麼原因,望明白人指點。

效果圖:

單擊圖片,可看到原圖(1240x1024)

http://xbkconfp.cosoft.org.cn/images/xdict_spider.jpg
http://xbkconfp.cosoft.org.cn/image...manage_dict.jpg
xdict_manage_dict.jpg

查詢 spider 這個單詞 主選單-> 專業詞庫

存在的問題

以下每一條後面括號中,BOTH 表示不論是否在linux 下安裝,都存在的問題,而 UNINSALLED 表示如果在 linux 下安裝,則不存在的問題。

從下面的列表可見,在linux 安裝的話,會解決很多問題的。

* 不能使用 主選單=》設定,否則 xdict 會 crash 掉。補救方法:直接修改 xdict 目錄下的 ini 檔案。下面是一份不完整的對應表。(UNINSALLED)

檔名

功用

config.ini

設定程式的ID,一般不需要修改

dicts.ini

專業詞庫定義檔案,不需要手工修改,可以透過使用主選單-> 專業詞庫 設定

Display.ini

顏色與字型設定

network.ini

網路相關選項

ScrollWord.ini

ScrollWord 程式配置檔案(不能正常執行)

xdict.ini

主選單->設定中的內容就儲存在此檔案中

* 不能螢幕取詞。(BOTH)

* 某些字元顯示的不正確,但是基本不影響正常使用。(UNINSALLED)

* 不能發音。儘管我可以使用 wine 流暢的執行 Diablo II 以及 starcraft ,而且他們的聲音都正常,但是這個就是不行。 (UNINSALLED)

* 生詞本和背單詞都不能執行。估計應該是沒有透過 wine 安裝的原故。(UNINSALLED)

* 詞霸左邊單詞列表視窗中的字總是一片黑,雖然用滑鼠單擊一個,就可以好一個,但是一旦 xdict 視窗被別的應用程式遮住,再回來時,又是黑的了。(UNINSALLED)

* 透過修改 xdict.ini 可以讓 xdict 使用大字型,但是,在 linux 下沒有任何改變。(BOTH)

* 字型不受 wine 中字型分辯率的控制。(UNINSALLED)

注:

以上均在 mandrake 9.0 下透過,使用的是 kde 3.0.3,編譯器 gcc3.2

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8225414/viewspace-938724/,如需轉載,請註明出處,否則將追究法律責任。

相關文章