給Linux喝點紅酒(Wine)吧!讓它也能執行Windows程式


許多從Windows系統換到Linux的使用者總是會對Windows上的軟體念念不忘,儘管Windows系統不怎麼好用,但Windows上還是有一些在Linux上無法取代的好用軟體,例如Notepad++、Foobar2000、WinRAR,這些軟體的確令人愛不釋手。在任何系統上,都可以藉由安裝虛擬機(Virtual Machine)來模擬出其它環境的系統,執行該系統上的程式。但是一台虛擬機所需要的硬體需求頗大,而且還要花費氣力在虛擬機上安裝系統,不見得是一個很好的解決方案。所幸在Linux上,有一個叫作「Wine」(別懷疑,就是紅酒)的開放原始碼專案,可以在Linux上不透過虛擬機,輕易地執行Windows程式。

Wine的原理與演進

Wine究竟是如何工作的呢?Wine並不是一個Windows的模擬器,因此開發團隊必須將Windows上的函式庫(WinAPI)從底層開始慢慢地重新移植到Unix Like的環境下,而且由於兩個系統上本身實作Process或Thread等Kernel Mode端的系統功能方式不同,Wine必須要提供另一個介面來協助這兩個平台內部的溝通。因此,使用Wine執行Windows的程式時,必須再經由Wine來進行API轉換,等於多了一道手續,會讓程式執行效率稍微下降一些,但在大部分的情況下會比使用虛擬機還要來得有效率。

筆者在剛踏入Linux的世界的時候,當時的Wine所能支援的Windows程式非常的少,而且如果遇到中文的程式,還會出現方格亂碼,需要進行一連串的設定才能調整到能正常顯示,並不是一般使用者可以輕易使用的軟體。但隨著Wine的版本演進,已經可以支援愈來愈多的Windows程式了,而且效能也有愈來愈好的趨勢,已經算是一個好用而且十分便利的軟體了。

Wine的安裝方法

Linux Mint系統為例,如果要安裝Wine,建議新增「ubuntu-wine/ppa」,來獲得更新的Wine版本,可以使用以下指令快速新增這個PPA:

sudo add-apt-repository ppa:ubuntu-wine/ppa

給Linux喝點紅酒(Wine)吧!讓它也能執行Windows程式

接著使用以下指令來更新系統的軟體清單:

sudo apt-get update

給Linux喝點紅酒(Wine)吧!讓它也能執行Windows程式

使用以下指令來安裝Wine 1.8版:

sudo apt-get install wine1.8

wine

Wine的使用方法

執行Windows程式

安裝完Wine之後,Windows的執行檔應該就自動與Wine(Wine Windows Program Loader)自動進行關聯了,因此只要直接在檔案瀏覽器開啟副檔名為「EXE」的檔案即可執行Windows程式。

Wine在執行Windows程式時可能會告知缺了什麼套件需要安裝,就讓它安裝吧!

給Linux喝點紅酒(Wine)吧!讓它也能執行Windows程式

給Linux喝點紅酒(Wine)吧!讓它也能執行Windows程式

如下圖,成功開啟了SmartGet、Foobar2000和Notepad++。

給Linux喝點紅酒(Wine)吧!讓它也能執行Windows程式

給Linux喝點紅酒(Wine)吧!讓它也能執行Windows程式

給Linux喝點紅酒(Wine)吧!讓它也能執行Windows程式

Wine的路徑

Wine的環境中,也是有「C槽」(C:)這樣的東西,它的實體路徑就在「~/.wine/dosdevices/c:」下,在這個目錄可以找到安裝軟體時通常會放置的「Program Files」目錄,以及系統檔案使用的「Windows」目錄。

給Linux喝點紅酒(Wine)吧!讓它也能執行Windows程式

如果您並未找到這個路徑下的目錄,可能是因為Wine尚未配置Windows環境,只要隨便執行一個Windows程式就可以自動配置了。

Wine的「新增/移除程式」

使用Wine來安裝Windows程式很簡單,但是安裝完要如何移除呢?只要輸入以下指令,就可以開啟Wine的「新增/移除程式」。

wine uninstaller

給Linux喝點紅酒(Wine)吧!讓它也能執行Windows程式

Winetricks來強化Wine

Winetricks是一個協助使用者更容易使用Wine開放原始碼專案,通常會使用Winetricks來替Wine安裝更多的DLL(動態連結函式庫)或是其他元件,讓Wine能支援更多的Windows程式。

Winetricks已包含在「ubuntu-wine/ppa」內,如果要安裝Winetricks,只要輸入以下指令即可:

sudo apt-get install winetricks

給Linux喝點紅酒(Wine)吧!讓它也能執行Windows程式

安裝完後,在終端機下輸入以下指令,就可以開啟Winetricks

winetricks

給Linux喝點紅酒(Wine)吧!讓它也能執行Windows程式

給Linux喝點紅酒(Wine)吧!讓它也能執行Windows程式

Winetricks有許多功能可以用,他能用來快速安裝Windows上的應用程式、跑分軟體甚至是遊戲,但是筆者不是很建議直接使用Winetricks來裝這些軟體。因為會有語言不合以及版本過舊的問題。

給Linux喝點紅酒(Wine)吧!讓它也能執行Windows程式

給Linux喝點紅酒(Wine)吧!讓它也能執行Windows程式

給Linux喝點紅酒(Wine)吧!讓它也能執行Windows程式

如果要使用Winetricks來安裝DLL或是其他元件,那在Winetricks一開始的選單中先選擇「Select the default wine prefix」,按下確定按鈕後,接著再選擇「Install a Windows DLL or component」。

給Linux喝點紅酒(Wine)吧!讓它也能執行Windows程式

接著就可以自己選擇要安裝的項目啦!連.NET Framework和DirectX都能安裝呢!

給Linux喝點紅酒(Wine)吧!讓它也能執行Windows程式

Windows上執行Linux程式

既然Linux系統或是其他Unix Like的系統可以靠Wine來輕鬆執行Windows的程式,那Windows有沒有辦法也不透過虛擬機來輕易執行Linux程式呢?目前還是不太行的,只能等待Cygwin的後續發展。

關於作者

Magic Len

各位好,我是Magic Len,是這網站的管理員。我是台灣台中大肚山上人,畢業於台中高工資訊科和台灣科技大學資訊工程系,曾在桃機航警局服役。我熱愛自然也熱愛科學,喜歡和別人分享自己的知識與經驗。如果你有興趣認識我,可以加我的Facebook,並且請註明是從MagicLen來的。

相關文章