標籤: 暫無標籤

wine,是一款優秀的Linux系統平台下的模擬器軟體,用來將Windows系統下的軟體在Linux系統下穩定運行,該軟體更新頻繁,日臻完善,可以運行許多大型Windows系統下的軟體。另外英語單詞wine是葡萄酒的意思。

1 wine -概述

剛剛步入Linux,難免要有時利用一下Windows的程序資源,Wine提供了一個用來運行Windows程序的平台。
Wine (Wine Is Not an Emulator)[即Wine不僅僅是一個模擬器]是一個在Linux和UNIX之上的,Windows 3.x 和 Windows APIs的實現.它是一個Windows兼容層,用通俗的話說,就是一個Windows模擬器,這個層既提供了一個用來從Windows源進出到UNIX的開發工具包(Winelib),也提供了一個程序載入器,該載入器允許不用任何修改Windows 3.1/95/NT的二進位文件,就可以運行在Intel Unix及其衍生版本下.Wine可以工作在絕大多數的UNIX版本下,包括Linux, FreeBSD, 和 Solaris. Wine不需要Microsoft Windows, 因為這是一個完全由百分之百的免費代碼組成的,可以選擇的實現,但是它卻可以隨意地使用本地系統的DLLs,如果它們是可以被利用的話.Wine的發布是完全公開源代碼的,並且是免費發行的。
目前 Wine 仍在發展階段,但是較新的版本可以運行一些著名軟體,甚至是 Photoshop CS3!(不過linux下有gimp,誰還用Photoshop呢……)
Wine的官方站點見擴展閱讀部分,雖然你可以在它的官方站點下載源代碼,自己配置編譯,不過這個過程可是比較繁瑣的!

2 wine -發展


Wine計劃是在1993年由Bob Amstadt及Eric Youngdale發起的,最初的目的是為了使16位的視窗3.1的程序可以在Linux上運行,但現在已將目的變為使32位的視窗程序在Linux上運行。
Wine雖然是為Linux而制,但亦能支持FreeBSD、Mac OS X(Intel版) 與 Solaris-x86。
因為Windows的DLLs是封閉源代碼的,所以程序員只能由最底層的設計開始,耗費大量的時間來編寫和測試,最後達至兼容。但這個過程往往會有很多困難,而且亦可能會出現很多錯誤。
當Corel參加這個計劃后,Wine很快便能兼容WordPerfect Office,但Corel後來停止了支持這個計劃。

3 wine -其他Wine版本


Wine雖然可運行大部份視窗程序,但只能極有限度地運行以DirectX所編寫的遊戲,亦即是很多遊戲不能在其運行。
Wine的延伸計劃主要有兩大產品,一個是CodeWeavers開發的CrossOver,另一個是TransGaming Technologies的Cedega,CrossOver Office以提供應用軟體支持為主,Cedega則鎖定在遊戲娛樂方面。CodeWeavers和Wine計劃一直保有密切的合作關係。CodeWeavers亦僱用了Alexandre Juillard以將CrossOver Office的源代碼回饋給Wine。在2005年6月22日,CodeWeavers 宣布支持基於英特爾處理器的蘋果電腦。
Transgaming的Cedega則是商業軟體,以Wine為基礎,在Wine更換授權后停止使用Wine的源代碼,雖然有Cedega提供源代碼下載(經由CVS),但在不包含專利技術的情形下,功能與可用性都不高。

4 wine -編譯安裝


如果你安裝了編譯所需要的軟體(如 gcc flex bison fontforge ),就可以進行編譯了!
首先,訪問官方網站下載最新版本的 wine,解壓到一個目錄
打開終端("Terminal"),輸入以下命令:
cd <你解壓的目錄> #進入目錄
./configure # 檢查編譯環境
make #若上一步成功的話,即可進行編譯
make install #安裝
即可完成 Wine 的編譯。
▲注意:編譯 WINE 一般需要一個小時(視機器性能而定),若你是剛剛接觸 Linux 不久的人,最好不要進行編譯。

5 wine -下載及安裝


若你使用 Debian 或者 Ubuntu 之類的發行版,只需要一個命令即可完成安裝:
sudo apt-get install wine
若你使用的為其他發行版,請訪問官方網站下載區 查詢安裝方法

6 wine -Wine 的配置


運行 winecfg 即可,裡面有詳盡的配置。
注意:Wine 1.1.27以上版本的 winecfg 已經是中文界面了。

7 wine -中文亂碼的解決


Wine 1.1.4 以上版本的中文支持得到了極大改善。如果您在使用較低版本的WINE或者對WINE的中文支持不滿意,可以把下面文字保存為 zh.reg 文件,運行 regedit 導入它即可
REGEDIT4
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\FontSubstitutes]
"Arial"="WenQuanYi Zenhei"
"Arial CE,238"="WenQuanYi Zenhei"
"Arial CYR,204"="WenQuanYi Zenhei"
"Arial Greek,161"="WenQuanYi Zenhei"
"Arial TUR,162"="WenQuanYi Zenhei"
"Courier New"="WenQuanYi Zenhei"
"Courier New CE,238"="WenQuanYi Zenhei"
"Courier New CYR,204"="WenQuanYi Zenhei"
"Courier New Greek,161"="WenQuanYi Zenhei"
"Courier New TUR,162"="WenQuanYi Zenhei"
"FixedSys"="WenQuanYi Zenhei"
"Helv"="WenQuanYi Zenhei"
"Helvetica"="WenQuanYi Zenhei"
"MS Sans Serif"="WenQuanYi Zenhei"
"MS Shell Dlg"="WenQuanYi Zenhei"
"MS Shell Dlg 2"="WenQuanYi Zenhei"
"System"="WenQuanYi Zenhei"
"Tahoma"="WenQuanYi Zenhei"
"Times"="WenQuanYi Zenhei"
"Times New Roman CE,238"="WenQuanYi Zenhei"
"Times New Roman CYR,204"="WenQuanYi Zenhei"
"Times New Roman Greek,161"="WenQuanYi Zenhei"
"Times New Roman TUR,162"="WenQuanYi Zenhei"
"Tms Rmn"="WenQuanYi Zenhei"

8 wine -官方介紹


Wine is an Open Source implementation of the Windows API on top of X, OpenGL, and Unix.
Think of Wine as a compatibility layer for running Windows programs. Wine does not require Microsoft Windows, as it is a completely free alternative implementation of the Windows API consisting of 100% non-Microsoft code, however Wine can optionally use native Windows DLLs if they are available. Wine provides both a development toolkit for porting Windows source code to Unix as well as a program loader, allowing many unmodified Windows programs to run on x86-based Unixes, including Linux, FreeBSD, Mac OS X, and Solaris.
More information can be read in the articles Why Wine is so important, and Debunking Wine Myths. If you are wondering how well a particular application works in Wine, please examine the Applications Database. For installation instructions and step-by-step help with running Wine, take a look at the User Guide.
Wine is free software. The licensing terms are the GNU Lesser General Public License.

9 wine -簡單使用方法


Wine可以在絕大多數的Unix版本下工作,但其現在仍不能完全運行所有的Windows程序,不過由於幾乎每個月都有新版本,越來越多的Windows程序已經能在Wine的幫助下在Linux中運行。
1、直接運行程序
使用命令 wine
[root@localhost root]#wine <程序名>
2、使用程序管理器
[root@localhost root]#progman
啟動管理器窗口,從菜單中選擇 文件(F)-執行(X),就會彈出一個目錄瀏覽器,選擇程序即可。
3、直接雙擊 EXE 程序
一些發行版安裝WINE時會自動關聯EXE程序,這樣直接雙擊可以運行。
某些簡單程序可直接運行,而不需要安裝。
舉例:Wine運行國泰君安股票軟體
如果大家經常用Linux桌面(如Ubuntu),可以用以下的方法把國泰君安股票軟體安裝到Ubuntu系統中。
1. 安裝Wine
sudo apt-get install wine
2. 下載國泰君安股票安裝軟體
3. 把當前目錄更換到有國泰君安股票軟體的目錄
運行以下命令:
wine setup_dzh5_fuyi.exe
這時象在Microsoft Windows中一樣的安裝界面就會出現,按提示安裝。
注意:如果這時出現亂碼,可能是由於Wine中的字體替換出了問題,請參考擴展閱讀中對應的提示。
4. 運行國泰君安股票軟體
運行以下命令:
cd ~/.wine/drive_c/DZH5/internet/
wine Hypmain.exe

10 wine -Wine可以做什麼


本文中,我們討論的是 Wine 在純 Linux 上的安裝,沒有任何 Windows 分區。
1. Windows 可執行文件:
Wine 完全支持 Windows 可執行文件( .exe 和 DLL)的二進位載入。
2. DLL:
Wine 有幾百個 Windows DLL 的內部實現 -- 不過,其中沒有多少是完全的實現。例如,包含有用戶界面相關函數的 userd32.dll 在開放源代碼的 Wine 中實現了 92%。
3. COM:
這是一種幾乎被所有的大型 Windows 應用程序所使用的 Windows 技術,它支持諸如將一個 Excel 電子數據表嵌入到 Word 文檔中等功能。這一技術得到了 Wine 的很好的支持。
4. 註冊表:
這是另一個幾乎任何一個 Windows 應用程序都會使用的關鍵技術,Wine 實現了大約 90% 的 Windows 註冊表管理 API。
5. 核心功能:
核心繫統功能也得到了特別好的支持。如前面提到的,儘管 Linux 和 Windows 之間存在區別,但是基本的層次上還有很多類似之處,因此與進程、線程、文件和消息隊列相關的核心繫統 API 得到了近乎完美的支持。
6. 音頻和視頻:
Wine 支持 Windows 音頻和視頻文件的運行(還可以使用 Windows 媒體播放器)。
7. 列印:
也得到了支持,可以從一個在 Wine 中運行的 Windows 應用程序進行列印。
8. ODBC:
Wine 支持那些需要通過 ODBC 訪問資料庫的 Windows 應用程序。
9. 調試:
Wine 有一個非常健壯和強大的內置調試器,除了支持標準的調試功能外,它還為調試運行於 Linux 上的 Windows 二進位程序進行了定製。它是 Wine 為其開發者提供的最重要工具之一。Wine 還有一個設計完備的追蹤和記錄日誌的模塊,可以幫助調試。我們之所以強調這一點,原因在於,儘管框架是健壯的,但是,當在 Wine 中安裝和運行 Windows 應用程序時有很多不確定因素,在使用開放源代碼的 Wine 時遲早會停下來進行調試。

11 wine -不能做什麼


不幸的是,很多用戶發現 Wine 難於使用。誠然,在 Linux 上使用類似於 MS Office 這樣的應用程序可能是困難的;在這裡我們來看一些原因,為什麼確實是這樣。在開始之前,我們應該指出,CodeWeavers 提供的商用 Wine (CrossOver)已經解決了大部分此類問題(參閱參考資料以獲得鏈接)。假以時日,這些問題將可能在開放源代碼的 Wine 中同樣得到解決。
1. 使用命令行
與大部分 Linux 中的應用程序一樣,Wine 必須在命令行中安裝。用戶必須回到命令行中來在 Wine 下運行應用程序。例如,要運行Internet Explorer,用戶通常需要在 shell 中輸入 wine IEXPLORE.EXE 。儘管經驗豐富的用戶喜歡這樣做,但初學者會發現這比較困難,而且不太可能懂得起別名等快捷方式。不過,現在用戶也可以直接雙擊EXE文件運行(如果進行了關聯),儘管這樣會給查看錯誤信息帶來困難。
2. 配置
Wine 的配置較為複雜。不過現在有了簡體中文的界面,對於初學者來說,配置簡單了不少。
3. 取消對隱藏文件的隱藏
如果掛載 CDROM 時沒有使用專門的 unhide 選項,那麼安裝 CD 上的一些文件可能會無法找到,從而導致安裝失敗。
4. 調整配置
Wine 安裝很少能直接使用(對它來說也就是從 tarfile 解開)。通常需要進行全面的調整;例如,一個程序的安裝可能與您在配置文件中設置的 Windows 版本不相容;而修改那個版本又可能會影響一些已安裝的應用程序。對很多 DLL 來說也是如此。為此,Wine 提供了一個巧妙的修復,讓您可以設置特定於應用程序的屬性。不過,一般的用戶可能不會像我們一樣滿意。
5. 額外的安裝步驟
大部分應用程序的安裝過程都不是標準的。例如,當我們安裝 Internet Explorer 6 時,必須跳過一些步驟,比如 DCOM98 的定位與安裝。對用戶來說,這類事情可能是最大的障礙。
注意,這些並不是病症,而是舉例說明了是哪些種類的事情導致對一般用戶來說 Wine 看起來複雜而且困難。
更多 Wine 所不能做的
看完 Wine 的可用性問題后,現在讓我們來總結在嘗試使用 Wine 時一些常見的技術問題。
1. 缺少 DLL
這可能是最常見的問題:很多安裝由於缺少 DLL 而失敗。人們應該熟練使用調試器來決定下一步如何去做。(稍後將深入討論調試器)。
2. DLL 版本問題
一些安裝程序在開始之前會檢查現有的系統 DLL。Wine 解決這一問題的方法是,創建假 DLL 以滿足安裝程序的需要。不過,有一些安裝程序會更進一步並深入檢查 DLL 以獲得它們的版本。這對假的 DLL 來說要求太高了,會導致安裝失敗。
3. DLL 載入次序
Wine 有對很多 Windows DLL 的實現,而且如果可用,它還可以使用原始的 Windows DLL。如果兩種 DLL 都可用,好像顯然應該選擇總是使用 Windows 自己的 DLL,但實際上 Windows DLL 有時會包含不能被滿足的依賴。要確定是更應該使用 Wine 的 DLL 還是應該使用本機 DLL,惟一的方法是,基於各個應用程序反覆進行試驗。
4. DLL 中的函數
當一個 Wine DLL 沒有實現 Windows 中相應的 DLL 的全部功能時,應用程序可能會遭遇函數調用失敗。由於 DLL 是動態載入的,可能沒有辦法事先知道會發生這樣的事情。這是一個複雜的問題,有一些可做的工作,但最終實際來說它只是取決於應用程序的代碼如何編寫。
有一些因素會減輕這些問題。一方面,您將會一個一個地遇到這些問題,而不是一次遇到全部問題,這樣處理起來要容易些。另外,您遇到的那些問題可能其他人曾遇到過並已經解決(而且解決方案已經公布出來)。Wine 用戶組非常活躍,會提供許多幫助,每周一次的 Wine 時事通訊(參閱 參考資料)是極好的信息資源。
Wine 中還沒有實現的 Win32 API
在 Wine 中,很多 Win32 API5 的函數是殘缺不全的。最常見的原因是,相當多的 Win32 API 並沒有被文檔化。這就意味著一個特別的應用程序可能會調用某個函數,而完全沒有關於此函數的可用資料。例如,我們在運行一個簡單的 RPC 程序時發現了 RtlAnsiCharToUnicodeChar 這個函數。在 MSDN 上的搜索結果顯示沒有關於這個函數的資料,而且沒有關於所有 RtlXXXX 類別函數的資料。因此,如果它們在 Wine 中的實現對一些應用程序來說至關重要,那麼人們可能只有去猜測它們的行為了。

12 wine -英語含義


名詞 n.
1. 葡萄酒;水果酒;酒
May I help you to another glass of wine?
讓我來給你再斟杯酒好嗎?
2. 深紅色,紫紅色,酒紅色
3. 使人沉醉的東西
及物動詞 vt.
1. 請...喝酒
不及物動詞 vi.
1. 喝酒
(摘自百度詞典)
上一篇[小羚羊]    下一篇 [六道峽]

相關評論

同義詞:暫無同義詞