Mac使用Wine运行Windows软件

Mac使用Wine运行Windows软件

Wine简介

什么是Wine?

Wine是“WINE Is Not an Emulator”(WINE不是一个模拟器)的缩写,这种缩写是一种递归缩写,即把缩写本身又放进缩写的意思里面。

Wine 是一个可以在其他系统(比如 macOS、Linux、Android)上运行 Windows 程序的轻量级兼容层。Wine 和虚拟机、模拟器不同,Wine 只翻译 Windows 系统调用,所以应用程序可以获得接近原生程序的性能。依托这个原理,Windows 游戏和应用程序运行时不会占用大量内存,也没有性能损耗,Windows 程序就如同原生程序一般在您的系统高效运行,并且高度集成。甚至在某些情况下,应用程序在 Wine 运行还可以获得比在 Windows 下还要优越的表现。

Wine与虚拟机的区别

Wine与虚拟机不同的是,Wine只是对Windows Api的Linux实现或Mac实现,而虚拟机是对硬件的模拟,简单的说,Wine是一个能让Windows程序在Mac/Linux等系统上运行的工具

Wine的相对于虚拟机的优点:

  • 当你需要打开Windows软件的时候,直接用Wine打开即可,不需要像虚拟机那样先启动虚拟机,所以打开软件的速度上比虚拟机快很多(即使虚拟机只是睡眠了,启动速度也未必有Wine快)。
  • Wine本身占用资源极少,而虚拟机就算不启动程序,也会因为Windows系统本身的启动而占用很多系统资源,直观的反应就是Mac发热增加,风扇呼呼转(如果你在外没有插电源,那么这会让你电池的电消耗的更快,意味着你能用的时间就短了)。
  • Wine让你的感觉Windows软件和Mac是融为一体的,而不是在另一个系统里的,虽然虚拟机的融合模式也能做到这个,但是流畅性并没有Wine的强(这个不是绝对,说流畅性没有Wine强,一个原因是虚拟机占用资源多,另一个原因是我有时候不想用Win软件就把虚拟机睡眠,要用的时候又打开,这么一来一去,有时候恢复会有问题,反正使用体验不好)。

Wine的相对于虚拟机的缺点:

  • 虚拟机可以安装任何系统,进而在安装的系统里安装软件,而Wine只能让你运行Windows软件(因为它本身就是为Windows而生的)。
  • 假如你虚拟机安装的Windows系统,理论上虚拟机能运行任何Windows系统能运行的软件,但Wine并不一定能,可能有些Windows软件无法用Wine启动。

该用Wine还是虚拟机:
看情况,如果你只是想平时运行一个两个Windows软件,那么可以用Wine,如果你需要一个完整的Windows系统来做一些实验之类的那只能用虚拟机,比如我写这篇文章,就是因为我要用网易云音乐上传自己下载的歌到《我的音乐云盘》里,而Mac版虽然有我的音乐云盘,也能听里面的歌,但却没有上传功能,所以我只能用Windows版的,但平时我又不开其它的Windows软件,没必要为了用一个网易云音乐而开一个虚拟机占用这么多系统资源,搞的我电脑发烫、风扇呼呼转。

Wine的种类

事实上Wine只有一种,它的官网是WineHQ,其余四种都是基于Wine的,因为Wine是开源的(Github)。

Wine的开源代码是CrossOver所属公司CodeWeavers开发的,当然后面由于有开源爱好者的加入,所以现在的Wine的源码贡献除了大概2/3来自CodeWeavers,也有大概1/3的代码来自开源代码贡献者。所以CrossOver就相当于Wine的商业版,它是所有Wine里面更新的最快,匹配新系统最快的,这也因为它是收费软件的原因。

WineBottler是一个开发者的业余爱好,所以更新比较慢,PlayOnMac是专注于在Mac上玩Windows游戏的,WineSkin貌似也与WineBottler类似,不过它已经很老了,最新的都在2017年。

在Mac上安装WINE

安装Wine

理论上Wine是可以直接用brew安装的,但事实上我测试了用brew install wine安装的还是sierra的版本,而我现在系统是Mojave,所以还是手动下载Mac WINE安装吧。

其中第一个Stable是稳定版,Development是开发版,而Staging是待发布的,真机测试的版本,是在发布Stable之前模拟测试的版本,由于写本文时发现稳定版跟Staging版版本号相差挺多的,所以我下了Staging版本:
-w761

Wine需要xquartz的支持,如果没有安装xquartz就直接安装Wine会报以下错误(xquartz是苹果系统中支持窗口界面的一个项目):
-w618

所以我们要先安装xquartz,使用如下代码即可安装(当然也可以自己下载安装包来安装):

brew cask install xquartz

用brew安装xquartz的输出信息(到最后一步要输入管理员密码):

brew cask install xquartz
==> Satisfying dependencies
==> Downloading https://dl.bintray.com/xquartz/downloads/XQuartz-2.7.11.dmg
######################################################################## 100.0%^@
==> Verifying SHA-256 checksum for Cask 'xquartz'.
==> Installing Cask xquartz
==> Running installer for xquartz; your password may be necessary.
==> Package installers may write to any location; options such as --appdir are ignored.
Password:
Sorry, try again.
Password:
^@installer: Package name is XQuartz 2.7.11
installer: Installing at base path /
installer: The install was successful.
🍺  xquartz was successfully installed!

安装完xquartz后再双击安装Wine,按下图选择(即让所有用户都可以使用):
-w619

勾选64位支持(避免到时你要用它运行一些64位的软件):
-w623

点击安装:
-w618

安装完后有这个图标:
-w142

但不幸的是,你点击上图的图标并不会有一个Wine的界面跳出来,而是直接弹出一个终端界面,告诉你如果要运行Wine,可以用以下的命令(所以说这是一个只能用命令操作的Wine):
-w573

操作的命令非常简单,wine /path/to/xxxx.exe(即wine命令空一格,然后放上.exe程序的路径,回车即可运行):

################################################################################
#                           Wine Is Not an Emulator                            #
################################################################################

 Welcome to wine-4.13 (Staging).

 In order to start a program:
   .exe: wine program.exe
   .msi: wine msiexec /i program.msi

 If you want to configure wine:
   winecfg

 To get information about app compatibility:
   appdb Program Name

运行winecfg配置wine时,会提示没有相关组件,然后点下载即可:
-w566

安装的过程中会弹出这个(没安装完就弹出来了):
-w474

提示安装就点安装:
-w451

安装好之后,要把wine的命令目录放到环境变量里,在~/.bashrc~/.zshrc中添加以下代码(其中app名字我的是“Wine\ Staging.app”,如果是stable版本,也许是“Wine.app”,总之要保证路径存在):

export PATH=/Applications/Wine\ Staging.app/Contents/Resources/wine/bin:$PATH

再读取一下修改后的配置:source ~/.bashrcsource ~/.zshrc,读取配置后,用which wine命令查看一下是否正确加入了环境变量,如果加入了,那么会有一个路径出来,如果没有加载,那就什么都没有,这样就要检查路径是否对了。

用Wine运行Windows程序

Wine运行windows程序要使用命令运行,命令非常简单:

wine /path/to/xxxx.exe

其实也可以直接右击xxxx.exe然后选择使用Wine打开:
-w709

然后就会显示软件的安装界面,就跟在Windows下一样安装,不过安装路径你可以选,你可以选一个Mac的路径安装,也可以默认安装在C盘,但其实这个“C盘”是在你的用户目录下的.wine目录里面的,不过.wine目录由于是.开头,所以是隐藏目录,默认你是看不见的,要按command+shift+.才会显示(再次按就隐藏回去),这个C盘的路径为~/.wine/drive_c,进去就会发现里面的目录结构是跟真正的Windows的C盘结构是一样的。

下图就是我把网易云音乐安装到C盘后的路径,最终能运行的是cloudmusic.exe那个文件,要运行它,也是一样wine+路径,当然也可以右击它,选择使用Wine.app打开(装Windows版是为了使用它的上传音乐到我的音乐云盘的功能,Mac版没有上传功能):
-w1036

但是按上面的方法,每次要找到它来启动也太麻烦了,所以不建议安装到C盘,而是自己建一个文件夹,比如我在家目录下创建一个文件夹,然后把它拖到方面的左侧栏里:
-w790

然后把所有程序都安装到WineSoftwares文件夹里面,要运行的时候,就找到里面的.exe文件,然后在终端输入wine,空格,然后把这里的.exe文件拽到终端里,回车即可运行。

当然也可以把软件都装到默认的C盘,然后把C盘直接拖到访达左侧,这样也能快速访问到C盘。

在Wine官网有一个AppDB,它是用于记录一些Windows的软件是否已经在Wine上测试过可用,我看貌似没太大参考价值,因为我看上面的网易云音乐是1.9.2测试过,但现在都2.5.5了而且我也能正常用。

安装WineBottler

WineBottler的更新比较慢,都是作者自己晚上业余时间写的,这只是它的hobby(业余爱好),所以支持的Mac系统版本也比较旧(虽然写着支持High Sierra,Mojave的上一个版本,但其实是支持Mojave的),而且这个作者竟然还有微博。
screenshot

下载WineBottler后,按这个安装:WineBottler

安装CrossOver

CrossOver是收费软件,149RMB永久授权,其实不贵,如果要方便,可以买这个CrossOver for Mac 18 简体中文【标准版 + Mac】,这是官网安装教程:如何在 Mac 上安装 CrossOver


参考:Mac下安装与使用Wine4最全指导

打赏

Leave a Reply

avatar

This site uses Akismet to reduce spam. Learn how your comment data is processed.

  Subscribe  
Notify of

扫码在手机查看
iPhone请用自带相机扫
安卓用UC/QQ浏览器扫

Mac使用Wine运行Windows软件