1. 程式人生 > >[轉載][old] linux 下通過wine 執行windows程式包括IE

[轉載][old] linux 下通過wine 執行windows程式包括IE

一、相關說明

Ubuntu9.10 舉例(因為它方便,N多東西直接線上安裝,省得編譯了),其他linux基本相同(不同的就是有些要進行原始碼安裝,但用到的軟體是一樣的),整個安裝我以經做成指令碼放方便下載安裝不過指令碼寫的比較簡單沒有做太多判斷到這裡下載:http://download.csdn.net/source/2044895,所以如果使用這個指令碼安裝請仔細看安裝時的說明。

亂碼等解決參考自:http://www.lyzsoft.cn/wine-garbled-solution.html

涉及的軟體:

1、wine,是一個在容許類Unix作業系統在X Window System下執行Microsoft Windows程式的軟體,可以認為所有的windows程式是運行於wine模擬的環境中;

2、winetricks,這是一個Windows有關庫和軟體的小程式,wine的輔助工具。以後通過winetricks,方便安裝windows下的dll。

3、cabextract,是用於微軟的 .cab 壓縮/解壓檔案

4、ies4linux,linux下執行ie4、ie5、ie5.5、ie6、ie7的解決方案,圖形化安裝

不要認為有了wine就可以真的像windows一樣執行exe,如果真的那麼好乾脆改名叫windows了!!其實wine不是很穩定,尤其是那個ies4linjux在安裝時看運氣了,我反覆運行了4次才裝好,而且執行ie容易死。

二、安裝軟體

Ubuntu有線上安裝,其它linux先下載在通過rpm或原始碼安裝,這裡只針對Ubuntu下安裝。

2.1安裝wine

$sudo apt-get install wine1.2

安裝wine,隨著wine版本升級可能有變化,如以前使用wine,而現在用wine1.2;以後只要輸入到wine再按table鍵就可以知道帶有wine的全部軟體了,然後再補完整;

2.2 拷貝常用dll

安裝完成後,還須要一些額外的dll才能執行大部分EXE,這些主要包括微軟的mfc*.dll、msvp*.dll、rich*.dll。可以從windows xp系統的windows/system32中找到。

將以上檔案拷貝到/home/使用者/.wine/drive_c/windows/system32/下(wine預設安裝到這)

2.3 配置wine

通過“應用程式”-》“wine”-》“Configure wine“啟動(或在終端中輸入winecfg);其時一般不需要配置什麼,建議你順著點一遍看看,有些是沒有初始化的只有你點選時才會做這個動作,如:配置中的 “音效”。

2.4 安裝wine輔助工具

wget http://www.kegel.com/wine/winetricks //下載winetricks,winetricks下載完成後不須要安裝就可以直接執行

chmod +x winetricks //賦執行許可權

winetricks //執行並下載須要的dll及環境

2.5 安裝cab提取工具

sudo apt-get install cabextract

2.6 安裝ies4linux

wget http://www.tatanka.com.br/ies4linux/downloads/ies4linux-latest.tar.gz  //下載

tar zxvf ies4linux-latest.tar.gz //解壓

cd ies4linux-latest

./ies4linux //執行安裝,安裝時預設安裝ie6,如果須要安裝ie7,在高階中會有選擇(ie6以下的安裝就算了吧!!)

三、優化及亂碼解決

通常安裝完成後,部分中文是有問題的,包括外觀等。在實際安裝中發現ies4linxu只需要拷貝中文字型到ie的windows/Fonts就可以了,不需修改其他的。以下是Wine需要修改的一下內容,摘抄自http://www.lyzsoft.cn/wine-garbled-solution.html

3.1加快 wine 速度

由於 X locale 的問題, 預設 wine 會輪詢 x core fonts ,使得 wine 很慢,請先執行

sudo sed -i -e '/GBK/,/^}/d' /usr/share/X11/locale/zh_CN.UTF-8/XLC_LOCALE

3.2修改 wine 外觀

預設的 wine 字型、主題、顏色等不太合適,可以用這 [Hiweed] 的 wine 配置 新建一個文字檔案 hiweed_green_color.reg 寫入(在9.04的源中安裝的wine無法匯入以下reg檔案,可能是由於regedit不相容空格造成的,將下面這段中每行前的第一個空格刪除可能會解決問題) 程式碼如下:

REGEDIT4

 [HKEY_LOCAL_MACHINESystemCurrentControlSetHardware ProfilesCurrentSoftwareFonts]

 "FIXEDFON.FON"=""

 "FONTS.FON"=""

 "LogPixels"=dword:00000060

 "OEMFONT.FON"=""

 [HKEY_CURRENT_USERSoftware/Wine/Fonts/Replacements]

 @="AR PL ShanHeiSun Uni"

 "Arial"="AR PL ShanHeiSun Uni"

 "Fixedsys"="AR PL ShanHeiSun Uni"

 "Microsoft Sans Serif"="AR PL ShanHeiSun Uni"

 "MingLiU"="AR PL ShanHeiSun Uni"

 "MS UI Gothic"="AR PL ShanHeiSun Uni"

 "PMingLiU"="AR PL ShanHeiSun Uni"

 "Simsun"="AR PL ShanHeiSun Uni"

 "Songti"="AR PL ShanHeiSun Uni"

 "System"="AR PL ShanHeiSun Uni"

 "Tahoma"="AR PL ShanHeiSun Uni"

 "Terminal"="AR PL ShanHeiSun Uni"

 "宋體"="文鼎PL細上海宋Uni"

 [HKEY_CURRENT_USERSoftware/Wine/X11 Driver]

 "ClientSideAntiAliasWithRender"="N"

 [HKEY_LOCAL_MACHINESoftwareMicrosoftWindows NTCurrentVersionFontSubstitutes]

 "MS Shell Dlg"="文鼎PL細上海宋Uni"

 "MS Shell Dlg 2"="文鼎PL細上海宋Uni"

 "System"="AR PL ShanHeiSun Uni"

 [HKEY_CURRENT_USERControl Panel/Colors]

 "ActiveBorder"="239 235 230"

 "ActiveTitle"="0 153 11"

 "AppWorkspace"="128 128 128"

 "Background"="58 110 165"

 "ButtonAlternateFace"="180 180 180"

 "ButtonDkShadow"="64 64 64"

 "ButtonFace"="232 227 221"

 "ButtonHilight"="255 255 255"

 "ButtonLight"="239 235 230"

 "ButtonShadow"="128 128 128"

 "ButtonText"="0 0 0"

 "GradientActiveTitle"="166 202 240"

 "GradientInactiveTitle"="192 192 192"

 "GrayText"="128 128 128"

 "Hilight"="0 153 11"

 "HilightText"="255 255 255"

 "HotTrackingColor"="0 0 255"

 "InactiveBorder"="192 192 192"

 "InactiveTitle"="232 227 221"

 "InactiveTitleText"="0 0 0"

 "InfoText"="0 0 0"

 "InfoWindow"="255 255 225"

 "Menu"="232 227 221"

 "MenuBar"="232 227 221"

 "MenuHilight"="0 0 0"

 "MenuText"="0 0 0"

 "Scrollbar"="239 235 230"

 "TitleText"="255 255 255"

 "Window"="255 255 255"

 "WindowFrame"="0 0 0"

 "WindowText"="0 0 0"

再用 regedit 匯入這個 reg , 執行:

 regedit hiweed_green_color.reg

如果 .wine/drive_c/windows/fonts/ 下沒有文鼎的字型檔案,應該用以下命令連線::

ln -s /usr/share/fonts/TTF/odosung.ttc ~/.wine/drive_c/windows/Fonts/

3.3亂碼解決方法

1、首先拷貝simsun.ttc字型進入~/.wine/drive_c/windows/Fonts/

2、修改登錄檔檔案~/.wine/system.reg:

將[Software//Microsoft//Windows NT//CurrentVersion//FontSubstitutes] 中的:

“MS Shell Dlg”=”Tahoma”

“MS Shell Dlg 2″=”Tahoma”

改為:

“MS Shell Dlg”=”SimSun”

“MS Shell Dlg 2″=”SimSun”

當然,如果你有興趣,也可以將這個部分的其他字型都轉換成SimSun。

3.4中文支援

用法:

1) 安裝 winehq 官方的 wine 相應版本(請參考:http://wiki.ubuntu.org.cn/Wine);

2)載相應版本的補丁包;

3) 解壓(先進入補丁包在所在目錄):

然後輸入命令:

tar -xvvf wine-1.1.25_amd64_gdi32.dll.so.tar.bz2

Hardy amd64:

sudo mv /usr/lib32/wine/gdi32.dll.so gdi32.dll.so.backup

sudo cp gdi32.dll.so /usr/lib32/wine

Hardy i386:

sudo mv /usr/lib/wine/gdi32.dll.so gdi32.dll.so.backup

sudo cp gdi32.dll.so /usr/lib/wine

補丁下在地址

http://forum.ubuntu.org.cn/viewtopic.php?f=121&t=131400

美化

如果在英文環境下使用wine,用env LANG=zh_CN.UTF-8 wine "執行的程式"。wine的字型美化。

開啟字型的防鋸齒:

REGEDIT4

[HKEY_CURRENT_USER/Software/Wine/X11 Driver]

"ClientSideAntiAliasWithCore"="Y"

"ClientSideAntiAliasWithRender"="Y"

"ClientSideWithRender"="Y"

開啟字型的平滑功能:

REGEDIT4

[HKEY_CURRENT_USER/Control Panel/Desktop]

"FontSmoothing"="2"

"FontSmoothingType"=dword:00000002

"FontSmoothingGamma"=dword:00000578

"FontSmoothingOrientation"=dword:00000001