如何安装和配置Wine?

我正在寻找一步一步的指导,指导我在安装,配置和调试新用户在Ubuntu中处理Wine时遇到的许多问题。

安装Wine的推荐方法是什么,它有一些关键问题以及如何解决它们?

如果我对Wine in App有特定问题,我该如何解决? 确保我可以修复与我希望使用的应用程序相关的问题的建议步骤是什么?

如果您想使用Wine的最新开发/暂存版本,请务必遵循Ubuntu官方WineHQ指南中的指南 ,基本涵盖:

  • 如果您使用的是64位架构,则启用32位以获得更好的兼容性

    sudo dpkg --add-architecture i386 
  • 添加Wine Key,Wine Repository和Update Repositories

     wget -nc https://dl.winehq.org/wine-builds/Release.key sudo apt-key add Release.key sudo apt-add-repository https://dl.winehq.org/wine-builds/ubuntu/ sudo apt update 
  • 然后安装您想要使用的Wine版本:

    • 基于葡萄酒开发(稳定) (例如:3.0)

       sudo apt install wine-stable winehq-stable 
    • 基于葡萄酒开发(测试阶段) (例如:3.1)

       sudo apt install wine-devel winehq-devel 
    • 基于葡萄酒分期(出血边缘) (例如:3.1.1)

       sudo apt install wine-staging winehq-staging 

    最后运行

     WINEARCH=win32 winecfg 

    在终端中确保它正确配置Wine(按此顺序)。 您还需要安装winetricks (另一个配置包,对于安装.NET Framework和其他所需库等Windows组件非常有用)。 所以在此之后,请执行:

     sudo apt install winetricks 

video演示显示葡萄酒1.9.X在行动 – 葡萄酒1.9.X表现

1. Wine Stable,Development和Staging版本之间的差异

稳定版本提供更少的错误,更好的稳定性,并在发布后每3-6个月接收更新。

开发版是开发中的下一个稳定版本,每两周收到一次更新。

暂存版本与开发版本相同,但包括Wine-Staging中的所有补丁和增强function

坚持稳定版本(偶数版本:1.0,1.2,1.4 ……)或不稳定版本(奇数版本:1.1,1.3,1.5 ……)的决定取决于用户,主要区别兼容性和性能在开发版本中都得到了增强。 您可以获得它提供的最新修补程序,并且还可以成为可以帮助开发周期的测试人员。

2.安装推荐的稳定葡萄酒版本(来自PPA)

在终端中键入以下内容以添加Wine PPA,更新存储库以及安装最新的Wine&Winetricks版本:

 wget -nc https://dl.winehq.org/wine-builds/Release.key && sudo apt-key add Release.key && sudo apt-add-repository -y https://dl.winehq.org/wine-builds/ubuntu/ && sudo apt update && sudo apt install wine-devel winehq-devel winetricks 

或者你可以包括Wine 32-Bit Arch(更好的支持)和配置winecfg(这应该只适用于新的安装,因为它会将现有的Wine安装移动到名为winebck的文件夹):

 sudo dpkg --add-architecture i386 && wget -nc https://dl.winehq.org/wine-builds/Release.key && sudo apt-key add Release.key && sudo apt-add-repository -y https://dl.winehq.org/wine-builds/ubuntu/ && sudo apt update && sudo apt install wine-devel winehq-devel winetricks && export WINEARCH=win32 && winecfg 

3.如何知道应用程序需要哪些组件

要了解应用程序需要哪些组件,请查看Wine应用程序数据库 。 它列出了应用程序是否可用,它需要哪些组件以及如何安装它们。

4.如何在Wine中安装其他组件,DLLS和库

为了为您的游戏和应用程序提供工作和增强的Wine环境,我建议您使用winetricks安装其他组件,以提供更好的游戏兼容性。 为了有一个更好的工作系统,下面是HL / HL2的示例(非Steam。对于Steam版本,请转到此处: 如何安装Steam?。知道Ubuntu本身支持Half-Life和HL2):

要玩HL / HL2,您需要如上所述的Wine PPA。 在终端上打开winetricks至少一次后,通过运行winetricks --gui打开winetricks --gui然后按照以下步骤操作:

选择选择默认的wineprefix

在此处输入图像描述

选择“ 安装Windows DLL或组件”

在此处输入图像描述

安装我标记的所有内容(以及您需要的任何其他内容)。 这涵盖了许多应用:

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

右键单击HL / HL2的安装程序,然后选择Open with Wine 。 两款游戏都应该完美运行 这通常适用于应用程序,根据应用程序,您需要安装更多或更少的组件。

您还可以通过在winetricks命令之后添加组件的名称来在终端中安装每个组件:

winetricks vcrun2010 – 将使用winetricks安装vcrun2010

winetricks xna40 – 将安装xna40

5.对Wine App进行故障排除

有时,运行App时,可能会发生以下一种或多种操作:

  • 冷冻应用程序
  • Wine打开蓝色窗口片刻,然后关闭它
  • 似乎没有任何事情发生
  • 在Wine窗口内,一切都是黑色的开始或某个时刻
  • DLL,video卡或组件无法识别

    对于大多数这些问题,有解决方案。 以下是您开始对Wine应用程序进行故障排除的建议步骤:

    1. 始终访问Wine App Site以查看其他测试人员为使App正常工作所做的工作。 例如,我在测试Dead Island:Riptide ,我选择了角色,然后整个游戏进入黑屏,我给了它一个青铜。 我做了什么来测试发生的事情是去终端并从那里运行游戏。 在终端中,一些错误表明我错过了一个重要的游戏工作。 在阅读错误输出并执行其建议(替换损坏的DLL)之后,我可以安装游戏所需的组件并且游戏完美运行 。

    2. 了解游戏需求对于让游戏正常运行至关重要。 设置winecfg选项和操作系统环境只是一小部分。 这只是为应用程序创建环境。 您需要添加其他function,如DirectX,XNA,.NET Framework以及应用程序可能需要的更多function才能工作。 这些是某些应用的关键组件。 没有它们,即使一些应用程序正常工作,其他人也不会。 确保您拥有所有这些组件,这使您有更高的机会来满足应用程序的需求。

    3. 正如您在死岛测试中看到的,我添加了几个winetricks包,并且还安装了游戏附带的3个包(DirectX,Windows Media Format和Microsoft Visual C ++ 2010)。 有了这个,我设法保证游戏将开始并可玩。

    4. 某些应用程序仅为某些Windows版本创建,如Dungeon Keeper所示 。 要为特定应用程序指定特定Windows版本,可以打开winecfg导航到Applications并选择Add Application ,然后搜索应用程序可执行文件并单击Open 。 现在从列表中选择应用程序,然后为其更改Windows版本。 这样,只有此应用程序将为其分配特定版本的Windows,而不是全局更改所有应用程序的Windows版本。

    5. 全局更改Windows版本可能会影响使用其他Windows版本安装的应用程序。 例如,在Windows XP环境中安装Terraria然后在播放到Windows 7后更改它将给您带来两个错误之一,一个是找不到已保存的游戏,另外两个没有运行应用程序。

    6. 运行一个应用程序来诊断通过终端可以解决的问题,这是了解应用程序正在做什么或需要什么的最佳方式。 该应用程序可以告诉您以下信息:

      • 它需要运行什么DLL(mscore.dll,steam_api.dll)
      • 它需要运行什么缺少的组件(XNA,DirectX,.NET …)
      • 如果问题是您使用64位环境而不是32位
      • 如果您需要为要运行的应用添加参数

      对于丢失的DLL,我建议使用DLL文件来下载APP所需的特定DLL。 通常,您可以将此DLL粘贴到游戏文件夹或Windows / System32文件夹(或两者)中,这应该可以解决问题。 对于缺少的组件使用winetricks

    7. 在对应用程序进行故障排除时,始终在模拟的桌面窗口中运行应用程序。 打开winecfg转到Graphics并启用Emulate a Virtual Desktop 。 然后为它设置分辨率。 这样,如果应用程序冻结,劫持键盘和/或鼠标焦点,至少你有办法消除应用程序而不是全屏显示你几乎没有选择:

      在此处输入图像描述

    8. 对于全屏应用程序的冻结情况,我建议激活键盘布局窗口中的“杀死X”function,这可以在您尝试退出冻结的Wine应用程序时节省几秒钟的时间:

      在此处输入图像描述

    9. 退出冻结状态的另一种技术是打开终端并输入wineserver -k或者杀死X服务器。 要做到这一点,首先通过运行sudo dpkg-reconfigure keyboard-configuration配置它,并在那里讨论杀死X的最后一个选项,说“是”。 这将启用CTRL + ALT + BACKSPACE组合。

    10. 请记住,如果某个应用程序在Windows中需要最低或推荐的硬件要求,那么在Linux上也需要相同的硬件要求。 如果应用程序需要512 MB的RAM和2.0 Ghz的CPU,那么在Linux上使用Wine需要相同的内存。

    11. 有时您会遇到ISO或任何其他无法打开或安装的图像格式的应用程序。 Ubuntu附带了几个打开这个文件的工具,但到目前为止我所尝试的最好的是CDEMU,它涵盖了带有多扇区或受保护格式的几种图像。 这是你最接近DAEMON Tools的东西。 只能使用此应用程序打开和安装像Sims 3,Simcity 2000等其他案例。 有关能够以多扇区或受保护格式安装/卸载CD / DVD映像的应用程序中的更多信息

    12. 对于特定应用程序未运行,显示图形故障,黑屏或未运行完整图形的情况,我实际上建议您阅读适用于最终用户以获得video支持的以下链接之一:

      Nvidia用户 – 如何安装Nvidia驱动程序?

      Hybrid – Ubuntu是否支持采用Optimus技术的NVIDIA GeForce?

      Ati – 直接从AMD安装专有ATI Catalystvideo驱动程序(fglrx)的正确方法是什么?

      除了检查上面的内容,如果你有正确的驱动程序,我还要补充一点,你需要检查你的video卡是否支持OpenGL。 为此我首先安装mesa-utils如果尚未安装:

      sudo apt-get install mesa-utils

      测试OpenGL支持。 只需运行一个检查,看看你是否有OpenGL支持:

      glxinfo|grep 'direct rendering'

      如果你有支持,应该说是的 。 另一种选择是:

      /usr/lib/nux/unity_support_test -p

      最后,您可以运行glxgears来了解video卡的呈现方式以及渲染的FPS。 另一个非常重要的一点是从终端运行应用程序,如wine AppName.exe ,这样它将显示问题所在。

    13. 如果Unity Launcher在运行Wine应用程序时没有隐藏自身,或者正在向右移动应用程序,则可以执行以下两项操作之一:

      • 按住ALT键并单击并将Wine拖到左侧

      • 在外观选项中选择“自动隐藏启动器”并将灵敏度设置为您喜欢的级别。 这样,当鼠标离开它的区域时,启动器将隐藏。

      在此处输入图像描述

    14. Shader Model 3.0在Wine(包括Steam游戏)中无法识别

      有些游戏需要Shader Models并输出类似于Required OpenGL扩展GL_EXT_texture_compression_s3tc的错误。 要解决此问题,只需在终端中键入以下内容:

sudo apt-get install libtxc-dxtn-s2tc0 (注意不再需要最新版本的Ubuntu libtxc-dxtn-s2tc0

从无法播放新游戏的日子开始,葡萄酒已经走过了很长的路。 它已经到了Ubuntu轻松玩的地步。 Wine甚至对Wine 1.6上的SM4.0和DirectX 10/11提供了一些支持。 如果问题仍然存在,则意味着您的video卡不支持此function,或者您缺少正确的库。

Wine可能无法检测到Shader模型的另一个原因是因为它可能在Winetricks中设置为Disabled 。 打开Dash并输入winetricks 。 选择wineprefix,然后选择Change Settings 。 然后查找glsl = enabled选项并选择它。 这应该解决着色器模型问题。 像Limbo这样的游戏就是通过这种方式解决的。

6.如何使用相同的窗口打开多个Wine应用程序(重叠)

您可以在启动每个Wine程序之前通过调整一些Wine参数来设置多个Wine窗口。 最快的方法是打开要运行的应用程序的可执行文件所在的终端。 我们假设它是Wow.exe应用程序。 然后只需输入以下内容:

 wine explorer /desktop=WOW,1024x768 "Wow.exe" -opengl -console 

这将打开Wow.exe可执行文件,其窗口标题为“WOW”,该特定Window的分辨率为1024×768,它会将参数-opengl和-console应用于Wow可执行文件。 现在假设您已将游戏安装在其他位置,您将进行以下更改:

 wine explorer /desktop=WOW,1024x768 "/media/cyrex/fun/wow/Wow.exe" -opengl -console 

这将执行Wow.exe,假设它位于/ media / USER文件夹中名为fun的分区内的文件夹哇。 运行例如4个应用程序时,输出应类似于此:

葡萄酒

有一种更简单的方法来实现这一目标。 我们的想法是通过右键单击桌面并选择“ 新建文档” – >“ 空文档”来创建桌面快捷方式。 这应该在您的桌面上创建一个“无标题文档”文件。 现在打开文件并粘贴以下内容:

  [Desktop Entry] Type=Application 

现在保存它并将文件重命名为要打开的应用程序,但最后添加“.desktop”。 它将变成“可执行的Windows图标”。 现在再次右键单击图标,然后转到属性 – >权限 – >激活允许执行文件作为程序 。 现在转到基本选项卡并插入执行该wine应用程序所需的信息。 最终结果应该是这样的:

在此处输入图像描述

7. Ubuntu 64位是否会影响Wine

是的,拥有Ubuntu 64 Bit也会将Wine设置为64位。 这将为许多只能在32位上运行的Windows应用程序创建几个问题,例如无法安装多个.NET框架,因为它们只能在32位版本上运行,这将导致用户无法运行运行许多Windows应用程序。 要解决此问题,您需要在成功安装PPA版本后执行以下操作,如上所述。 立即安装PPA葡萄酒包并在打开winecfg之前打开终端(通过键入cd ~确保您在主文件夹中)并输入以下内容:

 rm -fr ~/.wine export WINEARCH=win32 export WINEPREFIX="/home/USER/.wine" winecfg 

使用您的用户帐户更改USER 。 例如在我的情况下,该行将读取export WINEPREFIX="/home/cyrex/.wine"

使用此方法,您已将Wine体系结构更改为32位,并且在您打开Winecfg时,它将配置所有可用于32位的Windows版本。

8.葡萄酒PPA的替代品

PlayOnLinux(PoL)

虽然您可以使用Wine实际安装和配置所需的一切,但使用PoL补充应用程序(winetricks,regedit,explorer)可以为您在安装应用程序时省去一些麻烦和时间。 使用PoL,您可以找到可以在其数据库中选择并安装的应用程序列表:

在此处输入图像描述

只需选择安装即可获得以下好处:

  • 创建一个独立的容器来保存应用程序,安装了应用程序的特定Wine版本(在某些情况下,特定的Wine版本比特定的应用程序更适合当前的Wine版本)。

  • 自动安装应用程序需要正常运行的任何其他DLL和组件。

  • 添加应用程序所需的相应注册表项

  • 创建一种运行多个应用程序的独立方式,不会因为Windows版本更改,注册表更改,特定Wine版本等而相互重叠。

    当然,重要的是要知道PoL与Wine并排工作,它需要Wine才能正常工作(它基于它)。 在许多情况下,应用程序可能无法使用PoL,但可以使用我在本指南中提到的默认Wine配置。 因此,如果您找到要在PoL中使用的应用程序,那就太好了。 但如果您没有找到它,请记住您始终可以使用默认的Wine来安装和配置应用程序。

    使用Wine安装应用程序并使用PoL安装它的好处是,使用Wine,您可以使用DASH访问和执行应用程序,如下图所示:

    在此处输入图像描述 (见方的陆族)

    在此处输入图像描述 (死亡空间和死岛)

    CodeWeavers CrossOver(CC)

    CC与如何安装和配置应用程序的PoL非常相似。 主要区别在于CC提供官方支持。 他们甚至拥有自己的CodeWeavers数据库 ,该数据库拥有超过10,000个以上的应用程序。 不仅如此,他们的排名系统与Wine的AppDB相似。 他们也为Wine的开发做出了贡献,其中一些你可以在他们的支持中看到。

    DosBox(DB)

    数据库是MS-DOS应用程序,因为Wine是Windows应用程序。 使用DB,您可以在系统中运行MS-DOS应用程序。 只需安装dosbox软件包即可完成。 运行应用程序就像转到应用程序所在的文件夹并执行以下操作一样简单:

    dosbox ./

    这将打开当前文件夹作为数据库环境中的驱动器号。

    您也可以在打开DB后执行以下操作来装入文件夹:

    mount x: /Absolute/Path/To/Folder/Of/App

    例如

    mount c: /home/cyrex/Desktop/Dune2

    将创建包含Dune2文件夹的C:Drive letter。 因此,如果我只是执行dune2.exe,我会得到以下内容:

    在此处输入图像描述

9.我可以使用Wine的一些特殊参数和提示

有一对,例如:

COMMANDS

wine --version – 显示葡萄酒的版本

wineserver -k – 为特定用户杀死所有葡萄酒版本。 如果您的Wine应用程序被冻结,占用整个屏幕并且不允许您使用Ubuntu,鼠标或键盘专注于它以及某些应用程序可能出现的其他Wine问题,这将非常有用。

wine explorer – 将打开类似于Windows资源管理器的资源管理器

wine explorer /desktop=X,Y – 创建一个虚拟桌面,其中X是桌面窗口的名称, Y是窗口的分辨率。 例如: wine explorer /desktop=WOW,1024x768 Wow.exe

regedit – 将打开类似于Windows的Regedit版本的Wine。

wine uninstaller – 将打开类似于Windows中的Wine的Add&Remove。 在这里,您不仅可以查看已安装和卸载的应用程序,还可以根据需要安装新应用程序。

winetricks – 将打开winetricks应用程序以安装缺少的库,DLLS和组件,这对于许多Windows应用程序的正确function至关重要。

winecfg – 将打开Wine Configuration,您可以在其中设置Video,Sound和Windows版本。

wine ipconfig – 显示Wine可以看到的IP。 与ipconfig类似。

wine netstat – 显示所做的IP /端口连接。 与netstat类似。

wine start – 设置可执行文件的工作目录。 此选项有助于在可执行文件仅在同一文件夹而非完整路径中运行的情况下。 例如,如果您想运行.bat文件或只是从另一个文件夹(例如:父文件夹)执行命令,您可以执行类似这样的操作,假设我们与MetroLL.exe不在同一文件夹中:

  `wine start /d "C:\\Program Files\\GMT-MAX.ORG\\Metro Last Light" MetroLL.exe` 

这将做两件事,它将首先将目录设置为Metro Last Light文件夹,然后它将运行MetroLL.exe提到的MetroLL.exe 。 这与从同一文件夹运行可执行文件类似,但它具有从任何其他位置运行应用程序的优点。 这里要知道的是:

  • Wine不喜欢Unix路径,所以你需要用\\而不是\来分隔文件夹
  • 您需要使用绝对路径。 您需要从C:\\开始,以确保可执行文件始终按预期工作。
  • 如果可执行文件位于C:驱动器之外,则添加相应的字母。 例如,要在Wine之外执行Windows二进制文件,您将使用Z:\\字母,因为Z:通常指向Linux系统的根目录。
  • 如果有疑问请求命令寻求帮助/? 参数,(例如: wine start /?

export WINEPREFIX – 此变量用于将Wine Prefix更改为其他位置。 例如,如果您希望合并PoL和Wine(不推荐,因为PoL有多个前缀),您可以执行以下操作:

  `export WINEPREFIX="/home/USER/.PlayOnLinux/wineprefix/PREFIX"` 

其中PREFIX是您要与Wine合并的地方。 你必须再次运行winecfg。

提示

  • 当处理具有空格的文件夹(例如:魔兽世界)时,您可以通过在每个空格前面添加\符号来执行Wow.exe文件,这会使符号失效。 最终结果将是“World \ of \ Warcraft \ Wow.exe”。 如果您不想将此转义符号添加到您的代码行,只需双引号整个链接,如下所示:

    wine explorer / desktop = WOW,1024×768“/ media / cyrex / My Partition / World of Warcraft / Wow.exe”-opengl -console

    正如你所看到的,有2个文件夹中有空格,“我的分区”和“魔兽世界”,但由于我引用了整个字符串,因此不需要包含转义字符。 如果你想使用Wine Path(例如:C:/),则所有斜杠都是双斜杠(例如:“C:\ Program Files \ App”)。

  • 应用于应用程序的参数应始终位于带引号的字符串之外。 使用上面的示例,我们可以在引号外看到-opengl-console

  • 在处理抓住鼠标和/或键盘的应用程序时,您可以使用wineserver -k来杀死应用程序,或者只是在Windows模式下打开应用程序或使用wine explorer /desktop参数设置Windows模式将使您免于有这个鼠标/键盘问题。

10.稳定性,性能和应用程序支持Wine为最终用户提供

应用程序支持

我从2005年开始尝试Wine,看看Ubuntu下Wine的开发过程如何迅速赶上最新的游戏。

在Wine 1.2于2012年问世之前,很难让许多应用程序在Wine上运行,但在Wine 1.2问世之后,这是一个完全不同的结果。 在2012年出现1.4后,2013 年为1 .6 ,2015年为1.8,情况更是如此。 许多案例开始出现在开箱即用的地方。 像Deep Space 2这样的案例是我当时可以玩的最新游戏之一,也是我在发布后3天测试的。 爱丽丝梦游仙境(我的意思是新的),模拟人生3,魔兽世界,失忆症等。 甚至可以玩天际。 这些是需要强大图形的游戏,除了上面提供的正常安装之外,您可以使用很少甚至没有其他设置来播放它们。

要了解您可以在Wine上玩哪些游戏,我建议您访问Wine App数据库: http : //appdb.winehq.org/ ,其中包含超过10K +。 这包括有关其性能和稳定性的信息,它有助于了解游戏是否可玩。

Wine App数据库还提供了一个排名 ,可以确定哪些游戏可以播放更少的问题(如果有的话)。 当你看到这个排名时,你就知道应用程序是否有效。 请注意,您还需要考虑测试仪在Wine Database上显示的硬件和Wine版本。 排名如下:

白金等级 – 意味着你有几乎100%的机会开启应用程序。

黄金等级 – 意味着您可能会发现自己正在进行一些配置,但最终会有效。

银级 – 表示应用程序将运行,但可能存在图形,声音或控件问题。

青铜排名 – 意味着该应用程序将无法正常工作。

垃圾等级 – 意味着应用程序仍无法正常工作,甚至可能无法安装。 你能让它发挥作用的唯一方法就是当超人在早上开始吃氪星谷物时。

作为参考,几年前白金游戏的数量少于50个。2012年你可以找到超过1.5K的游戏 ,其中近200个在最新的游戏中 。 今天有超过6K +游戏,其中4K +是白金。 参与测试Wine应用程序的人越多越好。 主要原因我总是建议使用Wine的PPA。

性能

有关性能信息,请参阅Windows和Ubuntu之间的游戏性能差异

11.如何卸载Wine

根据您的需要,可以通过两种方式卸载Wine。 如果您只需要将Wine“重置”为默认值,则只需删除.wine文件夹,然后通过运行winecfg再次创建它。 如果您要备份的.wine文件夹上有应用程序,那么现在是删除文件夹之前的好时机。 要删除文件夹,只需执行以下操作,它将处理整个Wine环境:

rm -fr ~/.wine
rm -fr ~/.cache/wine

现在,如果您想从Ubuntu实际卸载Wine,您可以执行以下操作,但请注意,这不会删除您的.wine或缓存文件夹:

sudo apt purge wine*

这将卸载与葡萄酒相关的所有包装,包括葡萄酒,wine1.9,winehq,winetricks等。 基本上去除与葡萄酒有关的任何东西