网络安全 频道

Linux 上的 Windows 程序 - Wine

人家說Linux上的程式總是比Windows的少,很多Windows上可用程式的功能卻是Linux中沒有,這使一般的用者不會隨便的轉用Linux,同時亦有人構思另一個計畫,這就是Wine的起源。



或者不少玩家都應該聽過’Wine’吧!Wine就是在Unix/Linux平台上運行的Win32 API。透過使用Wine,您可以在Linux上直接使用Win32的軟件,不論是一個普通的程式,甚至如PhotoShop或是Internet Exploror 都可以在Linux上使用,最大的好處是可以不用安裝Windows,諷刺吧!

Wine其實就是一個Wrapper,充當在Linux與Win32軟件間的API,Wine還提供了winelib,可以供您把Win32的軟件移殖至Unix平台上的所需;

Wine可以到以下網址下載最新版本的wine,可供下載的檔案會以 wine-20010406-3 的格式,這是由CVS Source Tree中每日建立的檔案,本文中的所用例子都使用20010406-3版,不同版本對不同軟件的支援都有所不同,就算是同一個版本,執行結果都可能不同:

- http://www.winehq.com/download.shtml

在安裝Wine是有一定的軟件要求,如您使用RPM 安裝,必須有XFree86 4.0.3,而筆者是使用XFree86 4.0.2,及Source RPM安裝,那就沒有問題。安裝後,RPM會在 /usr/share/wine-c 建立模擬的C: ,而其他Driver如 A: 及 D: 會分別指到/dev/fd0 以及您的CD-Rom(如/dev/cdrom)。

而在安裝的過程中並沒有要求您必須安裝Windows,或是建立Fat16/32的分區,但這個是選擇性的安裝。

安裝方法:

# rpm --rebuild wine-20010406-3.src.rpm
# cd /usr/src/redhat/RPMS/`machine`/
# rpm -ivh wine-20010406-3.i386.rpm
(或以及)
# rpm -ivh wine-devel-20010406-3.i386.rpm

Wine支援在不同版本的Windows程式,支援的如DOS、Windows 3.0, 3.1, 95, 98及NT3.52, 4.0 以及 Windows 2000,如果您執行的軟件並不是在Win98上執行,可能是Win 3.1 或是 NT 4.0 又或是 Win 2000,您可以透過--winver參數指定開啟的模擬器:

root# wine --winver nt40 [filename]

Wine的模擬的C: 安裝在 /usr/share/wine-c/ 內,在目錄內應該有Program Files, windows, My Documents, 及 autoexec.bat 與 config.sys ,就如在Windows 的基本目錄相同,如往後您需要執行任何程式,可以在Program Files內找到可執行的檔案。

例如WinZip,請看圖一,圖一就是在Wine上執行的WinZip Installation,安裝過程與在Windows上安裝是完全一樣,包括了檔案的路徑,就在筆者剛才提及,C:是指到/usr/share/wine-c中,所以在這個Wine上的root就是/usr/share/wine-c。


圖一

有一點是需要注意的,儘管用者可以使用已安裝了的Win32 程式,但是安裝的過程必須由root執行;此外,每個用者執行wine後,都會在$HOME/.wine內建立了數個檔案,其中’config’就是wine的設定檔,而所有.reg的檔案就是wine在模擬了Windows後所建立的Registry檔案。一般情況,您並不需要修改。

安裝的方法,您可以執行:

root# wine winzip8.exe

注: Wine在處理Self-Extractor的檔案還不是很好,有時會出現錯誤的訊息。

特別在某些在DOS上執利的程式,可能會因為DOS的版本不同而不能執行,透過--dosver指定不同版本的DOS:

# wine --winver win31 --dosver 5.00 [filename]

圖二中的版面就是經由Wine模擬出的File Dialog,所有的Driver都在’config’內定義了由A:至F:的Driver所在地,使用的方式與Windows上的一樣。


圖二

再看圖三,這個是Wine模擬後的Directory Tree,外觀與使用上都與Windows的相同,甚至好像有點比Windows的漂亮。


圖三

Wine上都支援有關Network的程式,例如您希望使用在Windows上的POP3 Client,只要您的Linux支援TCP/IP,並且已經連接到網絡上 ,基本上所有網絡軟件都可以使用,唯獨的限制,當使用winsock 1的程式是沒有問題,而使用winsock 2的程式並不全完支援。


圖四


圖五

就早在wine的舊版本中,已經報告了有不少程式執行的成功,例如 :

Office 及文書工具:
Microsoft Word
Microsoft Excel
Microsoft Access
Microsoft Money
Adobe Acrobat Readers

網絡工具:
Microsoft Internet Exploror
Microsoft Outlook
Lotus Note
PcAnywhere
ICQ
SQL Server

圖像工具:
Adobe Photoshop
Paint Shop Pro
Marcomedia Frash

娛樂:
Creative Sound
Real Player
WinAMP

程式語言及製作:
Dreaweaver
Firework
Borland Pascal

遊戲:
Age of Empires
Command & Conquer
Casear http://netadmin.77169.com/HTML/20041008003700.html

0
相关文章