一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

[分享]我使用的wine指南(魔獸世界,魔獸爭(zhēng)霸3,CS等都是參考這份指南wine成功的)

 黃三歲大愛(ài)人生 2019-09-21
這是我使用wine的指南,關(guān)于wine的知識(shí)很多都是在這份指南學(xué)到的
我現(xiàn)在重新整理了下,希望對(duì)大家有幫助

翻譯作者:HonestQiao

原文(官方):http://www./Docs/wine-user/
原文(簡(jiǎn)體中文):http://linux./bbs/viewthre ... tid=610366

--------------------------------------------------------------------------------

目錄

1. 介紹
1.1. Wine 是什么?
1.1.1. Windows 和 Linux
1.1.2. 模擬與本地連接
1.2. Wine 要求和特征
1.2.1. 系統(tǒng)要求
1.2.2. Wine 的功能
2. 獲得 Wine
2.1. Wine 的多種形式
2.2. 為 Debian 系統(tǒng)獲得 Wine
2.3. 為 Redhat 系統(tǒng)獲得 Wine
2.4. 為其他發(fā)布獲得 Wine
2.5. 從 FTP 歸檔獲得 Wine 源代碼
2.6. 從 CVS 獲得 Wine 源代碼
2.7. 用補(bǔ)丁更新 Wine
3. 安裝/編譯 Wine
3.1. WWN#52 特征: 替代 Windows
3.1.1. 安裝概述
3.1.2. 注冊(cè)表
3.1.3. 目錄結(jié)構(gòu)
3.1.4. 系統(tǒng) DLL
3.2. 安裝 Wine 而無(wú)須 Windows
3.3. 處理 FAT/VFAT 分區(qū)
3.3.1. 介紹
3.3.2. 以 root 運(yùn)行 Wine
3.3.3. 掛裝 FAT 文件系統(tǒng)
3.3.4. 隱蔽 FAT 文件系統(tǒng)
3.4. SCSI 支持
3.4.1. Windows 要求
3.4.2. LINUX 要求
3.4.3. 一般信息
3.4.4. 注意/缺陷
4. 配置 Wine
4.1. 一般配置
4.1.1. Wine 配置文件
4.1.2. 我如何做一個(gè)?
4.1.3. 我把它放在哪里?
4.1.4. 如果它不工作怎么辦?
4.2. Win95/98 外觀
4.3. 配置 x11drv 驅(qū)動(dòng)器
4.3.1. x11drv 操作模式
4.3.2. [x11drv] 段
4.4. 注冊(cè)表
4.4.1. 注冊(cè)表結(jié)構(gòu)
4.4.2. 使用 Windows 注冊(cè)表
4.4.3. Wine 注冊(cè)表數(shù)據(jù)文件
4.4.4. 系統(tǒng)管理
4.4.5. 缺省的注冊(cè)表
4.4.6. [registry] 段
4.5. wine 的驅(qū)動(dòng)器標(biāo)簽和系列號(hào)
4.5.1. 支持什么?
4.5.2. 如何設(shè)置?
4.5.3. 例子
4.5.4. 要做/開(kāi)放的要點(diǎn)
4.6. Dll 加載
4.6.1. DLL 類型
4.6.2. [DllDefaults] 段
4.6.3. [DllPairs] 段
4.6.4. [DllOverrides] 段
4.7. 鍵盤
4.8. 處理字體
4.8.1. 字體
4.8.2. 設(shè)置一個(gè) TrueType 字體服務(wù)器
4.9. 在 Wine 中打印
4.9.1. 打印
4.9.2. Wine 的 PostScript 驅(qū)動(dòng)程序
5. 運(yùn)行 Wine
5.1. 如何運(yùn)行 Wine
5.2. 命令行選項(xiàng)
5.2.1. --debugmsg [通道]
5.2.2. --desktop [幾何]
5.2.3. --display
5.2.4. --dll
5.2.5. --dosver
5.2.6. --help
5.2.7. --language
5.2.8. --managed
5.2.9. --synchronous
5.2.10. --version
5.2.11. --winver
6. 找出和報(bào)告缺陷
6.1. 如何報(bào)告一個(gè)缺陷
6.1.1. 容易的方式
6.1.2. 困難的方式
6.1.3. 問(wèn)題和注釋




第 1 章. 介紹
目錄
1.1. Wine 是什么?
1.2. Wine 要求和特征
1.1. Wine 是什么?
編寫: John R. Sheets <jsheets@codeweavers.com>;

1.1.1. Windows 和 Linux
許多人面臨著擁有的軟件不能在他的計(jì)算機(jī)上運(yùn)行的困擾。隨著 Linux 近來(lái)的流行,因?yàn)椴僮飨到y(tǒng)的不同而發(fā)生的更加頻繁。你的 Windows 軟件不能在 Linux 上運(yùn)行,而你的 Linux 軟件不能在 Windows 上運(yùn)行。

對(duì)這個(gè)問(wèn)題的一個(gè)常見(jiàn)的解決方法是在一個(gè)計(jì)算機(jī)上同時(shí)安裝這兩個(gè)操作系統(tǒng),成為一個(gè) "雙引導(dǎo)" 系統(tǒng)。如果你想在 MS Word 中寫一個(gè)文檔,你可以啟動(dòng) Windows;如果你想運(yùn)行 GnuCash,一個(gè) GNOME 財(cái)務(wù)應(yīng)用程序,你可以關(guān)閉你 Windows 任務(wù) (session)并重啟動(dòng)到 Linux。問(wèn)題是你不能同時(shí)使用它們。每次在 MS Word 和 GnuCash 之間前后切換,你必須再次重啟動(dòng)。很快就會(huì)厭倦的。

如果你可以在同一個(gè)系統(tǒng)上運(yùn)行所有你的程序,而不管它們是為 Windows 還是 Linux 寫的,生活就容易多了。在 Windows 上,這實(shí)際上不可能。[1] 但是,Wine 使在 Linux (或 Solaris)上同時(shí)運(yùn)行本地 Windows 應(yīng)用程序和本地 Linux 應(yīng)用程序成為可能。你可以在 MS Word 和 GnuCash 之間共享桌面空間,交疊窗口,圖標(biāo)化它們,甚至從同一個(gè)啟動(dòng)項(xiàng)(launcher)運(yùn)行它們。

1.1.2. 模擬與本地連接
Wine 是 win32 庫(kù)的一個(gè) UNIX 實(shí)現(xiàn),由上百個(gè)志愿開(kāi)發(fā)者從頭(from scratch)寫成并在一個(gè)開(kāi)放源代碼許可之下發(fā)行。任何人都可以下載并閱讀源代碼,并修理存在的缺陷。Wine 社區(qū)眾多有才干的程序員在增進(jìn) Wine 上花費(fèi)了上千個(gè)小時(shí)的個(gè)人時(shí)間,所以它可以很好的與 win32 應(yīng)用編程接口(API)一起工作,并保持與 Microsoft 相同的開(kāi)發(fā)步調(diào)。

Wine 可以用兩種不同的方式運(yùn)行應(yīng)用程序: 作為預(yù)編譯的 Windows 二進(jìn)制程序,或作為本地編譯的 X11 (X Window 系統(tǒng)) 應(yīng)用程序。前面的方法使用模擬把一個(gè) Windows 應(yīng)用程序和連接到 Wine 庫(kù)上。通過(guò) Wine 安裝或簡(jiǎn)單的把 Windows 可執(zhí)行文件復(fù)制到你的 Linux 系統(tǒng)上,你可以用模擬器直接運(yùn)行你的 Windows 應(yīng)用程序。

用 Wine 運(yùn)行 Windows 應(yīng)用程序的另一種方法需要擁有這個(gè)應(yīng)用的源代碼。不用本地 Windows 編譯器編譯它,象對(duì)其他 UNIX 應(yīng)用程序所做的那樣,你要用本地 Linux 編譯器編譯它 -- 例如 gcc -- 并連接上 Wine 庫(kù)。這些本地連接的應(yīng)用程序被稱為 Winelib 應(yīng)用程序。

Wine 用戶指南將關(guān)注于使用 Wine 模擬器運(yùn)行預(yù)編譯的 Windows 應(yīng)用程序。Winelib 用戶指南將覆蓋 Winelib 應(yīng)用程序。

 
注釋
[1] 從技術(shù)的角度上,如果你有兩個(gè)連網(wǎng)的計(jì)算機(jī),一個(gè)運(yùn)行 Windows 而另一個(gè)運(yùn)行 Linux,并且你在這個(gè) Windows 系統(tǒng)上運(yùn)行了某種 X 服務(wù)器軟件,你可以把 Linux 應(yīng)用程序?qū)С龅?Windows 系統(tǒng)上。不幸的是,多數(shù)正規(guī)的 win32 X 服務(wù)器是商業(yè)產(chǎn)品,它們通常都很貴。如果你只有一個(gè)計(jì)算機(jī)那么這種方案就解決不了問(wèn)題。


1.2. Wine 要求和特征
編寫:Andreas Mohr <amohr@codeweavers.com>;

1.2.1. 系統(tǒng)要求
要運(yùn)行 Wine 需要滿足下列條件: 

一臺(tái)計(jì)算機(jī) ;-) Wine: 目前只支持 PCs >;= i386。Winelib: 可支持其他平臺(tái),但有點(diǎn)困難。

一個(gè) UNIX 類的操作系統(tǒng)如 Linux、*BSD、Solaris x86。

>;= 16MB 的 RAM。在此之下所有東西都是不可用的?!傲己谩钡膱?zhí)行需要 >;= 64 MB。

一個(gè) X11 window 系統(tǒng)(XFree86 等)。Wine 為其他圖形顯示驅(qū)動(dòng)器做了準(zhǔn)備,但寫支持不是很容易的。文本控制臺(tái)顯示驅(qū)動(dòng)器基本上是可用的。

1.2.2. Wine 的功能
希望你已經(jīng)設(shè)法完全滿足了上述要求?,F(xiàn)在我們告訴你 Wine 能做/支持的: 

支持執(zhí)行 DOS、Win 3.x 和 Win9x/NT/Win2000 程序(支持多數(shù) Win32 的控件)

選擇使用外部廠商的 DLL(比如,原始的 Windows DLL)

基于 X11 的圖形顯示器(到任何可能的 X 終端的遠(yuǎn)程顯示器),文本模式控制臺(tái)

Desktop-in-a-box 或可混合的窗口

對(duì)游戲的非常高級(jí)的 DirectX 支持

對(duì)聲音的良好支持,可替換(alternative)的輸入設(shè)備

打印機(jī): 支持固有 Win16 打印機(jī)驅(qū)動(dòng)程序,內(nèi)部 PostScript 驅(qū)動(dòng)程序

支持調(diào)制解調(diào)器、串行設(shè)備

Winsock TCP/IP 連網(wǎng)

ASPI 接口 (SCSI) 支持掃描儀、CD 刻錄機(jī) ...

Unicode 支持,相對(duì)高級(jí)的語(yǔ)言支持

Wine 調(diào)試器和可配置的跟蹤日志消息



第 2 章. 獲得 Wine
目錄
2.1. Wine 的多種形式
2.2. 為 Debian 系統(tǒng)獲得 Wine
2.3. 為 Redhat 系統(tǒng)獲得 Wine
2.4. 為其他發(fā)布獲得 Wine
2.5. 從 FTP 歸檔獲得 Wine 源代碼
2.6. 從 CVS 獲得 Wine 源代碼
2.7. 用補(bǔ)丁更新 Wine
2.1.Wine 的多種形式
標(biāo)準(zhǔn) Wine 發(fā)布包括許多不同的可執(zhí)行、庫(kù)、和配置文件。要使 Wine 良好的工作必須正確的設(shè)置所有這些文件。本章將指導(dǎo)你通過(guò)必要的步驟把 Wine 安裝到你的系統(tǒng)上。

如果你運(yùn)行的 Linux 的發(fā)行使用包來(lái)跟蹤安裝的軟件,你可能走運(yùn)了: Wine 的一個(gè)預(yù)編譯的版本可能已經(jīng)存在于你的系統(tǒng)中了。前三節(jié)將告訴你如何找到最新的 Wine 包并安裝它們。你應(yīng)該小心在不同的發(fā)布之間混用包,即使是同一個(gè)發(fā)布的不同版本之間。經(jīng)常是一個(gè)包只能在它所編譯的發(fā)布上運(yùn)行。我們將覆蓋 Debian、Redhat 和其他發(fā)布。

如果你不夠幸運(yùn)的獲得給你的操作系統(tǒng)的一個(gè)包,或者你偏好一個(gè)新版本的 Wine,它比現(xiàn)存的包要新,你必須下載 Wine 源代碼并在你自己的機(jī)器上親自編譯它。不要擔(dān)心,這不是很難,特別是與 Wine 一起的還有許多有用的工具。你無(wú)須有任何編程經(jīng)驗(yàn)來(lái)編譯和安裝 Wine,但有一些 UNIX 管理經(jīng)驗(yàn)就更好了。我們將覆蓋如何從 FTP 歸檔取回并編譯官方源代碼,還有如何從 CVS (并發(fā)版本系統(tǒng))獲得最新 (cutting edge up-to-the-minute fresh)的 Wine 源代碼。二者的源代碼安裝的過(guò)程是類似的,并且你一旦掌握了其中一個(gè),你處理另一個(gè)應(yīng)當(dāng)沒(méi)有任何問(wèn)題。

最后,你可能有一天需要知道如何向你的 Wine 版本提供補(bǔ)丁??赡苣阏业搅?Wine 中的一個(gè)未發(fā)現(xiàn)的缺陷,請(qǐng)向 Wine 郵件列表報(bào)告,并從某個(gè)開(kāi)發(fā)者接受一個(gè)補(bǔ)丁來(lái)修理這個(gè)缺陷。本章的最后一段將告訴你如何安全的提供補(bǔ)丁以及如果補(bǔ)丁不工作如何復(fù)原。[/color]


2.2. 為 Debian 系統(tǒng)獲得 Wine
在 Debian 系統(tǒng)的多數(shù)情況下,你可以用一個(gè)簡(jiǎn)單的命令安裝 Wine,作為 root:

# apt-get install wine

apt-get 將通過(guò) Internet 連接到一個(gè) Debian 歸檔(所以,你必須在線),接著下載 Wine 包并安裝到你的系統(tǒng)上。完事了。

當(dāng)然,Debian 的 Wine 預(yù)打包的版本可能不是最新的發(fā)行。如果你運(yùn)行 Debian 的穩(wěn)定版本,你可以通過(guò)從不穩(wěn)定發(fā)布獲取包來(lái)得到一個(gè)稍微新點(diǎn)的 Wine 版本,但這可能有點(diǎn)冒險(xiǎn),依賴于不穩(wěn)定發(fā)布從穩(wěn)定發(fā)布分叉多遠(yuǎn)。你可以在 www. 使用包查找引擎找到給各種 Debian 發(fā)行的 Wine 二進(jìn)制包的一個(gè)列表。

如果要安裝的一個(gè)包不是你的發(fā)布的一部分,你需要使用 dpkg 而不是 apt-get。因?yàn)?dpkg 不為你下載文件,你必須自己下載。依從在包查找引擎上的鏈接找到所需的包,接著點(diǎn)擊 Go To Download 頁(yè)面按鈕并依從指示。保存文件到你的硬盤,接著在其上運(yùn)行 dpkg。例如,如果你把文件保存到你的主目錄中,你可以進(jìn)行下列動(dòng)作來(lái)安裝它:

$ su -
<鍵入 root 口令>;
# cd /home/user
# dpkg -i wine_0.0.20000109-3.deb

你可能還需要安裝 wine-doc 包,如果你使用 Wine 的 2.3 發(fā)布(Woody),則還需要 wine-utils 包。[/color]


2.3. 為 Redhat 系統(tǒng) 獲得 Wine
Redhat/RPM 用戶可以使用 rpmfind.net 來(lái)搜尋可獲得的 Wine RPM 二進(jìn)制包。 這個(gè)頁(yè)面包含以字母"W"開(kāi)頭的所有 rpm 包的一個(gè)列表,包括一些 Wine 包。[/color]


2.4. 為其他發(fā)布獲得 Wine
如果你的系統(tǒng)不是 Debian 或 Redhat,第一步是看 WineHQ 下載頁(yè)。這個(gè)頁(yè)面列出了許多 Wine 的分類混合的(assorted)二進(jìn)制(預(yù)編譯)歸檔文件。

Lycos FTPSearch 是搜尋雜類發(fā)布包的另一個(gè)有用的資源。


2.5. 從 FTP 歸檔獲得 Wine 源代碼
如果你想要的 Wine 的版本沒(méi)有現(xiàn)存的包,你可以自己下載源代碼并在你的機(jī)器上編譯它。如果以前從未做過(guò),第一次時(shí)可能感覺(jué)有點(diǎn)恐怖,你將發(fā)現(xiàn)這通常是非常順暢的,特別是在新近的 Linux 發(fā)布上。

獲得源代碼的最安全的方式是從官方 FTP 歸檔獲取。在 Wine 發(fā)布中的 ANNOUNCE 文件中(如果你已經(jīng)下載了它的話)有一個(gè)最新列表。下面是(可能過(guò)時(shí)了)承載 Wine 的 FTP 服務(wù)器的一個(gè)列表:

ftp://metalab.unc.edu/pub/Linux/ALPHA/wine/development/

ftp://tsx-11.mit.edu/pub/linux/ALPHA/Wine/development/

ftp://ftp.infomagic.com/pub/mirrors/lin ... velopment/

ftp://orcus.progsoc.uts.edu.au/pub/Wine/development/

官方發(fā)布加上了"Wine-YYYYMMDD.tar.gz"格式的日期標(biāo)注。你最好的賭注是獲得最新的發(fā)布。

FIXME: 解釋如何 un-tar、從一個(gè) tarball 編譯和安裝 Wine。[/color]


2.6. 從 CVS 獲得 Wine 源代碼
Wine CVS 的官方 Web 頁(yè)是 http://www./dev.html。

首先,你需要使用 CVS 得到最新的 Wine 源代碼的一個(gè)復(fù)件。你可以通過(guò)設(shè)置 CVSROOT 環(huán)境變量來(lái)告訴它到那里去找到源代碼樹。你還必須匿名登錄到 wine CVS 服務(wù)器上。在 bash 中,過(guò)程可能如下:

$ export CVSROOT=:pserver:cvs@cvs.:/home/wine
$ cvs login
Password: cvs
$ cvs checkout wine

這將從 取回整個(gè) Wine 源代碼樹并把它放置到當(dāng)前目錄中(實(shí)際上在‘wine’子目錄中 )。 CVS 有大量命令行參數(shù),所以有多種方式從修訂歷史中的某個(gè)地方取回文件。此后,你可以只獲取更新的文件:

$ cvs -dP update

cvs update 從源代碼樹的內(nèi)部工作。你不需要 CVSROOT 環(huán)境變量來(lái)運(yùn)行它。你只需要在代碼樹中。-d 和 -P 選項(xiàng)確保你的本地 Wine 樹目錄結(jié)構(gòu)與遠(yuǎn)程倉(cāng)庫(kù)相同步。

在你做了變動(dòng)之后,你可以通過(guò) cvs diff -u 建立一個(gè)補(bǔ)丁,它把輸出發(fā)送的 stdout(-u 控制這個(gè)補(bǔ)丁的格式)。所以,要建立一個(gè) my_patch.diff 文件,你可以這樣做:

$ cvs diff -u >; my_patch.diff


你可以從樹中的任何地方調(diào)用 cvs diff(如同 cvs update),并且它將總是從這一點(diǎn)上遞歸的獲取文件。你還可以指定一個(gè)單一的文件或子目錄:

$ cvs diff -u dlls/winaspi >; my_aspi_patch.diff

做點(diǎn)實(shí)驗(yàn),這是非常憑直覺(jué)的。


2.7. 用補(bǔ)丁更新 Wine
如果你有 Wine 源代碼,與二進(jìn)制發(fā)布相反,你可以選擇向源代碼樹提供補(bǔ)丁來(lái)修理缺陷并增加實(shí)驗(yàn)性的特征??赡苣阋呀?jīng)發(fā)現(xiàn)了一個(gè)缺陷,請(qǐng)向 Wine 郵件列表報(bào)告,并接收一個(gè)補(bǔ)丁來(lái)修理這個(gè)缺陷。你可以用 patch 命令運(yùn)用補(bǔ)丁,它從 stdin 接受補(bǔ)丁:

$ cd wine
$ patch -p0 < ../patch_to_apply.diff



要?jiǎng)h除補(bǔ)丁使用 -R 選項(xiàng):

$ patch -p0 -R < ../patch_to_apply.diff



如果你想要測(cè)試一下是否成功的提供了補(bǔ)丁(例如,如果這個(gè)補(bǔ)丁是從這個(gè)樹的(比當(dāng)前)老或新的版本建立的),你可以使用 --dry-run 參數(shù)來(lái)運(yùn)行補(bǔ)丁而不寫任何文件:

$ patch -p0 --dry-run < ../patch_to_apply.diff



patch 是從一個(gè)文件中提取補(bǔ)丁的聰明的方法,所以如果你保存了一封郵件,其中包含了給你的硬驅(qū)動(dòng)器上的一個(gè)文件的內(nèi)置(inline)的補(bǔ)丁,你可以在其上調(diào)用補(bǔ)丁而不須剝除郵件頭部和其他文本。 patch 忽略看起來(lái)不象補(bǔ)丁的所有東西。

FIXME: 進(jìn)一步解釋 -p0 選項(xiàng)...


第 3 章. 安裝/編譯 Wine
目錄
3.1. WWN #52 特征: 替代 Windows
3.2. 安裝 Wine 而無(wú)須 Windows
3.3. 處理 FAT/VFAT 分區(qū)
3.4. SCSI 支持
如何安裝 Wine...

3.1. WWN #52 特征: 替代 Windows
編寫: Ove Ken <ovek@>;

3.1.1. 安裝概述
一個(gè) Windows 安裝由許多不同部分組成。

 

注冊(cè)表。即使在一個(gè)新安裝的 Windows 系統(tǒng)中,都假定存在許多鍵并包含著有意義的數(shù)據(jù)。

目錄結(jié)構(gòu)。應(yīng)用程序期望在指定的預(yù)先決定的位置找到和/或安裝東西。期望多數(shù)這些目錄存在。但與 Unix 目錄結(jié)構(gòu)不同,多數(shù)這些位置是硬編碼的(hardcode),并通過(guò) Windows API 和注冊(cè)表來(lái)查找。在 Wine 安裝上這提出了額外的要求。

系統(tǒng) DLL。在 Windows 中,它們通常駐留在 system (或 system32)目錄中。一些 Windows 應(yīng)用程序在嘗試裝載它們之前在這些目錄中檢查它們的存在。當(dāng)應(yīng)用程序要求一個(gè) DLL 而 Wine 不能裝載它們自己的內(nèi)部 DLL(.so 文件)時(shí),Wine 不模擬不存在文件的存在。

盡管用戶可以自由的自己設(shè)置所有的東西,Wine 小組仍將制作自動(dòng) Wine 安裝腳本 tools/wineinstall,做我們認(rèn)為必要的所有事情;除非你知道正在做什么,否則不推薦運(yùn)行常規(guī)的 configure && make depend && make && make install 周期。此時(shí),可使用 tools/wineinstall 來(lái)建立一個(gè)配置文件、安裝注冊(cè)表、并建立自己的目錄結(jié)構(gòu)。

3.1.2. 注冊(cè)表
缺省的注冊(cè)表在文件 winedefault.reg 中。它包含目錄路徑、類 ID、及其他東西;在多數(shù) INSTALL.EXE 或 SETUP.EXE 運(yùn)行之前必須安裝它。在以前的文章中有對(duì)注冊(cè)表非常詳細(xì)的介紹。

3.1.3. 目錄結(jié)構(gòu)
下面是 Windows 應(yīng)用程序和安裝器所期望的基本格局。沒(méi)有它,這些程序不能正確操作。

 

C:\ 主磁盤驅(qū)動(dòng)器的根目錄
Windows\ Windows 目錄,包含 .INI 文件、附件等
System\ Win3.x/95/98/ME 給公用 DLL 的目錄
WinNT/2000 給公用 16-bit DLL 的目錄

System32\ WinNT/2000 給公用 32-bit DLL 的目錄
Start Menu\ 程序啟動(dòng)項(xiàng)目錄結(jié)構(gòu)
Programs\ 到應(yīng)用程序的程序啟動(dòng)項(xiàng)連接(.LNK 文件)
Program Files\ 應(yīng)用程序二進(jìn)制文件(.EXE 和 .DLL 文件)

 

Wine 通過(guò)把它們的虛擬驅(qū)動(dòng)器根放置到 Unix 文件系統(tǒng)中用戶可配置點(diǎn)上來(lái)模擬驅(qū)動(dòng)器,所以你自己選擇 C: 的根應(yīng)該在哪 (tools/wineinstall 會(huì)問(wèn)你的)。如果你選擇了,比如 /var/wine 作為你的虛擬驅(qū)動(dòng)器 C 的根,則你應(yīng)該把它放置到你的 ~/.wine/config 文件中:

[Drive C]
"Path" = "/var/wine"
"Type" = "hd"
"Label" = "MS-DOS"
"Filesystem" = "win95"



使用這個(gè)配置,被 windows 應(yīng)用程序當(dāng)作為 "c:\windows\system" 的目錄將被映射為 UNIX 文件系統(tǒng)中的 /var/wine/windows/system 。注意你必須指定 "Filesystem" = "win95" 而不是 "Filesystem" = "unix",來(lái)使 Wine 模擬 Windows-相容的(大小寫不敏感)文件系統(tǒng),否則多數(shù)應(yīng)用程序?qū)⒉荒芄ぷ鳌?br>
3.1.4. 系統(tǒng) DLL
Wine 小組決定需要建立偽 DLL 文件來(lái)欺騙那些通過(guò)檢查文件存在來(lái)確定是否可獲得一個(gè)特征(比如 Winsock 和它的 TCP/IP 連網(wǎng))的應(yīng)用程序。如果你也有這個(gè)問(wèn)題,你可以在 system 目錄中建立一個(gè)空文件來(lái)讓應(yīng)用程序認(rèn)為它存在,而在應(yīng)用實(shí)際要求它的時(shí)候 Wine 將裝載它的內(nèi)置的 DLL。(不幸的是, tools/wineinstall 自身不建立這樣的空文件。)

應(yīng)用程序有時(shí)還嘗試從物理文件中檢查資源的版本(例如,要確定 DirectX 版本)。在這種情況下空文件就不起作用了,必須有完整版本資源的安裝文件。當(dāng)前正在處理這個(gè)問(wèn)題。目前,你仍需獲取一些真實(shí)的 DLL 來(lái)欺騙這些應(yīng)用程序。

對(duì)于那些 wine 目前未很好實(shí)現(xiàn)(或根本未實(shí)現(xiàn))的 DLL。如果不擁有一個(gè)真實(shí)的 Windows,則有的人將會(huì)竊取所需的 DLL,總是可以從象 http://solo./dllarchive/ 這樣的地方得到一個(gè) DLL 歸檔。



3.2. 安裝 Wine 而無(wú)須 Windows
編寫:James Juran <juran@cse.psu.edu>;

(提取自 wine/documentation/no-windows)

Wine 的一個(gè)主要目標(biāo)是允許用戶運(yùn)行 Windows 程序而無(wú)須在它們的機(jī)器上安裝 Windows。Wine 實(shí)現(xiàn)了通常由 Windows 提供的主要 DLL 的功能。所以,一旦完成了 Wine,使用 Wine 將不需要擁有一個(gè)安裝好的 windows。

Wine 已經(jīng)進(jìn)行到足夠的程度,它已經(jīng)可以運(yùn)行你的目標(biāo)程序而無(wú)須安裝好的 Windows。如果你要嘗試,請(qǐng)依從下列步驟:

 

建立空 C:\windows、C:\windows\system、C:\windows\Start Menu、和 C:\windows\ Start Menu\Programs 目錄。不要把 Wine 指向充滿了舊有安裝和不干凈的注冊(cè)表的 Windows 目錄。(Wine 在你的 home 目錄中建立一個(gè)特殊的注冊(cè)表,在 $HOME/.wine/*.reg 中。你可能需要?jiǎng)h除這些文件)。

把 ~/.wine/config 中的 [Drive C] 指向你希望 C: 所在的地方。參照 Wine 手冊(cè)頁(yè)來(lái)的得到更詳細(xì)的信息。記住使用 "Filesystem" = "win95"!

使用 tools/wineinstall 來(lái)編譯 Wine 并安裝缺省注冊(cè)表?;蛘呷绻闫米约鹤觯幾g programs/regapi,并運(yùn)行: programs/regapi/regapi setValue < winedefault.reg

運(yùn)行和/或安裝你的應(yīng)用程序。

因?yàn)?Wine 仍未最終完成,一些應(yīng)用程序與固有 Windows DLL 一起運(yùn)行要比與 Wine 的替代品一起運(yùn)行更好。Wine 被設(shè)計(jì)為使之可能。Juergen Schmied (和其他人)關(guān)于如何進(jìn)行有一些提示。這里假定在配置文件中你的 C:\windows 目錄不指向一個(gè)固有 Windows 安裝而是指向一個(gè)獨(dú)立的 Unix 文件系統(tǒng)。(例如, "C:\windows" 是位于 "/home/ego/wine/drives/c" 下的一個(gè)真實(shí)的子目錄 "windows")。

 

運(yùn)行應(yīng)用程序并加上 --debugmsg +module,+file 參數(shù)來(lái)找出所須的文件。把所須的文件逐個(gè)復(fù)制到 C:\windows \system 目錄中。但不要復(fù)制 KERNEL/KERNEL32、GDI/GDI32、或 USER/USER32。它們實(shí)現(xiàn)了 Windows API 的核心功能,而必須使用 Wine 的內(nèi)部版本。

編輯 ~/.wine/config 中的 "[DllOverrides]" 段,為你要使用的 Windows DLL 在 "builtin" 之前指定 "native"。詳情請(qǐng)參見(jiàn) Wine 手冊(cè)頁(yè)。

注意盡管 Wine 尋找一些網(wǎng)絡(luò) DLL 但不需要它們。Windows MPR.DLL 目前不能工作;你必須使用內(nèi)部實(shí)現(xiàn)。

把 SHELL/SHELL32 和 COMDLG/COMDLG32、COMMCTRL/COMCTL32 成對(duì)的復(fù)制到你的 Wine 目錄中(使用這些 DLL 是"干凈的")。確保在 ~/.wine/config 的"[DllPairs]"段中指定了這些。

要一致: 只一起使用同一個(gè) Windows 版本的 DLL。

把 regedit.exe 放置到 C:\windows 目錄中。(Office 95 與一個(gè)空注冊(cè)表一起工作時(shí)導(dǎo)入一個(gè) *.reg 文件,對(duì) Office 97 不清楚)。

如果你要瀏覽程序的幫助功能還要添加 winhelp.exe 和 winhlp32.exe 。[/color]




3.3.處理 FAT/VFAT 分區(qū)
編寫:Steven Elliott <elliotsl@mindspring.com>;

(提取自 wine/documentation/linux-fat-permissions)

本文描述工作在 Linux 中對(duì) FAT 和 VFAT 文件系統(tǒng)的權(quán)限,焦點(diǎn)是為 Wine 配置它們。

3.3.1. 介紹
Linux 可以使用 FAT (老的 8.3 DOS 文件系統(tǒng)) 或 VFAT (新的 Windows 95 或后來(lái)的長(zhǎng)文件名文件系統(tǒng)) 模塊訪問(wèn) DOS 和 Windows 文件系統(tǒng)。在雙引導(dǎo)(Linux + Windows)系統(tǒng)上,要通過(guò) Wine 訪問(wèn)現(xiàn)存的應(yīng)用程序和它們的數(shù)據(jù),掛裝 FAT 或 VFAT 文件系統(tǒng)是提供的主要的方式。

按照 ~/.wine/config 文件的指示,Wine 把掛裝的 FAT 文件系統(tǒng)比如 /c,映射成驅(qū)動(dòng)器字母比如 "c:"。下列摘錄自一個(gè) ~/.wine/config 文件:

[Drive C]
"Path" = "/c"
"Type" = "hd"



盡管在長(zhǎng)文件名支持上 VFAT 文件系統(tǒng)優(yōu)于 FAT 文件系統(tǒng),在本文剩余部分中使用術(shù)語(yǔ) "FAT" 來(lái)參照 FAT 文件系統(tǒng)和它的衍生品。還有,本文通篇使用 "/c" 作為 FAT 掛裝點(diǎn)的例子。

多數(shù)現(xiàn)代 Linux 發(fā)布要么檢測(cè)現(xiàn)存的 FAT 文件系統(tǒng)要么允許配置現(xiàn)存的 FAT 文件系統(tǒng),這樣,可以要么持久的(在引導(dǎo)時(shí))要么在需要的時(shí)候,在一個(gè)位置上如 /c 掛裝它們。在任何一種情況下,缺省的,權(quán)限可能被配置成:

~>;cd /c
/c>;ls -l
-rwxr-xr-x 1 root root 91 Oct 10 17:58 autoexec.bat
-rwxr-xr-x 1 root root 245 Oct 10 17:58 config.sys
drwxr-xr-x 41 root root 16384 Dec 30 1998 windows



這里所有的文件都屬于 "root",都在 "root" 組中并只能被 "root" 寫(755 權(quán)限)。 這限制了應(yīng)用程序要想寫文件系統(tǒng)的任何部分,只能以 root 運(yùn)行 Wine。

有三種主要的途徑來(lái)克服上面段落提及的受限制的權(quán)限:

 

以 root 運(yùn)行 Wine

用更少受限制的權(quán)限來(lái)掛裝 FAT 文件系統(tǒng)

通過(guò)完全或部分復(fù)制它來(lái)隱蔽 FAT 文件系統(tǒng)

在下面的小節(jié)中將討論每種方式。

3.3.2. 以 root 運(yùn)行 Wine
要給予 Wine 所運(yùn)行的應(yīng)用程序無(wú)限制的對(duì) FAT 文件系統(tǒng)訪問(wèn),以 root 運(yùn)行 Wine 是最簡(jiǎn)單和最直接的方式。以 root 運(yùn)行 wine 還允許應(yīng)用程序做與 FAT 文件系統(tǒng)無(wú)關(guān)的事情,比如監(jiān)聽(tīng)小于 1024 的端口。 以 root 運(yùn)行 Wine 是危險(xiǎn)的,原因是對(duì)應(yīng)用程序在系統(tǒng)上的所作所為沒(méi)有限制。

3.3.3. 掛裝 FAT 文件系統(tǒng)
可以用比缺省更少受限制的權(quán)限掛裝 FAT 文件系統(tǒng)。要么變更掛裝 FAT 文件系統(tǒng)的用戶,要么顯式的變更掛裝的 FAT 文件系統(tǒng)的權(quán)限。 FAT 文件系統(tǒng)從掛裝 FAT 文件系統(tǒng)的進(jìn)程繼承權(quán)限。因?yàn)閽煅b FAT 文件系統(tǒng)的進(jìn)程通常是以 root 運(yùn)行的一個(gè)啟動(dòng)腳本,F(xiàn)AT 文件系統(tǒng)繼承 root 的權(quán)限。這導(dǎo)致在 FAT 文件系統(tǒng)上的文件有類似于用 root 建立的文件的權(quán)限。例如:

~>;whoami
root
~>;touch root_file
~>;ls -l root_file
-rw-r--r-- 1 root root 0 Dec 10 00:20 root_file



它匹配屬主、組和除了缺少‘x’之外在 FAT 文件系統(tǒng)上見(jiàn)到的文件權(quán)限。在 FAT 文件系統(tǒng)上的權(quán)限可以通過(guò)改變 root 的 umask (unset permissions bits)來(lái)變更。例如:

~>;umount /c
~>;umask
022
~>;umask 073
~>;mount /c
~>;cd /c
/c>;ls -l
-rwx---r-- 1 root root 91 Oct 10 17:58 autoexec.bat
-rwx---r-- 1 root root 245 Oct 10 17:58 config.sys
drwx---r-- 41 root root 16384 Dec 30 1998 windows



用 umask 碼 000 掛裝 FAT 文件系統(tǒng)給予所有用戶對(duì)它的完全控制。在掛裝的時(shí)候提供額外的控制,顯式的指定 FAT 文件系統(tǒng)的權(quán)限。與 FAT 權(quán)限相關(guān)的有三個(gè)掛裝選項(xiàng): uid、gid 和 umask。在手動(dòng)掛裝文件系統(tǒng)的時(shí)候可以指定它們。例如:

~>;umount /c
~>;mount -o uid=500 -o gid=500 -o umask=002 /c
~>;cd /c
/c>;ls -l
-rwxrwxr-x 1 sle sle 91 Oct 10 17:58 autoexec.bat
-rwxrwxr-x 1 sle sle 245 Oct 10 17:58 config.sys
drwxrwxr-x 41 sle sle 16384 Dec 30 1998 windows



給予 "sle" 在 /c 上完全控制權(quán)限??梢酝ㄟ^(guò)在上面列出的選項(xiàng)添加到 /etc/fstab 文件中而使之成為永久:

~>;grep /c /etc/fstab
/dev/hda1 /c vfat uid=500,gid=500,umask=002,exec,dev,suid,rw 1 1



注意 umask 碼 002 一般用于用戶私有組文件權(quán)限中。在 FAT 文件系統(tǒng)上這個(gè) umask 確保在指定組(gid)中的所有用戶可以完全訪問(wèn)所有文件。

3.3.4. 隱蔽 FAT 文件系統(tǒng)
隱蔽提供了精細(xì)的控制粒度。通過(guò)復(fù)制部分最初的 FAT 文件系統(tǒng),應(yīng)用程序可以安全的在復(fù)制的這部分上工作,而繼續(xù)直接讀其余的部分。這是通過(guò)符號(hào)連接完成的。例如,考慮一個(gè)叫 AnApp 的應(yīng)用程序必須能讀寫 c:\windows 和 c:\AnApp 目錄而可讀整個(gè) FAT 文件系統(tǒng)的的一個(gè)系統(tǒng)。在這個(gè)系統(tǒng)中 FAT 文件系統(tǒng)有缺省的權(quán)限,出于安全的原因或缺乏 root 訪問(wèn)權(quán)限而不應(yīng)該被改變。在這個(gè)系統(tǒng)上可以用下列方式設(shè)置一個(gè)隱蔽目錄:

~>;cd /
/>;mkdir c_shadow
/>;cd c_shadow
/c_shadow>;ln -s /c_/* .
/c_shadow>;rm windows AnApp
/c_shadow>;cp -R /c_/{windows,AnApp} .
/c_shadow>;chmod -R 777 windows AnApp
/c_shadow>;perl -p -i -e 's|/c$|/c_shadow|g' /usr/local/etc/wine.conf


上述命令給予所有用戶對(duì) windows 和 AnApp 目錄完全的讀寫訪問(wèn),而只有 root 可以寫訪問(wèn)其他目錄。[/color]


3.4. SCSI 支持
編寫: Bruce Milner;補(bǔ)充:Andreas Mohr <amohr@codeweavers.com>;

(提取自 wine/documentation/aspi)

這個(gè)文件描述設(shè)置 Windows ASPI 接口。

警告/警告/警告!!!!!!
  如果不正確使用可能會(huì)使你的系統(tǒng)報(bào)廢
如果正確使用可能會(huì)使你的系統(tǒng)報(bào)廢


我已經(jīng)說(shuō)過(guò),ASPI 是從 windows 程序到 SCSI 設(shè)備的直接連接。ASPI 只轉(zhuǎn)發(fā)程序發(fā)送到 SCSI 總線上 SCSI 命令。

如果在你的設(shè)置文件中使用了錯(cuò)誤的 SCSI 命令,你可以向不合適的設(shè)備發(fā)送完全偽造的命令 - 例如格式化你的硬設(shè)備(假定這個(gè)設(shè)備給予你權(quán)限 - 如果你以 root 運(yùn)行,所有賭注都將失去)。

所以請(qǐng)確保把程序不需要的所有 SCSI 設(shè)備的權(quán)限設(shè)置為盡可能的受限制!

設(shè)置掃描儀的指導(dǎo): (至少讓掃描儀工作起來(lái)) (同樣適用于其他設(shè)備如 CD 刻錄機(jī), MO 驅(qū)動(dòng)器,...,諸如此類)

3.4.1. Windows 要求
掃描儀軟件需要使用 "Adaptec" 兼容驅(qū)動(dòng)器(ASPI)。至少與 Mustek 一起,它們?cè)试S你選擇使用內(nèi)置卡或 "Adaptec (AHA)" 兼容驅(qū)動(dòng)器。任何其他方式都不能工作。支持通過(guò) DOS ASPI 驅(qū)動(dòng)器(例如, ASPI2DOS) 訪問(wèn)掃描儀的軟件。 [AM]

你可能需要這個(gè)軟件的一個(gè)真實(shí)的 windows 安裝來(lái)正確設(shè)置 LUN's/SCSI id。我也不是非常確定。

3.4.2. LINUX 要求
在 linux 下必須支持你的 SCSI 卡。對(duì)未知 SCSI 卡將不能工作。甚至對(duì)廉價(jià)的垃圾 "掃描儀專用" 控制器在網(wǎng)上都有特定的 Linux 驅(qū)動(dòng)程序。如果你要使用你的 IDE 設(shè)備,你需要使用 ide-scsi 模擬器。閱讀 http: //www./HOWTO/CD-Writing-HOWTO.html 來(lái)獲得 ide-scsi 設(shè)置指導(dǎo)。把 SCSI 驅(qū)動(dòng)程序編譯到你的內(nèi)核中。

對(duì)于最新的(2.2.x)內(nèi)核好象不要求別的什么了: Linux 缺省使用比 Windows 小的 SCSI 緩沖區(qū)。定義了 SG_BIG_BUFF(在 sg.h 中)的內(nèi)核建造缺省設(shè)置太低。SANE 計(jì)劃推薦 130560 好象就工作的很好。這要求重新建造系統(tǒng)內(nèi)核。

為掃描儀建造一個(gè)設(shè)備(一般 SCSI 設(shè)備) - 關(guān)于設(shè)備編號(hào)請(qǐng)參見(jiàn) http://www./HOWTO/SCSI-Prog ... HOWTO.html 的 SCSI 編程 HOWTO。

我建議讓掃描儀設(shè)備對(duì)一個(gè)組可寫。我建立了一個(gè)叫 scanner 的組并添加上了我自己。以 root 運(yùn)行會(huì)增加向不適當(dāng)?shù)脑O(shè)備發(fā)送錯(cuò)誤 SCSI 命令的危險(xiǎn)。使用常規(guī)用戶,你將受到更好的保護(hù)。

對(duì)于 Win32 軟件(WNASPI32),Wine 在適當(dāng)?shù)奈恢眠M(jìn)行自動(dòng)檢測(cè)。對(duì)于 Win16 軟件(WINASPI),你需要在 ~/.wine/config 中為你的特定掃描儀添加一個(gè) SCSI 設(shè)備條目。格式是 [scsi cCtTdD],這里的 "C" = "controller"、"T" = "target"、D=LUN

例如,我設(shè)置掃描儀為 controller 0、Target 6、LUN 0。 [scsi c0t6d0]
"Device" = "/dev/sgi"


對(duì)你的特定的 SCSI 設(shè)置可能不同。

3.4.3. 一般信息
我使用一個(gè)包 "ipplus" 承載 mustek 掃描儀。這個(gè)程序使用 TWAIN 驅(qū)動(dòng)器規(guī)定來(lái)訪問(wèn)掃描儀。

(TWAIN 管理器)

  ipplus.exe <--->; (TWAIN INTERFACE) <--->; (TWAIN DATA SOURCE . ASPI) ->; WINASPI




3.4.4. 注意/缺陷
最大的缺陷是目前只能在 linux 下工作。

ASPI 代碼只在下列掃描儀上進(jìn)行了測(cè)試: 

在 Linux 下一個(gè) Mustek 800SP 加上在一個(gè) Buslogic 控制器[BM]

在 Linux 下通過(guò) DOSASPI 訪問(wèn)的一個(gè) Siemens Nixdorf 9036 加上 Adaptec AVA-1505。注意我有顏色問(wèn)題,通過(guò)(少見(jiàn)可讀的結(jié)果)[AM]

一個(gè) Fujitsu M2513A MO 驅(qū)動(dòng)器 (640MB) 使用一般 SCSI 驅(qū)動(dòng)器。格式化和彈出(eject)工作良好。為訪問(wèn)硬件而感謝 Uwe Bonnes! [AM]

我不擔(dān)保 ASPI 代碼。它可以使我的掃描儀工作。但可能使你的驅(qū)動(dòng)器爆炸。我無(wú)法確定。我承擔(dān)零責(zé)任![/color]


HonestQiao 回復(fù)于:2005-09-13 14:11:34

第 4 章. 配置 Wine
目錄
4.1. 一般配置
4.2. Win95/98 外觀
4.3. 配置 x11drv 驅(qū)動(dòng)器
4.4. 注冊(cè)表
4.5. Wine 的驅(qū)動(dòng)器標(biāo)簽和系列號(hào)
4.6. Dll 加載
4.7. 鍵盤
4.8. 處理字體
4.9. 在 Wine 中打印
設(shè)置 config 文件等。

4.1. 一般配置
Copyright 1999 Adam Sacarny <magicbox@bestweb.net>;

(提取自 wine/documentation/config)

4.1.1. Wine 配置文件
Wine config 文件存儲(chǔ)各種 Wine 的設(shè)置。包括:

 

驅(qū)動(dòng)器和關(guān)于它們的信息

目錄設(shè)置

端口設(shè)置

Wine 外觀和感覺(jué)

Wine 的 DLL 用法

4.1.2. 我如何做一個(gè)?
本節(jié)將帶領(lǐng)你經(jīng)過(guò)制作一個(gè) config 文件的(全部)過(guò)程。看一下文件 <dirs to wine>;/documentation/samples/config。它是由段組織起來(lái)的。

 

段名 需要? 用途
[Drive X] 是 設(shè)置 wine 識(shí)別的驅(qū)動(dòng)器
[wine] 是 設(shè)置 wine 目錄
[DllDefaults] 推薦 缺省裝載的 DLL
[DllPairs] 推薦 對(duì) DLL 的健全檢查
[DllOverrides] 推薦 屏棄缺省的 DLL 裝載
[options] 否 好象沒(méi)人知道
[fonts] 是 字體外觀和識(shí)別
[serialports] 否 wine 見(jiàn)到的 COM 端口
[parallelports] 否 wine 見(jiàn)到的 LPT 端口
[spooler] 否 打印緩沖池
[ports] 否 直接訪問(wèn)端口
[spy] 否 怎樣處理特定的調(diào)試信息
[Registry] 否 指定 windows 注冊(cè)表文件的位置
[tweak.layout] 推薦 wine 的外觀
[programs] 否 自動(dòng)運(yùn)行的程序
[Console] 否 控制臺(tái)設(shè)置

 

4.1.2.1. [Drive X] 段
這是自明的,下面是深入的指導(dǎo)。對(duì)于 Wine 中的每個(gè)驅(qū)動(dòng)器最多有 6 行。

  [Drive X]

上面的行開(kāi)始了一個(gè)給字母是 X 的那個(gè)驅(qū)動(dòng)器的段落。

  Path=/dir/to/path

這個(gè)路徑是這個(gè)驅(qū)動(dòng)器開(kāi)始的地方。當(dāng) Wine 在驅(qū)動(dòng)器 X 中瀏覽的時(shí)候,它將見(jiàn)到目錄 /dir/to/path 中的文件。不要忘記去掉尾隨的斜杠!

  "Type" = "floppy|hd|cdrom|network" <--- 這個(gè) | 的意思是 "Type = "<選項(xiàng)之一>;"




設(shè)置 Wine 將見(jiàn)到的驅(qū)動(dòng)器類型。類型必須等于下列四者之一 floppy、hd、cdrom、或 network。它們是自明的。

  "Label" = "blah"

定義驅(qū)動(dòng)器標(biāo)簽。一般只有查找一個(gè)特定的 CD-ROM 的應(yīng)用程序需要它。關(guān)于查找標(biāo)簽的信息請(qǐng)參見(jiàn) <dirs to wine>;/documentation/cdrom-labels。標(biāo)簽最多是 11 個(gè)字符。

  "Serial" = "deadbeef"

告訴 Wine 這個(gè)驅(qū)動(dòng)器的系列號(hào)。一些意圖防止剽竊的應(yīng)用程序可能需要它,否則不要使用它。最多 8 個(gè)字符和十六進(jìn)制數(shù)。

  "Filesystem" = "msdos|win95|unix"

設(shè)置 Wine 查看這個(gè)驅(qū)動(dòng)器上的文件的方式。

 

msdos
大小寫不敏感文件系統(tǒng)。類似于 DOS 和 Windows 3.x。 8.3 是文件名的最大長(zhǎng)度(eightdot.123) - 更長(zhǎng)的部分將被截掉。(注意: 如果你想運(yùn)行使用長(zhǎng)文件名的程序,這將是非常糟的選擇。win95 可以很好的與設(shè)計(jì)在 msdos 系統(tǒng)下運(yùn)行的應(yīng)用程序一起工作。換句話來(lái)說(shuō),你可能不需要使用它。)

win95
大小寫不敏感。類似于 Windows 9x/NT4。這可能是你用來(lái)工作的長(zhǎng)文件名文件系統(tǒng)。是給 wine 下運(yùn)行的多數(shù)應(yīng)用程序選擇的文件系統(tǒng)??赡苷悄阈枰?

unix
大小寫敏感。這個(gè)文件系統(tǒng)基本不用(Windows 應(yīng)用程序需要大小寫不敏感文件名)。如果你敢就試一下,win95 是更好的選擇。

"Device" = "/dev/xx"


只用于軟盤和光盤設(shè)備。在 Extended2 分區(qū)上使用它將有災(zāi)難性的結(jié)果(在一個(gè) windows 應(yīng)用程序嘗試做一次低層寫的時(shí)候,他們以在 FAT 下的方式去做 -- FAT 不能與 Extended2 混同使用)。

注意: 這個(gè)設(shè)置不是十分重要;如果保持未指定,幾乎所有的應(yīng)用程序都沒(méi)有問(wèn)題。對(duì)于 CD-ROM 你可能希望添加它來(lái)獲得自動(dòng)的標(biāo)簽檢測(cè)。如果你不能確定指定的設(shè)備名字,只須為你的設(shè)備空缺這個(gè)設(shè)置。

下面是 Drive X 的一個(gè)設(shè)置,它是一個(gè)通用的硬盤驅(qū)動(dòng)器: [Drive X]
"Path" = "/dos-a"
"Type" = "hd"
"Label" = "Hard Drive"
"Filesystem" = "win95"
下面是 Drive X 的一個(gè)設(shè)置,它是一個(gè)通用的 CD-ROM 驅(qū)動(dòng)器:
[Drive X]
"Path" = "/dos-d"
"Type" = "cdrom"
"Label" = "Total Annihilation"
"Filesystem" = "win95"
"Device" = "/dev/hdc"
下面是 Drive X 的一個(gè)設(shè)置,它是一個(gè)通用的軟盤驅(qū)動(dòng)器:
[Drive X]
"Type" = "floppy"
"Path" = "/mnt/floppy"
"Label" = "Floppy Drive"
"Serial" = "87654321"
"Filesystem" = "win95"
"Device" = "/dev/fd0"




4.1.2.2. [wine] 段
配置文件的 [wine] 段包含 wine 使用的目錄的信息。在給這些設(shè)置指定目錄的時(shí)候,按它們?cè)?wine 中出現(xiàn)的那樣設(shè)置它們。如果你的驅(qū)動(dòng)器 C 有一個(gè)路徑 /dos,并且你的 windows 目錄位于 /dos/windows,則使用: "Windows" = "c:\\ windows"



它設(shè)置 windows 目錄。如果你未曾有這個(gè)目錄則建一個(gè)。沒(méi)有尾隨的斜杠(不能是 C:\\windows\)!

  "System" = "c:\\windows\\system"

它設(shè)置 windows 系統(tǒng)文件所在的地方。這個(gè)目錄應(yīng)當(dāng)駐留在用于 Windows 設(shè)置的目錄中。如果你沒(méi)有 windows 則它應(yīng)是系統(tǒng)文件所在的地方。再次強(qiáng)調(diào),沒(méi)有尾隨的斜杠!

  "Temp" = "c:\\temp"

這應(yīng)該是你打算把臨時(shí)文件存儲(chǔ)到其中的目錄。你必須有到它的寫訪問(wèn)權(quán)限。

  "Path" = "c:\\windows;c:\\windows\\system;c:\\blanco"




行為好象是 UNIX 的 PATH 環(huán)境變量設(shè)置。在 wine 運(yùn)行如 wine sol.exe,如果 sol.exe 駐留在 Path 設(shè)置中指定的一個(gè)目錄中,wine 將會(huì)運(yùn)行它(當(dāng)然,如果 sol.exe 駐留在當(dāng)前目錄中,wine 也可以運(yùn)行它)。確保它總包含你的 windows 目錄和系統(tǒng)目錄(對(duì)于這個(gè)設(shè)置,它必須包含 "c:\\windows;c:\\windows\\system")。

  "SymbolTableFile" = "wine.sym"

為 wine 調(diào)試器設(shè)置符號(hào)表。你可能不需要擺弄它。如果你的 wine 出了問(wèn)題(stripped)可能用到它。

  "printer" = "off|on"

告訴 wine 是否允許打印機(jī)驅(qū)動(dòng)程序和打印工作。這些東西仍處在 alpha 階段,所以使用它你要當(dāng)心。但一些人可能發(fā)現(xiàn)它很有用。如果你不打算進(jìn)行打印工作,則不要把它添加到你的 ~/.wine/config 中(它可能不在其中)。還要檢查 [spooler] 和 [parallelports] 段。

4.1.2.3. 介紹 DLL 段
在 wine 配置文件中設(shè)置 DLL 段之前,你需要知道一些事情。

4.1.2.3.1. Windows DLL 對(duì)
多數(shù) windows DLL 有 win16 (Windows 3.x) 和 win32 (Windows 9x/NT) 兩種形式。win16 和 win32 DLL 版本的組合叫做"DLL 對(duì)"。下面是最常見(jiàn)的 DLL 對(duì):

 

Win16 Win32 固有 [a]
KERNEL KERNEL32 否!
USER USER32 否!
SHELL SHELL32 是
GDI GDI32 否!
COMMDLG COMDLG32 是
VER VERSION 否
注釋:a.
是 wine 可以使用固有的 dll?(參見(jiàn)下節(jié))


 

4.1.2.3.2. DLL 的不同形式
wine 可以裝載的 DLL 有多種形式:

 

native(本地,固有)
DLL 包含在 windows 中。許多 windows DLL 可以用它們固有的形式來(lái)裝載。許多時(shí)候這些固有版本比它們的非 Microsoft 替代品要好一些,但不總是。

elfdll
用 ELF 封裝的 windows DLL。當(dāng)前還是實(shí)驗(yàn)性的(仍不能工作)。

so
本地 ELF 庫(kù)。仍不能工作。

builtin(內(nèi)置)
DLL 裝載的最通常形式。如果 DLL 用固有形式裝載是錯(cuò)誤的(error-prone)(例如,KERNEL),你沒(méi)有固有的 DLL,或你想自由于 Microsoft,則可以使用它們。

4.1.2.4. [DllDefaults] 段
這些設(shè)置提供了 wine 的缺省 DLL 裝載處理。

  "DefaultLoadOrder" =" native, so, builtin"



這個(gè)設(shè)施是一個(gè)逗號(hào)分界的列表,按它的次序嘗試裝載 DLL。如果第一種選項(xiàng)失敗了,它將嘗試第二種,以次類推。上面的次序在多數(shù)情況下是最好的。

4.1.2.5. [DllPairs] 段
有時(shí),在缺省配置文件中有一個(gè)叫做 [DllPairs] 的段,它已經(jīng)被廢棄了,原因是組對(duì)信息已經(jīng)被嵌入到 Wine 自身中。(本段的目的只不過(guò)是如果用戶嘗試組對(duì)(pair codependent)不同類型的16-bit/32-bit DLL 則發(fā)起警告。) 如果你的 wine.conf 或 ~/.wine/config 中仍然有它,你刪除它是安全的。

4.1.2.6. [DllOverrides] 段
本段的格式對(duì)于每行都是相同的: <DLL>;{,<DLL>;,<DLL>;...} = <FORM>;{,<FORM>;,<FORM>;...}




例如,要裝載內(nèi)置的 KERNEL 對(duì)(這里大小寫都行): "kernel,kernel32" = "builtin"




要裝載固有 COMMDLG 對(duì),但如果它們不工作則嘗試內(nèi)置的: "commdlg,comdlg32" = "native,builtin"




要裝載 COMCTL32: "comctl32" = "native"




下面是一個(gè)很好的通用設(shè)置(在你 wine 包中的 config 文件中定義的): [DllOverrides]
"commdlg" = "builtin, native"
"comdlg32" = "builtin, native"
"ver" = "builtin, native"
"version" = "builtin, native"
"shell" = "builtin, native"
"shell32" = "builtin, native"
"lzexpand" = "builtin, native"
"lz32" = "builtin, native"
"comctl32" = "builtin, native"
"commctrl" = "builtin, native"
"wsock32" = "builtin"
"winsock" = "builtin"
"advapi32" = "builtin, native"
"crtdll" = "builtin, native"
"mpr" = "builtin, native"
"winspool.drv" = "builtin, native"
"ddraw" = "builtin, native"
"dinput" = "builtin, native"
"dsound" = "builtin, native"
"mmsystem" = "builtin"
"winmm" = "builtin"
"msvcrt" = "native, builtin"
"msvideo" = "builtin, native"
"msvfw32" = "builtin, native"
"mcicda.drv" = "builtin, native"
"mciseq.drv" = "builtin, native"
"mciwave.drv" = "builtin, native"
"mciavi.drv" = "native, builtin"
"mcianim.drv" = "native, builtin"
"msacm.drv" = "builtin, native"
"msacm" = "builtin, native"
"msacm32" = "builtin, native"
"midimap.drv" = "builtin, native"
"wnaspi32" = "builtin"
"icmp" = "builtin"




注意: 你見(jiàn)到此中的一些 dll 的第一選項(xiàng)是 elfdll 或 so。對(duì)于你這個(gè)嘗試將是失敗的,但你不用管它,它會(huì)使用第二個(gè)或第三個(gè)選項(xiàng)。

4.1.2.7. [options] 段
好象沒(méi)人知道這段是干什么用的...

  "AllocSystemColors" = "100"


分配的系統(tǒng)顏色? 保持它為 100。

4.1.2.8. [fonts] 段
本段設(shè)置 wine 的字體處理。

  "Resolution" = "96"



因?yàn)?X 處理字體的方式與 Windows 的方式不同,wine 使用一個(gè)特殊的機(jī)制來(lái)處理它們。它必須使用在"Resolution"設(shè)置中的數(shù)來(lái)縮放字體。60-120 是合理的值,96 是此間的一個(gè)很好的值。如果你能獲得真實(shí)的 windows 字體(參見(jiàn) < dirs to wine>;/documentation/ttfserver 和 fonts),這個(gè)選項(xiàng)就不重要了。當(dāng)然,總是可以使你的 X 字體在 wine 中工作的很好。

  "Default" = "-adobe-times-"

wine 使用的缺省字體。隨你的喜好去設(shè)置(fool around with)它。

可選的:

Alias 設(shè)置允許你把一個(gè) X 字體映射成在 wine 中使用的一個(gè)字體。如果應(yīng)用程序需要使用你沒(méi)有的特定字體,而存在一個(gè)很好的替代字體,可使用這個(gè)設(shè)置。語(yǔ)法如下: "AliasX" = "[偽裝的 windows 名字],[真實(shí)的 X 名字]"<,可選的"屏蔽"標(biāo)志 >;




非常直接,把 "AliasX" 替換為 "Alias0", 接著 "Alias1" 并以此類推。偽裝的 windows 名字是在 wine 中的 windows 應(yīng)用程序?qū)⒁?jiàn)到的字體名字。而真實(shí)的 X 名字是 X 見(jiàn)到的字體名字(運(yùn)行 "xfontsel"可以查看)??蛇x的"屏蔽" 段允許你利用你定義的偽裝 windows 名字。如果不使用它,則 wine 將只是嘗試提取偽裝 windows 名字自身而不使用你輸入的值。

下面是沒(méi)有屏蔽的別名的例子。字體在 windows 應(yīng)用程序中將表現(xiàn)為"Google"。在一個(gè) config 文件中定義一個(gè)別名的時(shí)候,請(qǐng)忘記我的注釋文本("<-- blah" 材料) "Alias0" = "Foo,--google-"



下面是啟用屏蔽的例子。在 windows 中字體將表現(xiàn)為 "Foo"。 "Alias1" = "Foo,--google-,subst"




詳情參見(jiàn) <dirs to wine>;/documentation/fonts

4.1.2.9. [serialports]、[parallelports]、[spooler]、和 [ports] 段
盡管看起來(lái)好象是很多段,它們是緊密關(guān)聯(lián)的。它們都是關(guān)于通信和并行端口的。

[serialports] 段告訴 wine 那些串行端口是允許使用的。 "ComX" = "/dev/cuaY"



把 X 替換為 Windows 中 COM 端口號(hào)(1-8) 而 Y 是它在 X 的編號(hào)(通常是在 Windows 中端口號(hào)減 1)。 ComX 實(shí)際上可以是任何設(shè)備(/dev/modem 是可接受的)。不總是需要定義任何 COM 端口(一個(gè)可選的設(shè)置)。下面是一個(gè)例子: "Com1" = "/dev/cua0"



你想設(shè)置多少就設(shè)置多少。定義你需要的所有 COM 端口。

[parallelports] 段設(shè)置在 wine 下可以訪問(wèn)的任何并行端口。 "LptX" = "/dev/lpY"



很熟悉? 語(yǔ)法很象 COM 端口設(shè)置。把 X 替代為 1-4 的一個(gè)值如同在 Windows 中那樣,把 Y 替代為 0-3 的一個(gè)值 (同 COM 端口一樣,Y 通常是在 windows 中的值減 1)。你不總是需要定義一個(gè)并行端口(AKA,它是可選的)。象其他段一樣, LptX 可以等于任何設(shè)備(可能是 /dev/printer)。下面是一個(gè)例子: "Lpt1" = "/dev/lp0"



[spooler] 段將通知 wine 在那里緩沖(spool)打印作業(yè)。如果你想打印的話就要使用它。Wine docs 聲稱現(xiàn)在的緩沖池是 "非常原始的",所以它不能很好的工作。這是可選的。在本段中你唯一的設(shè)置工作是把一個(gè)端口(例如,LPT1)映射到一個(gè)文件或一個(gè)命令上。下面是一個(gè)例子,把 LPT1 映射到一個(gè)文件 out.ps 上: "LPT1:" = "out.ps"



下列命令把到 LPT1 的打印作業(yè)映射到命令 lpr。注意這個(gè) |: "LPT1:" = "|lpr"



[ports] 段只在需要直接端口訪問(wèn)的時(shí)候是有用的,例如用戶的程序需要 dongle(加密/解密器)或掃描儀。如果不需要,就不要用它!

  "read" = "0x779,0x379,0x280-0x2a0"

給予到這些 IO 的直接讀訪問(wèn)。

  "write" = "0x779,0x379,0x280-0x2a0"

給予到這些 IO 的直接寫訪問(wèn)。這是保持 read 和 write 的設(shè)置相同可能是個(gè)好主意。只有你以 root 運(yùn)行的時(shí)候這些材料才能工作。

4.1.2.10. [spy]、[Registry]、[tweak.layout]、和 [programs] 段
使用 [spy] 來(lái)包含或排除調(diào)試信息,并把它們輸出到一個(gè)文件中。后者是很少使用的。這些都是可選的,你可能不需要向你的 config 中的這個(gè)段增加或刪除任何東西。

  "File" = "/blanco"

為 wine 設(shè)置日志文件。設(shè)置為 CON 來(lái)記錄到標(biāo)準(zhǔn)輸出。這很少使用。

  "Exclude" = "WM_SIZE;WM_TIMER;"

在日志文件中排除關(guān)于 WM_SIZE 和 WM_TIMER 的調(diào)試信息。

  "Include" = "WM_SIZE;WM_TIMER;"

在日志文件中包含關(guān)于 WM_SIZE 和 WM_TIMER 的調(diào)試信息。

使用 [Registry] 來(lái)告訴 wine 你的舊有的 windows 注冊(cè)表文件存在于什么地方。這個(gè)段是完全可選的,而且對(duì)沒(méi)有現(xiàn)存 windows 安裝的人是沒(méi)用的。

  "UserFileName" = "/dirs/to/user.reg"

你舊有的 user.reg 文件的位置。

[tweak.layout] 決定 wine 的外觀。它只有一個(gè)設(shè)置。

  "WineLook" = "win31|win95|win98"

可以把 wine 的外觀改變?yōu)?Windows 3.1 和 Windows 95。win98 設(shè)置的行為在多數(shù)情況下類似于 win95。

使用 [programs] 來(lái)說(shuō)明在特定條件下運(yùn)行什么程序。

  "Default" = "/program/to/execute.exe"

設(shè)置啟動(dòng) wine 而未指定一個(gè)程序的時(shí)候運(yùn)行的程序。

  "Startup" = "/program/to/execute.exe"

設(shè)置在每次啟動(dòng)的時(shí)候自動(dòng)運(yùn)行的程序。

4.1.3. 我把它放在哪里?
wine config 文件可以放到兩個(gè)地方。

/usr/local/etc/wine.conf
系統(tǒng)范圍的 config 文件,用于沒(méi)有自己的配置文件的任何人。注意: 這個(gè)文件當(dāng)前未使用,原因是一個(gè)新的全局配置機(jī)制現(xiàn)在仍未準(zhǔn)備好。

$HOME/.wine/config
你自己的 config 文件,只用于你的用戶。

把你的 wine.conf 版本文件復(fù)制到 /usr/local/etc/wine.conf 或 $HOME/.wine/config 來(lái)讓 wine 識(shí)別它。

4.1.4. 如果它不工作怎么辦?
事情總是可能出錯(cuò)。如果不可想象的事情發(fā)生了,嘗試一下新聞組,comp.emulators.ms-windows.wine,或者在 irc.stealth.net:6668 或連接的服務(wù)器上找尋 IRCnet 頻道 #WineHQ。確保你完全的查閱了本文檔,并且還讀了: 

README

http://www./wine/index.html (可選的,推薦的)

如果看起來(lái)你真的已經(jīng)作了研究,等著收到有幫助的建議好了。如果你沒(méi)有,作好受到指責(zé)的準(zhǔn)備。[/color]



4.2. Win95/98 外觀
編寫:David A. Cuthbert <dacut@ece.cmu.edu>;

(提取自 wine/documentation/win95look)

介紹 Win95/Win98 界面設(shè)置。

不再使用 #define 開(kāi)關(guān)為 Win3.1 和 Win95 外觀來(lái)編譯 Wine,現(xiàn)在在 ~/.wine/config 中一個(gè)特殊的 [Tweak.Layout] 段中編碼,其中有 "WineLook" = "Win95" 或 "WineLook" = "Win98" 條目。

已經(jīng)向 ~/.wine/config 文件增加了一些新的段和一些條目 -- 它們只是用來(lái)調(diào)試 Win95 tweak 并且可能在將來(lái)的發(fā)行中刪除掉! 這些條目/段是:

[Tweak.Fonts]
"System.Height" = "<point size>;" # 設(shè)置系統(tǒng)字型的高度
"System.Bold" = "[true|false]" # 系統(tǒng)字體是否應(yīng)該是粗體
"System.Italic" = "[true|false]" # 系統(tǒng)字體是否應(yīng)該是斜體
"System.Underline" = "[true|false]" # 系統(tǒng)字體是否應(yīng)該有下劃線
"System.StrikeOut" = "[true|false]" # 系統(tǒng)字體是否應(yīng)該有刪除線
"OEMFixed.xxx" # 給 OEM fixed 字型的一些參數(shù)
"AnsiFixed.xxx" # 給 Ansi fixed 字型的一些參數(shù)
"AnsiVar.xxx" # 給 Ansi variable 字型的一些參數(shù)
"SystemFixed.xxx" # 給系統(tǒng) fixed 字型的一些參數(shù)

[Tweak.Layout]
"WineLook" = "[Win31|Win95|Win98]" # 改變 Wine 的感觀



4.3. 配置 x11drv 驅(qū)動(dòng)器
編寫:Ove Ken <ovek@>;

(提取自 wine/documentation/cdrom-labels)

多數(shù) Wine 用戶在一個(gè)叫做 X11 的窗口系統(tǒng)下運(yùn)行 Wine。在 Wine 歷史上的多數(shù)時(shí)期,這是唯一的可獲得的顯示驅(qū)動(dòng)器,但是在近幾年,已經(jīng)重新組織了部分 Wine 來(lái)允許其他顯示驅(qū)動(dòng)器(當(dāng)前只能獲得一個(gè)可替代的顯示驅(qū)動(dòng)器是 Patrik Stridvall 的基于 ncurses 的 ttydrv,他聲稱用它來(lái)顯示 calc.exe)。在~/.wine/config 的 [wine] 段中用 GraphicsDriver 選項(xiàng)來(lái)選擇顯示驅(qū)動(dòng)器,但在本文中我只覆蓋 x11drv 驅(qū)動(dòng)器。

4.3.1. x11drv 操作模式
x11drv 驅(qū)動(dòng)器由兩個(gè)概念上的不同部分組成,圖形驅(qū)動(dòng)器(GDI 部分),和窗口驅(qū)動(dòng)器(USER 部分)。但它們二者都被連接到 libx11drv.so 模塊中(你用 GraphicsDriver 選項(xiàng)裝載它)。在 Wine 中,運(yùn)行在 X11 上,圖形驅(qū)動(dòng)器必須在窗口驅(qū)動(dòng)器提供的 drawable (window interior)上繪圖。這與 Windows 模型有一點(diǎn)區(qū)別, 在 X11 中,窗口系統(tǒng)建立和配置由圖形驅(qū)動(dòng)器控制的設(shè)備上下文,而允許應(yīng)用程序在它們喜歡的任何地方用掛鉤連接起(hook into)這個(gè)聯(lián)系。所以,為了要在兼容性和可用性之間提供有道理的任何折中,x11drv 有三種不同的操作模式。

 

Unmanaged/Normal
缺省的。窗口管理器無(wú)關(guān)(完全忽略任何運(yùn)行的窗口管理器)。 窗口裝飾(decoration)(標(biāo)題條,邊界,等)由 Wine 繪制來(lái)使感觀如同真實(shí)的 Windows。這兼容于依靠可以計(jì)算出這些裝飾的精確大小的應(yīng)用程序,或想自己畫它們的程序。

Managed
使用 --managed 命令行選項(xiàng)或 Managed wine.conf 選項(xiàng)(見(jiàn)后)指定。普通的頂層框架窗口,有粗邊界,標(biāo)題條,和由你的窗口管理器管理的系統(tǒng)菜單。這允許這些應(yīng)用可以與你的桌面的其余部分更好的集成,但可能不總是工作的很好。(非常需要一個(gè)重寫的這種操作模式,使它更加健壯和更少瑕疵(patchy),并計(jì)劃在 Wine 1.0 發(fā)行之前完成。)

Desktop-in-a-Box
使用 --desktop 命令行選項(xiàng)(加上一個(gè)幾何,比如給一個(gè) 800x600 這么大的桌面 --desktop 800x600, 或者在顯示器的左上角自動(dòng)的定位桌面 --desktop 800x600+0+0 )。這是與 Windows 模型最兼容的模式。所有應(yīng)用程序窗口都是在提供給 Wine 的桌面窗口內(nèi)的 Wine 繪制的窗口(桌面窗口自身由你的窗口管理器來(lái)管理),而 Windows 應(yīng)用可以隨心所欲的在這個(gè)虛擬工作空間操作并認(rèn)為完全擁有它,不受你的其他 X 應(yīng)用程序的打擾。

4.3.2. [x11drv] 段
 

AllocSystemColors
只在你擁有一個(gè)基于調(diào)色板(palette)的顯示器時(shí)使用,例如,如果你的 X 服務(wù)器被設(shè)置為 8bpp 的色深,并且你沒(méi)有想要的一個(gè)私有顏色映射。它指定 Wine 所占有的共享顏色映射(colormap)單元(palette entries)的最大數(shù)目。這個(gè)值越高,其他應(yīng)用程序可獲得的顏色就越少。

PrivateColorMap
在你擁有一個(gè)基于調(diào)色板的顯示器時(shí)使用,例如,如果你的 X 服務(wù)器被設(shè)置為 8bpp 的色深。它指定你不想使用共享的顏色映射,而是使用一個(gè)私有的顏色映射,這這里可以獲得全部的 256 種顏色。不足是這個(gè) Wine 的私有顏色映射只在鼠標(biāo)指針在這個(gè) Wine 窗口期間可以見(jiàn)到,所以如果你頻繁使用鼠標(biāo)就會(huì)經(jīng)常見(jiàn)到迷幻的閃爍和滑稽的顏色。

PerfectGraphics
它確定在 blit 操作中對(duì)于特定的 ROP 代碼使用快速 X11 例程還是嚴(yán)格的 Wine 例程。多數(shù)用戶不能找出任何區(qū)別。

ScreenDepth
只在多色深顯示器上使用。它指定 Wine 應(yīng)當(dāng)使用(并告訴 Windows 應(yīng)用程序)那種可獲得的色深。

Display
它指定使用那個(gè) X11 顯示器,并且如果被指定了,它將屏棄 DISPLAY 環(huán)境變量和 --display 命令行選項(xiàng)二者。

Managed
Wine 可以讓框架窗口由你的窗口管理器來(lái)管理。這個(gè)選項(xiàng)指定你是否想使之成為缺省的。

UseDGA
它指定你是否想讓 DirectDraw 使用 XFree86 的直接圖形體系 (Direct Graphics Architecture -- DGA),這可以接管整個(gè)顯示器并在全屏幕下以最大速度運(yùn)行游戲。(使用 DGA1 (XFree86 3.x),你仍需要首先把 X 服務(wù)器配置成游戲所需的 bpp,而使用 DGA2 (XFree86 4.x),依賴于你的驅(qū)動(dòng)器的能力,有可能使用運(yùn)行時(shí)顏色選擇。) 但要當(dāng)心如果 Wine 在 DGA 模式下崩潰,要想收復(fù)對(duì)你的計(jì)算機(jī)的控制就只能重啟動(dòng)了。 DGA 通常要求要么特權(quán)要么對(duì) /dev/mem 的讀/寫訪問(wèn)權(quán)限。

UseXShm
如果你不希望 DirectX 使用 DGA,你至少可以使用 X 共享內(nèi)存擴(kuò)展(X Shared Memory extensions -- XShm)。它比 DGA 慢很多,原因是應(yīng)用程序不直接訪問(wèn)物理的楨緩沖區(qū),但是使用共享內(nèi)存來(lái)繪制楨至少比使用標(biāo)準(zhǔn) X11 套接口要快,即使通過(guò) Wine 的 XShm 支持有時(shí)仍會(huì)崩潰。

DXGrab
如果你不使用 DGA,你可能想要一種替代的方式來(lái)確保鼠標(biāo)光標(biāo)滯留在游戲窗口中。這個(gè)選項(xiàng)就是干這個(gè)的。當(dāng)然,象使用 DGA 一樣,如果你的 Wine 崩潰了,你就有麻煩了(但不象 DGA 情況下那么糟,因?yàn)槟闳匀豢梢允褂面I盤來(lái)退出 X)。

DesktopDoubleBuffered
只在你使用了 --desktop 命令行選項(xiàng)來(lái)在一個(gè)桌面窗口中運(yùn)行時(shí)使用。指定建立的桌面窗口是否有雙緩沖區(qū)的 visual,是多數(shù) OpenGL 游戲正確運(yùn)行所需的東西。


4.4. 注冊(cè)表
編寫:Ove Ken

(提取自 wine/documentation/registry)

在 Win3.x 之后,注冊(cè)表成為 Windows 的一個(gè)基本部分。Windows 自身,和所有遵循 Win95/98/NT/2000/whatever 的應(yīng)用程序,在其中存貯配置和狀態(tài)數(shù)據(jù)。盡管多數(shù)有理智的系統(tǒng)管理員(和 Wine 開(kāi)發(fā)者)惡毒的詛咒 Windows 注冊(cè)表的扭曲天性(twisted nature)。Wine 以某種方式支持它仍是必須的。

4.4.1. 注冊(cè)表結(jié)構(gòu)
Windows 注冊(cè)表是一個(gè)復(fù)雜的樹結(jié)構(gòu),而且多數(shù) Windows 程序員不完全知道注冊(cè)表是怎樣布置的,加上它的不同的 "蜂窩"和它們之間的大量連接;一個(gè)完整個(gè)論述(coverage)超出了本文檔的范圍。下面是你需要知道的基本的注冊(cè)鍵。

 

HKEY_LOCAL_MACHINE
這個(gè)基本根鍵(在 win9x 中,存儲(chǔ)在隱藏文件 system.dat 中)包含與當(dāng)前 Windows 有關(guān)的所有東西。

HKEY_USERS
這個(gè)基本根鍵(在 win9x 中,存儲(chǔ)在隱藏文件 user.dat 中)包含這個(gè)安裝的每個(gè)用戶的配置數(shù)據(jù)。

HKEY_CLASSES_ROOT
這是到 HKEY_LOCAL_MACHINE\Software\Classes 的一個(gè)連接。它包含描述文件關(guān)聯(lián)、OLE 文檔處理器、和 COM 類的數(shù)據(jù)。

HKEY_CURRENT_USER
這是到 HKEY_USERS\your_username 的一個(gè)連接,比如,你的個(gè)人配置。

4.4.2. 使用 Windows 注冊(cè)表
如果你把 Wine 指向一個(gè)現(xiàn)存的 MS 安裝(通過(guò)在 ~/.wine/config 中設(shè)置適當(dāng)?shù)哪夸?,則 Wine 能從中裝載注冊(cè)表數(shù)據(jù)。但是,Wine 不會(huì)把任何東西保存到真實(shí)的 Windows 注冊(cè)表中,而是保存到它自己的注冊(cè)表文件中(見(jiàn)后)。當(dāng)然,如果在 Windows 注冊(cè)表和 Wine 注冊(cè)表二者中都存在一個(gè)特定的注冊(cè)值,則 Wine 將使用后者。

偶爾的,Wine 裝載 Windows 注冊(cè)表可能有麻煩。通常,這是因?yàn)樽?cè)表是不一致或以某種方式被破壞的。如果出現(xiàn)了這個(gè)問(wèn)題,你可以從 MS 的網(wǎng)站下載 regclean.exe 并使用它來(lái)清理注冊(cè)表。作為替代,你總是可以使用 regedit.exe 來(lái)把你需要的數(shù)據(jù)導(dǎo)出到一個(gè)文本文件中,并接著導(dǎo)入到 Wine 中。

4.4.3. Wine 注冊(cè)表數(shù)據(jù)文件
在用戶的主目錄中,有一個(gè)叫 .wine 的子目錄,Wine 缺省的將嘗試在這里保存它的注冊(cè)表。它保存到四個(gè)文件中,它們是:

 

system.reg
這個(gè)文件包含 HKEY_LOCAL_MACHINE。

user.reg
這個(gè)文件包含 HKEY_CURRENT_USER。

userdef.reg
這個(gè)文件包含 HKEY_USERS\.Default (比如,缺省用戶設(shè)置)。

wine.userreg
Wine 把 HKEY_USERS 保存到這個(gè)文件中(當(dāng)前和缺省二者),但不從中裝載,除非 userdef.reg 丟失的。

所有這些文件是常人可讀的文本文件,所以不象 Windows,如果需要的話,你實(shí)際上可以用一個(gè)普通的文本編輯器來(lái)編輯它。

除了這些文件之外,Wine 還可以有選擇的從全局注冊(cè)表文件中裝載,它駐留在與全局 wine.conf 相同的目錄中(比如,如果你從源代碼編譯的話則是 /usr/local/etc)。它們是:

 

wine.systemreg
包含 HKEY_LOCAL_MACHINE。

wine.userreg
包含 HKEY_USERS。

4.4.4. 系統(tǒng)管理
一個(gè)系統(tǒng)管理員可以使用上面的文件結(jié)構(gòu)配置系統(tǒng),這樣一個(gè)系統(tǒng) Wine 安裝(和應(yīng)用程序)可以被所有用戶共享,而仍舊讓用戶擁有它自己的個(gè)人化配置。一個(gè)管理員可以,在安裝了 Wine 和用戶需要訪問(wèn)的所有 Windows 應(yīng)用軟件之后,把結(jié)果的 system.reg 和 wine.userreg 復(fù)制成全局注冊(cè)表文件(我們假定它駐留在 /usr/local/etc),使用:

cd ~/.wine
cp system.reg /usr/local/etc/wine.systemreg
cp wine.userreg /usr/local/etc/wine.userreg



并且甚至可以把它們符號(hào)連接回管理員的帳戶上,以便易于以后安裝系統(tǒng)范圍的應(yīng)用程序:

ln -sf /usr/local/etc/wine.systemreg system.reg
ln -sf /usr/local/etc/wine.userreg wine.userreg



注意如果你以 root 安裝 Wine,tools/wineinstall 腳本已經(jīng)為你作好了這一切。如果你接著在 root 登錄期間安裝 Windows 應(yīng)用程序,你的所有用戶就自動(dòng)的可以使用它們了。應(yīng)用程序的設(shè)置將接受全局注冊(cè)表,而用戶的個(gè)人化配置將保存在他們自己的主目錄中。

但是要注意對(duì)管理員帳戶的操作 - 如果你把管理員的注冊(cè)表復(fù)制或連接成全局注冊(cè)表,任何用戶就都可以讀到管理員的偏好,如果在其中存儲(chǔ)了敏感信息(口令、個(gè)人信息,等)這就不好了。只使用管理員帳戶安裝軟件,而不是進(jìn)行日常工作;平時(shí)使用一個(gè)普通用戶帳戶。

4.4.5. 缺省的注冊(cè)表
一個(gè) Windows 注冊(cè)表缺省的包含許多鍵,而其中的一些對(duì)于安裝程序進(jìn)行正確的操作是必須的。在叫 winedefault.reg 的文件中包含了 Wine 開(kāi)發(fā)者找到的對(duì)安裝應(yīng)用程序是必須的鍵。如果你使用 tools/wineinstall 腳本則已經(jīng)為你自動(dòng)安裝了它,如果你想手動(dòng)安裝它,你可以使用 regapi 工具做這件事。你可在 Wine 發(fā)布中的 documentation/no-windows 文檔中找到更多的信息。

4.4.6. [registry] 段
有了以上信息,下面查看一下 wine.conf/~/.wine/config 中處理注冊(cè)表的選項(xiàng)。

 

LoadGlobalRegistryFiles
控制是否嘗試裝載全局注冊(cè)表,如果它存在的話。

LoadHomeRegistryFiles
控制是否嘗試裝載用戶的注冊(cè)表文件(在用戶的主目錄中的 .wine 子目錄中)。

LoadWindowsRegistryFiles
控制 Wine 是否嘗試從在現(xiàn)存的 MS Windows 安裝中的真實(shí)的 Windows 注冊(cè)表中裝載注冊(cè)信息。

WritetoHomeRegistryFiles
控制是否把注冊(cè)信息寫到用戶的注冊(cè)表文件中(目前,這是沒(méi)有選擇的,就是說(shuō)如果你把它關(guān)閉了, Wine 根本就不能把注冊(cè)表保存到磁盤上;你退出 Wine 之后,你的變動(dòng)就消失了。)

UseNewFormat
這個(gè)選項(xiàng)被廢棄了。Wine 現(xiàn)在總是使用新格式;前些時(shí)候去除了對(duì)舊格式的支持。

PeriodicSave
如果設(shè)置這個(gè)選項(xiàng)為一個(gè)非零的值,它指定你想以一個(gè)給定的時(shí)間間隔把注冊(cè)表保存到磁盤上。如果你未設(shè)置它,則只在 wineserver 終止的時(shí)候把注冊(cè)表保存到磁盤上。

SaveOnlyUpdatedKeys
控制是把整個(gè)注冊(cè)表保存到用戶的注冊(cè)表文件中,還是只保存用戶實(shí)際上變更了的子鍵。考慮到用戶的注冊(cè)表將屏棄任何全局注冊(cè)表文件和 Windows 注冊(cè)表文件,通常應(yīng)該只保存用戶修改了的子鍵; 這種方式下,對(duì)全局或 Windows 注冊(cè)表其余部分的變動(dòng)仍可以影響這個(gè)用戶。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    欧美一区日韩一区日韩一区| 国产精品视频第一第二区| 欧洲一级片一区二区三区| 中文字幕佐山爱一区二区免费| 亚洲国产精品av在线观看| 日本丰满大奶熟女一区二区| 久久机热频这里只精品| 国产精品乱子伦一区二区三区| 国产午夜精品在线免费看| 毛片在线观看免费日韩| 欧美人妻盗摄日韩偷拍| 黄色美女日本的美女日人| 日本人妻丰满熟妇久久| 国产一区二区三区午夜精品| 欧美国产日本高清在线| 日韩av生活片一区二区三区| 午夜福利视频偷拍91| 亚洲精品偷拍视频免费观看| 亚洲品质一区二区三区| 亚洲天堂有码中文字幕视频| 国产精品熟女乱色一区二区| 欧美日韩精品综合一区| 日韩欧美中文字幕av| 好吊妞视频免费在线观看| 偷拍偷窥女厕一区二区视频| 日本深夜福利在线播放| 偷拍洗澡一区二区三区| 国产偷拍盗摄一区二区| 91偷拍与自偷拍精品| 91麻豆精品欧美一区| 很黄很污在线免费观看| 能在线看的视频你懂的| 熟妇久久人妻中文字幕| 嫩呦国产一区二区三区av| 可以在线看的欧美黄片| 二区久久久国产av色| 国内外激情免费在线视频| 久久黄片免费播放大全| 国产一区二区三区精品免费| 91偷拍裸体一区二区三区| 丰满少妇被猛烈撞击在线视频|