Ubuntu系統(tǒng)下安裝Wine來(lái)運(yùn)行Windows程序的方法詳解

有時(shí)候免不了要使用Windows應(yīng)用程序,于是在本教程中,我們將使用Wine教你如何在Linux上順暢地運(yùn)行Windows應(yīng)用程序。
縱然Linux軟件品種繁多,但有時(shí)候你還是覺(jué)得缺少了與Windows版對(duì)應(yīng)的某個(gè)應(yīng)用程序。需要那一個(gè)應(yīng)用程序可能有好多原因,最常見(jiàn)的原因恐怕是Linux不支持某一種文件格式或?qū)嶋H使用的某個(gè)應(yīng)用程序。幸好,有好多辦法可以在Linux系統(tǒng)上使用Windows應(yīng)用程序。
Wine的介紹
Wine是Wine Is Not an Emulator(Wine不是模擬器)的縮寫,其實(shí)是一個(gè)轉(zhuǎn)換層(或程序裝入器),能夠在Linux及與POSIX兼容的其他類似操作系統(tǒng)上運(yùn)行Windows應(yīng)用程序。Wine在Linux上無(wú)法模擬Windows應(yīng)用程序,而是提供了另外的方法來(lái)實(shí)施DLL(典型的Windows應(yīng)用程序可以調(diào)用這些DLL)和代替Windows NT內(nèi)核的進(jìn)程。Wine完全由非微軟代碼組成。
Wine支持?jǐn)?shù)量眾多的應(yīng)用程序,但并非全部都得到同樣的支持??梢栽L問(wèn)Wine應(yīng)用數(shù)據(jù)庫(kù)(AppDB, http://appdb.winehq.org),看看你常用的Windows應(yīng)用程序與Wine之間的兼容性有多好。AppDB由社區(qū)維護(hù);你也可以添加自己發(fā)現(xiàn)的應(yīng)用程序。AppDB定義了如下幾種級(jí)別類型:
白金:如果某應(yīng)用程序在“即開(kāi)即用”狀態(tài)下可以順暢無(wú)阻地安裝和運(yùn)行,它可以被評(píng)為白金級(jí)。Wine配置文件不需要進(jìn)行更改。
黃金:應(yīng)用程序與一些DLL覆蓋文件、其他設(shè)置或第三方軟件可以順暢無(wú)阻地協(xié)同運(yùn)行。
白銀:就“平常”使用而言,應(yīng)用程序可以出色地運(yùn)行。比如說(shuō),游戲在單人玩家模式下運(yùn)行很好,但在多人玩家模式下不行;Windows Media Player作為插件和獨(dú)立播放器運(yùn)行很好,但無(wú)法處理數(shù)字版權(quán)管理(DRM)等。
青銅:應(yīng)用程序可以運(yùn)行,但存在一些問(wèn)題,哪怕是平常使用。比如說(shuō),游戲無(wú)法正確地重新繪圖或者用錯(cuò)誤的顏色顯示字體,速度比平常慢得多,等等。
垃圾:如果應(yīng)用程序無(wú)法用于原本的用途,就會(huì)得到這個(gè)評(píng)級(jí)。如果這樣,通用軟件缺陷跟蹤系統(tǒng)Bugzilla中應(yīng)該至少有一個(gè)軟件缺陷報(bào)告。應(yīng)用程序無(wú)法安裝、無(wú)法啟動(dòng),或者就算能啟動(dòng),也有好多錯(cuò)誤,以至于幾乎沒(méi)法使用。
一. 安裝Wine
Wine適應(yīng)于所有流行的UNIX操作系統(tǒng),包括Ubuntu、Debian、Red Hat、SUSE、Mandriva、FreeBSD、Solaris和Mac OS X。
在Ubuntu上:
1. 打開(kāi)Applications(應(yīng)用程序)>Ubuntu Software Center(Unbuntu軟件中心),打開(kāi)Ubuntu軟件中心。
2. 然后點(diǎn)擊Edit(編輯)>Software Sources(軟件源)。選擇Other Software(其他軟件)選項(xiàng)卡,點(diǎn)擊Add(添加)。然后輸入下列apt行:
ppa:ubuntu-wine/ppa
3. 從左邊的Get Software(取得軟件)部分中選擇“PPA for Ubuntu Wine Team”,然后選擇Microsoft Windows Compatibility Layer(Development files) – wine1.3-dev。點(diǎn)擊Install(安裝)。這會(huì)安裝最新的Wine軟件包,包括開(kāi)發(fā)庫(kù)。
提示:卸載現(xiàn)有的Wine軟件包,以確保最大的兼容性。另外,如果想干凈安裝,你可以刪除Wine用戶目錄,為此可以從主目錄中使用命令rm -r -v .wine。
4.在 64 位 Ubuntu 15.10 中編譯最新版 32 位 Wine
Wine 發(fā)布了最新的1.7.53版本。此版本帶來(lái)的大量性能提升,包括XAudio,Direct3D代碼清理,改善OLE對(duì)象嵌入技術(shù),更好的 Web Services DLL的實(shí)現(xiàn),還有其他大量更新。
雖然有一個(gè)官方 Wine PPA,但目前只提供1.7.44版本,所以安裝最新版本可以從源碼編譯安裝。
下載源碼包(直接下載地址在此)并解壓 tar -xf wine-1.7.53。然后,安裝如下依賴。
sudo apt-get install build-essential gcc-multilib libx11-dev:i386 libfreetype6-dev:i386 libxcursor-dev:i386 libxi-dev:i386 libxshmfence-dev:i386 libxxf86vm-dev:i386 libxrandr-dev:i386 libxinerama-dev:i386 libxcomposite-dev:i386 libglu1-mesa-dev:i386 libosmesa6-dev:i386 libpcap0.8-dev:i386 libdbus-1-dev:i386 libncurses5-dev:i386 libsane-dev:i386 libv4l-dev:i386 libgphoto2-dev:i386 liblcms2-dev:i386 gstreamer0.10-plugins-base:i386 libcapi20-dev:i386 libcups2-dev:i386 libfontconfig1-dev:i386 libgsm1-dev:i386 libtiff5-dev:i386 libmpg123-dev:i386 libopenal-dev:i386 libldap2-dev:i386 libgnutls-dev:i386 libjpeg-dev:i386
現(xiàn)在切換到 wine-1.7.53 解壓后的文件夾,并輸入:
./configure
make
sudo make install
同樣地,你也可以給配置腳本指定 prefix 參數(shù)。以普通用戶安裝 wine:
./configure --prefix=$HOME/usr/bin
make
make install
二. 安裝Wine支持包
現(xiàn)在,我們需要安裝非開(kāi)源(但免費(fèi))的支持包。這包括微軟Core Fonts、Visual C++運(yùn)行時(shí)環(huán)境等軟件包。
不妨繼續(xù)深入介紹。
安裝Cabextract:
需要該軟件包來(lái)解壓縮微軟.cab文件。
$ sudo apt-get install cabextract
下載winetricks腳本:
現(xiàn)在我們需要下載一個(gè)很棒的腳本,名為winetricks,它會(huì)自動(dòng)下載和安裝必要的支持包。
$ wget http://winetricks.org/winetricks
現(xiàn)在輸入下列命令,安裝必要的支持包:
$ sh winetricks corefonts Tahoma
提示:你還可以不用任何命令行參數(shù)來(lái)運(yùn)行winetricks,那樣就能從漂亮的GUI界面選擇需要安裝的軟件包。
三. 安裝微軟Office
在本例中,我們將安裝微軟Office 2007。插入微軟Office 2007光盤,鼠標(biāo)右擊setup.exe,選擇“Open With Windows Program Loader”。這應(yīng)該會(huì)啟動(dòng)微軟Office安裝程序。以平常的方式來(lái)安裝,就像你在任何Windows系統(tǒng)上安裝那樣。
四. 建立庫(kù)
鑒于已安裝好了微軟Office 2007,我們要確保Wine已經(jīng)過(guò)配置,可以順利使用該應(yīng)用軟件。你也看到,Wine以自己的方法實(shí)施了各種Windows庫(kù),但我們可以直接使用原生的Windows庫(kù),確保應(yīng)用程序有最大的兼容性。Wine隨帶自己的配置工具:winecfg。除了其他功能外,該工具還讓我們可以在內(nèi)置版本的庫(kù)與原生版本的庫(kù)之間切換。
輸入命令winecfg,即可打開(kāi)Wine配置工具。進(jìn)入到Libraries(庫(kù))選項(xiàng)卡,把riched20和usp10添加到“native, builtin”。這表明,Wine應(yīng)該先試著裝入原生的Windows庫(kù);要是沒(méi)有這些庫(kù),它會(huì)試著裝入內(nèi)置的庫(kù)。
五. 運(yùn)行微軟Office
微軟Office現(xiàn)在應(yīng)該已出現(xiàn)在Ubuntu程序菜單中??梢韵群筮M(jìn)入到Application(應(yīng)用程序)> Programs(程序)>Microsoft Office(微軟Office)來(lái)訪問(wèn)它。
這個(gè)過(guò)程確實(shí)相當(dāng)簡(jiǎn)單。如果你只想臨時(shí)運(yùn)行某個(gè)Windows程序,假設(shè)兼容性很好,那么全都妥當(dāng)了;但是高級(jí)用戶想要再深入一步的話,需要繼續(xù)讀下去。[NextPage]
使用Winelib構(gòu)建Windows應(yīng)用程序
如果你想不受微軟的約束,Wine確實(shí)大有幫助。這年頭,連第三方的Windows應(yīng)用開(kāi)發(fā)人員都要受微軟的支配。比如說(shuō),Windows多媒體應(yīng)用開(kāi)發(fā)人員處理最簡(jiǎn)單的任務(wù)都要依賴DirectX。DirectX是微軟的專屬財(cái)產(chǎn),別人誰(shuí)也無(wú)法訪問(wèn)不了源代碼。有一天,微軟可能會(huì)開(kāi)發(fā)DirectX的一些獨(dú)特功能,由于這些功能沒(méi)有列入文檔,獨(dú)立軟件開(kāi)發(fā)商訪問(wèn)不了這些功能。那樣的話,Windows Media Player將是該平臺(tái)上最好的多媒體播放器,因?yàn)槠渌シ牌鞅黄纫蕾嘍irectX,又無(wú)法完全控制它。
歡迎來(lái)到Linux社區(qū):在這里,沒(méi)有什么是不可能的。
不妨再以DirectX為例。Wine以自己的方法實(shí)施了DirectX(借助Transgaming Technologies而實(shí)現(xiàn))。Wine實(shí)施了常見(jiàn)的多媒體應(yīng)用編程接口(API),比如Direct3D、DirectInput、DirectSound、DirectShow及其他許多API,實(shí)施的辦法就是將它們與功能強(qiáng)大的、開(kāi)放的Linux對(duì)應(yīng)API聯(lián)系起來(lái),如OpenGL、X11和ALSA/OSS API。因而,將DirectX應(yīng)用程序移植到Linux時(shí),你可以使用所有這些開(kāi)放的技術(shù)。Winelib可以用作將應(yīng)用程序從Windows平臺(tái)取出來(lái)放到Linux系統(tǒng)上的第一步。然后,可以逐漸充分利用Linux提供的所有功能。
Winelib能夠在Linux上運(yùn)行和編譯Windows應(yīng)用程序,不需要Windows。Winelib是Wine項(xiàng)目的一部分。它以開(kāi)源的方式實(shí)施了Win32 API,基于Linux和X Window System(如今常稱為Xorg)而建。Winelib的代碼與Wine完全共享,能夠編譯控制臺(tái)應(yīng)用程序和GUI應(yīng)用程序。它還能編譯DLL(動(dòng)態(tài)鏈接庫(kù))等庫(kù)文件。Wine通過(guò)下列兩種方式來(lái)處理Windows源代碼。
•提供二進(jìn)制級(jí)的兼容性
二進(jìn)制級(jí)的兼容性可通過(guò)Wine本身來(lái)獲得。在此過(guò)程中,應(yīng)用程序的源代碼在Windows平臺(tái)上編譯,然后二進(jìn)制文件被移到Linux系統(tǒng)上,通過(guò)Wine來(lái)運(yùn)行。應(yīng)用程序在二進(jìn)制兼容的情況下運(yùn)行時(shí),它可以使用所有現(xiàn)有的.dll文件。這個(gè)過(guò)程相當(dāng)簡(jiǎn)單,但無(wú)法釋放Wine子系統(tǒng)的全部功能。這與我們使用Wine來(lái)運(yùn)行微軟Office 2007的方式一模一樣。
•提供源碼級(jí)的兼容性
在該方法中,源代碼文件被移到Linux系統(tǒng)上,然后使用GCC對(duì)照Winelib庫(kù)來(lái)進(jìn)行編譯。這樣一來(lái),應(yīng)用程序還能夠與UNIX API調(diào)用兼容,以便充分利用UNIX的全部功能。Winelib隨帶一款名為winemaker的工具,該工具可以通過(guò)VC++項(xiàng)目創(chuàng)建基于GNU標(biāo)準(zhǔn)autoconf的makefile文件。Winemaker是一個(gè)Perl腳本,負(fù)責(zé)處理轉(zhuǎn)換源代碼、使源代碼專門用于UNIX、清空用例問(wèn)題及其他眾多方面的所有繁重任務(wù)。
相關(guān)文章
Ubuntu安裝xrdp實(shí)現(xiàn)從Windows端的遠(yuǎn)程桌面連接教程
xrdp是一個(gè)提供針對(duì)Windows遠(yuǎn)程桌面支持的服務(wù)器程序,有了它在圖形化界面的Ubuntu上的運(yùn)行,我們便可以在Windows下用mstsc來(lái)進(jìn)行遠(yuǎn)程GUI操控了,下面我們就來(lái)看一下Ubuntu安2016-06-30如何從Windows到Ubuntu(不動(dòng)聲色的變遷)
這篇文章主要介紹了如何從Windows到Ubuntu(不動(dòng)聲色的變遷) ,讓你無(wú)障礙的學(xué)習(xí)使用ubuntu,需要的朋友可以參考下2016-04-23Ubuntu和Windows雙系統(tǒng)引導(dǎo)丟失的問(wèn)題修復(fù)
這篇文章主要介紹了Ubuntu和Windows雙系統(tǒng)引導(dǎo)的修復(fù)指南,文中分為/boot作為獨(dú)立分區(qū)和非獨(dú)立分區(qū)兩種情況來(lái)講,需要的朋友可以參考下2016-02-22Ubuntu系統(tǒng)上掛載U盤和Windows分區(qū)問(wèn)題的解決實(shí)例
這篇文章主要介紹了Ubuntu系統(tǒng)上掛載U盤和Windows分區(qū)問(wèn)題的解決實(shí)例,其中Windows分區(qū)自動(dòng)掛載是針對(duì)Ubuntu和Windows雙系統(tǒng)安裝時(shí)遇到的問(wèn)題,需要的朋友可以參考下2016-01-14在Ubuntu上配置VNC和Windows系統(tǒng)進(jìn)行遠(yuǎn)程連接
這篇文章主要介紹了在Ubuntu上配置VNC實(shí)現(xiàn)和Windows系統(tǒng)的遠(yuǎn)程連接的方法,基于圖形化的Ubuntu桌面進(jìn)行操作,非常簡(jiǎn)單,需要的朋友可以參考下2015-08-24將Ubuntu下的文件夾共享給同意局域網(wǎng)中的Windows機(jī)器的教程
這篇文章主要介紹了將Ubuntu下的文件夾共享給同意局域網(wǎng)中的Windows機(jī)器的教程,基于圖形化界面下的操作.其他Linux系統(tǒng)也可以使用相同的方法,需要的朋友可以參考下2015-05-28在局域網(wǎng)內(nèi)Ubuntu和Windows之間實(shí)現(xiàn)共享文件教程
在局域網(wǎng)內(nèi)Ubuntu和Windows之間也是可以實(shí)現(xiàn)共享文件的,那么Ubuntu和Windows之間怎么共享文件,下面以圖文的形式為大家詳細(xì)介紹下2015-05-26雙系統(tǒng)重裝windows后ubuntu引導(dǎo)找不到了怎么辦?
雙系統(tǒng)重裝windows后ubuntu引導(dǎo)找不到了怎么辦?我想很多人都試過(guò)裝雙系統(tǒng),windows系統(tǒng)在重裝的時(shí)候總是把MBR重寫了,重裝windows后無(wú)法找到ubuntu的引導(dǎo)。該怎么恢復(fù)呢?2015-05-19Windows系統(tǒng)怎么添加Ubuntu啟動(dòng)項(xiàng)?
Windows系統(tǒng)怎么添加Ubuntu啟動(dòng)項(xiàng)?如果你的Ubuntu是在Windows 7或Windows XP之后安裝的,并且你的Boot Loader不是安裝在MBR,而是安裝在Ubuntu的/boot或/分區(qū),重啟電腦后2015-04-27Ubuntu 14.04安裝Wine以便使用Windows應(yīng)用
如果要在Ubuntu上使用Windows應(yīng)用,就需要用到Wine了,下面小編就以Ubuntu 14.04為例,給大家介紹下Ubuntu 14.04安裝Wine的步驟2015-02-02