Wine中文版是一款功能強(qiáng)大的虛擬機(jī)。能夠在多種 POSIX-compliant 操作系統(tǒng)(諸如 Linux,Mac OSX 及 BSD 等)上運行。 Wine中文版可以將Windows API調(diào)用翻譯成為動態(tài)的 POSIX調(diào)用,免除了性能和其他一些行為的內(nèi)存占用,讓你能夠干凈地集合Windows 應(yīng)用到你的桌面。
Wine軟件界面
相關(guān)軟件 | 版本說明 | 下載地址 |
---|---|---|
Qemu Manager | 官方中文版v9.0 | 查看 |
VMware Player | 64位 | 查看 |
VM虛擬機(jī)卸載清理工具 | 綠色版 v1.0 | 查看 |
更新日志
新增功能
X11 驅(qū)動新增可選 EGL 后端:EGL 是一種跨平臺接口,常用于 OpenGL 和 Vulkan 渲染。通過啟用 EGL 后端,Wine 可以在某些圖形密集型程序(如 3D 游戲、渲染軟件)中提升性能和兼容性,尤其是在使用現(xiàn)代 GPU 和窗口管理器(如 Wayland、Sway)時。
支持藍(lán)牙低功耗服務(wù):新增對藍(lán)牙低功耗(BLE)服務(wù)的支持,允許游戲手柄、觸控筆等外設(shè)原生進(jìn)行數(shù)據(jù)交換,減少用戶依賴的變通方法。
WIDL 改進(jìn):Wine 接口定義語言(WIDL)現(xiàn)在更好地支持生成 Windows 運行時元數(shù)據(jù),簡化了與較新 Windows API 確保兼容性的過程。
啟用 ARM64 構(gòu)建:在 GitLab CI 中啟用了 ARM64 構(gòu)建,使得在基于 ARM 的系統(tǒng)上測試和部署 Wine 更加容易。
修復(fù)問題
修復(fù)畫面閃爍問題:解決了使用 DXVK 或 VKD3D-Proton 的用戶在 Sway 窗口管理器下遇到的畫面閃爍問題。
修復(fù)內(nèi)存泄漏問題:解決了一個嚴(yán)重的內(nèi)存泄漏問題,該問題在重疊讀取操作中常導(dǎo)致系統(tǒng)資源浪費和程序變慢。
修復(fù) Clip Studio Paint 3.0 崩潰問題:Clip Studio Paint 3.0 用戶不再因找不到 “USER32.dll” 而崩潰。
修復(fù)游戲啟動或過場動畫播放卡住問題:修復(fù)了多個游戲啟動或過場動畫播放時卡住的問題。
修復(fù) Total Commander 11.55 錯誤:修復(fù)了在 Total Commander 11.55 中對大文件進(jìn)行比較時的“訪問被拒絕”錯誤。
其他改進(jìn)
改進(jìn)游戲控制器支持:用戶現(xiàn)在可以選擇性地使用 XInput 或 DInput 映射,線性觸發(fā)器現(xiàn)在適用于兩種映射模式。
自動設(shè)置容器 Locale:新增自動設(shè)置容器 Locale 的功能,用戶也可以在容器編輯界面中調(diào)整設(shè)置。
改進(jìn) OpenXR 支持:改進(jìn)了 OpenXR 支持。
修復(fù) QuestOS V69 上的黑屏問題:修復(fù)了 QuestOS V69 上的黑屏問題。
功能介紹
1. Windows可執(zhí)行文件:
Wine 完全支持 Windows可執(zhí)行文件( .exe 和 DLL)的二進(jìn)制加載。
2. DLL:
Wine 有幾百個 Windows DLL 的內(nèi)部實現(xiàn) -- 不過,其中沒有多少是完全的實現(xiàn)。例如,包含有用戶界面相關(guān)函數(shù)的 userd32.dll 在開放源代碼的 Wine 中實現(xiàn)了 92%。
3. COM:
這是一種幾乎被所有的大型 Windows應(yīng)用程序所使用的 Windows 技術(shù),它支持諸如將一個 Excel 電子數(shù)據(jù)表嵌入到 Word 文檔中等功能。這一技術(shù)得到了 Wine 的很好的支持。
4. 注冊表:
這是另一個幾乎任何一個 Windows應(yīng)用程序都會使用的關(guān)鍵技術(shù),Wine 實現(xiàn)了大約 90% 的 Windows 注冊表管理 API。
5. 核心功能:
核心系統(tǒng)功能也得到了特別好的支持。如前面提到的,盡管 Linux 和 Windows 之間存在區(qū)別,但是基本的層次上還有很多類似之處,因此與進(jìn)程、線程、文件和消息隊列相關(guān)的核心系統(tǒng) API 得到了近乎完美的支持。
6. 音頻和視頻:
Wine 支持 Windows 音頻和視頻文件的運行(還可以使用 Windows媒體播放器)。
7. 打?。?/strong>
也得到了支持,可以從一個在 Wine 中運行的 Windows應(yīng)用程序進(jìn)行打印。
8. ODBC:
Wine 支持那些需要通過 ODBC 訪問數(shù)據(jù)庫的 Windows 應(yīng)用程序。
9. 調(diào)試:
Wine中文版有一個非常健壯和強(qiáng)大的內(nèi)置調(diào)試器,除了支持標(biāo)準(zhǔn)的調(diào)試功能外,它還為調(diào)試運行于 Linux 上的 Windows 二進(jìn)制程序進(jìn)行了定制。它是 Wine 為其開發(fā)者提供的最重要工具之一。Wine 還有一個設(shè)計完備的追蹤和記錄日志的模塊,可以幫助調(diào)試。我們之所以強(qiáng)調(diào)這一點,原因在于,盡管框架是健壯的,但是,當(dāng)在 Wine 中安裝和運行 Windows應(yīng)用程序時有很多不確定因素,在使用開放源代碼的 Wine 時遲早會停下來進(jìn)行調(diào)試。
不能做什么
不幸的是,很多用戶發(fā)現(xiàn) Wine 難于使用。誠然,在 Linux 上使用類似于 MS Office 這樣的應(yīng)用程序可能是困難的;在這里我們來看一些原因,為什么確實是這樣。在開始之前,我們應(yīng)該指出,CodeWeavers 提供的商用 Wine (CrossOver)已經(jīng)解決了大部分此類問題(參閱參考資料以獲得鏈接)。假以時日,這些問題將可能在開放源代碼的 Wine 中同樣得到解決。
1. 使用命令行(早期版本)
與大部分 Linux 中的應(yīng)用程序一樣,在開發(fā)早期 Wine 必須在命令行中安裝。用戶必須回到命令行中來在 Wine 下運行應(yīng)用程序。例如,要運行Internet Explorer,用戶通常需要在 shell 中輸入 wine IEXPLORE.EXE 。盡管經(jīng)驗豐富的用戶喜歡這樣做,但初學(xué)者會發(fā)現(xiàn)這比較困難,而且不太可能懂得起別名等快捷方式。不過,在較新的版本中用戶也可以直接雙擊EXE文件運行(如果進(jìn)行了關(guān)聯(lián))。盡管這樣會給查看錯誤信息帶來困難,但這無疑極大地方便了用戶的使用。
2. 配置
Wine 的配置較為復(fù)雜。除了命令行,較新的版本已經(jīng)有了簡體中文的界面,對于初學(xué)者來說,配置簡單了不少。
3. 取消對隱藏文件的隱藏
如果掛載 CDROM 時沒有使用專門的 unhide 選項,那么安裝 CD 上的隱藏文件可能會無法找到,從而導(dǎo)致安裝失敗。
4. 額外的調(diào)整過程
Wine 安裝很少能直接使用(對它來說也就是從 tarfile 解開)。通常需要進(jìn)行全面的調(diào)整;例如,一個程序的安裝可能與您在配置文件中設(shè)置的 Windows 版本不相容;而修改那個版本又可能會影響一些已安裝的應(yīng)用程序。對很多 DLL 來說也是如此。為此,Wine 提供了一個巧妙的修復(fù),讓您可以設(shè)置特定于應(yīng)用程序的屬性,不過,一般的用戶可能不會像我們一樣滿意。
5. 額外的安裝步驟
大部分應(yīng)用程序的安裝過程都不是標(biāo)準(zhǔn)的。例如當(dāng)我們安裝 Internet Explorer 6 時,必須跳過一些步驟,比如 DCOM98 的定位與安裝。對用戶來說,這類事情可能是最大的障礙。
注意,這些并不是病癥,而是舉例說明了是哪些種類的事情導(dǎo)致對一般用戶來說 Wine 看起來復(fù)雜而且困難。
更多 Wine 所不能做的
看完 Wine 的可用性問題后,讓我們來總結(jié)在嘗試使用 Wine 時一些常見的技術(shù)問題。
1. 缺少 DLL
這可能是最常見的問題:很多安裝由于缺少 DLL 而失敗,這時需要熟練使用調(diào)試器來決定下一步(稍后將深入討論調(diào)試器)。解決問題的最佳方法是由錯誤信息尋找到所需的DLL,并進(jìn)行安裝。這些都可能難倒初學(xué)者。
2. DLL 版本問題
一些安裝程序在開始之前會檢查現(xiàn)有的系統(tǒng) DLL。Wine 解決這一問題的方法是,創(chuàng)建假 DLL 以滿足安裝程序的需要。不過,有一些安裝程序會更進(jìn)一步并深入檢查 DLL 以獲得它們的版本。這對假的 DLL 來說要求太高了,會導(dǎo)致安裝失敗。
3. DLL 加載次序
Wine 有對很多 Windows DLL 的實現(xiàn),而且如果可用,它還可以使用原始的 Windows DLL。如果兩種 DLL 都可用,在初學(xué)者看來應(yīng)該選擇總是使用 Windows 自己的 DLL,但實際上 Windows DLL 有時會包含不能被滿足的依賴。要確定是更應(yīng)該使用 Wine 的 DLL 還是應(yīng)該使用本機(jī) DLL,惟一的方法是,基于各個應(yīng)用程序反復(fù)進(jìn)行試驗。
4. DLL 中的函數(shù)
當(dāng)一個 Wine DLL 沒有實現(xiàn) Windows 中相應(yīng)的 DLL 的全部功能時,應(yīng)用程序可能會遭遇函數(shù)調(diào)用失敗。由于 DLL 是動態(tài)加載的,可能沒有辦法事先知道會發(fā)生這樣的事情。這是一個復(fù)雜的問題,有一些可做的工作,但最終實際來說它只是取決于應(yīng)用程序的代碼如何編寫。
有一些因素會減輕這些問題。一方面,您可能會一個一個地遇到這些問題,而不是一次遇到全部問題,這樣處理起來要容易些。另外,您遇到的那些問題可能其他人曾遇到過并已經(jīng)解決(而且解決方案已經(jīng)公布出來)。Wine 用戶組非?;钴S,會提供許多幫助,每周一次的 Wine 時事通訊(參閱 參考資料)是極好的信息資源。
Wine 中還沒有實現(xiàn)的 Win32 API
在 Wine 中,很多 Win32 API5 的函數(shù)是殘缺不全的。最常見的原因是,相當(dāng)多的 Win32 API 并沒有被文檔化。這就意味著一個特別的應(yīng)用程序可能會調(diào)用某個函數(shù),而完全沒有關(guān)于此函數(shù)的可用資料。例如,我們在運行一個簡單的 RPC 程序時發(fā)現(xiàn)了 RtlAnsiCharToUnicodeChar 這個函數(shù)。在 MSDN 上的搜索結(jié)果顯示沒有關(guān)于這個函數(shù)的資料,而且沒有關(guān)于所有 RtlXXXX 類別函數(shù)的資料。因此,如果它們在 Wine 中的實現(xiàn)對一些應(yīng)用程序來說至關(guān)重要,那么人們可能只有去猜測它們的行為了。
FAQ
問:Linux下wine是怎么使用?
答:一、要在Linux下運行Windows程序,wine是必不可少的,所以,請將wine安裝到你的系統(tǒng)里。
二、將你的Windows所在的分區(qū)加載到某個目錄。(本文假定這個目錄是/mnt/c).
三、修改wine.conf。這也是最關(guān)鍵的步驟。在wine.conf里,系統(tǒng)默認(rèn)有五個驅(qū)動器:
A,軟驅(qū),對應(yīng)于軟驅(qū)在Linux下的載入點/mnt/fd0;
C,windows所在的分區(qū),對應(yīng)于 /c;
D,CD-ROM,對應(yīng)于/cdrom;
E,臨時分區(qū),對應(yīng)于/tmp;
F,網(wǎng)絡(luò)驅(qū)動器。
首先,你必須指明你的Windows所在路徑,否則,wine是不會工作的。用任意文本編輯器打開/etc/wine/wine.conf,找到 [Drive c],將Path=/c改為Path=/mnt/c。如果其他驅(qū)動器所對應(yīng)的路徑與你的系統(tǒng)中的載入點不同,你應(yīng)將它們改為你系統(tǒng)中實際的路徑。至此, wine基本上可以運行了。運行"wine Winamp.exe",Winamp就能運行了,當(dāng)然,你的系統(tǒng)必須能夠發(fā)聲。此時,如果你在Winamp中打開某個文件,你就會發(fā)現(xiàn)選擇路徑的下拉框中只有 A,C,D,E,F四個驅(qū)動器可選。如果你想像在Windows下一樣方便地使用它,你必須將所有的分區(qū)映射到相應(yīng)的驅(qū)動器名。格式為:
[Drive M] (M為驅(qū)動器名,如,c,d,e,f...)
Path=/xyz (/xyz是分區(qū)在Linux中的載入點)
Type=abc (abc是驅(qū)動器的類型,軟驅(qū)為floppy,硬盤為hd,光驅(qū)為cdrom,網(wǎng)絡(luò)為net)
Label=labelname(labelnemae為卷標(biāo))
Filesystem=win95
Device=/dev/hdxy(x是物理硬盤驅(qū)動器的編號,第一主盤為a,第一從盤為b;y是邏輯分區(qū)編號,主分區(qū)為1,邏輯分區(qū)從5開始。例如,我的系 兄揮幸桓鲇才蹋 ? 為/dev/hda1, d為/hda5,e為/hda6...) 。當(dāng)然,如果在某個地方插入一個驅(qū)動器,其后的驅(qū)動器也應(yīng)做相應(yīng)的修改。
最后,找到[wine],對Temp=e:,Path=c:wineows;c:windowssystem;e:;e:test;f: 中的驅(qū)動器名做相應(yīng)的修改,使它們指向正確的路徑。
完成上述修改后,再運行"wine Winamp.exe",就跟在Windows下使用它一樣方便了。
使用技巧
Wine可以在絕大多數(shù)的Unix/Linux版本下工作,但其現(xiàn)在仍不能完全運行所有的Windows程序。不過由于幾乎每個月都有新版本,越來越多的Windows程序已經(jīng)能在Wine的幫助下在Linux中運行。
1、直接運行程序
使用命令 wine
[root@localhost root]#wine <程序名>
2、使用程序管理器
[root@localhost root]#progman
啟動管理器窗口,從菜單中選擇 文件(F)-執(zhí)行(X),就會彈出一個目錄瀏覽器,選擇程序即可。
3、直接雙擊 EXE 程序
一些發(fā)行版安裝WINE時會自動關(guān)聯(lián)EXE程序,這樣直接雙擊可以運行。
某些簡單程序可直接運行,而不需要安裝。大部分Windows軟件的安裝,請由Wine打開安裝包(exe文件)然后和Windows下以同樣的方法安裝程序即可。這樣安裝的程序應(yīng)當(dāng)會在桌面環(huán)境的程序列表中自動添加快捷方式(和Windows下的快捷方式類似),選擇即可運行程序。
▲注意:Wine運行某些程序,如MS Office、迅雷、QQ、某些游戲等的兼容性仍不完善。要正常使用此類軟件,可以以完全的虛擬機(jī)代替(如Virtualbox、VMWare),或者在網(wǎng)上搜索查找已知的解決方法或針對特定軟件的安裝包。
1、安裝虛擬根目錄安裝程序。
sudo apt-get install dchroot debootstrap
2、修改虛擬根目錄的配置 sudo vim /etc/schroot/schroot.conf,在文件末尾添加一下內(nèi)容
[precise]
description=Ubuntu trusky
directory=/var/chroot
users=當(dāng)前用戶名
groups=sbuild
root-groups=root
保存退出
3、使能chroot
sudo debootstrap --variant=buildd --arch=i386 trusky /var/chroot http://archive.ubuntu.com/ubuntu/
拷貝wine代碼到 /var/chroot里面
4、切換到chroot模式
sudo chroot /var/chroot/
5、這個時候會看到root@xxxxx
進(jìn)入wine代碼目錄 運行:
./configure
make
make install
在運行./configure的過程中,如果提示缺什么庫就安裝什么庫。這里先隨便給出幾個。
sudo apt-get install apt-utils xorg-dev flex bison libGLU-dev libOSMesa-dev libpcap-dev libncurses-dev libsane-dev liblcms2-dev libpulse-dev libopenal-devlibldap2-dev gettext libxml2-dev libxslt1-dev libgnutls-dev libpng12-dev libdbus-glib-1-dev libgphoto2-2-dev libudev-dev libgirepository-1.0-1 gir1.2-glib-2.0 gir1.2-gstreamer-1.0 gir1.2-gst-plugins-base-1.0 libv4l-dev libgphoto2-dev
6、啟動wine以后要按照提示安裝 mono grecko
7、安裝字體補(bǔ)丁
軟件特別說明
Wine運行某些程序,如MS Office、迅雷、QQ、某些游戲等的兼容性仍不完善。要正常使用此類軟件,可以以完全的虛擬機(jī)代替(如Virtualbox、VMWare),或者在網(wǎng)上搜索查找已知的解決方法或針對特定軟件的安裝包。