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的相对于虚拟机的优点:
Wine的相对于虚拟机的缺点:
该用Wine还是虚拟机: 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安装的,但事实上我测试了用 其中第一个Stable是稳定版,Development是开发版,而Staging是待发布的,真机测试的版本,是在发布Stable之前模拟测试的版本,由于写本文时发现稳定版跟Staging版版本号相差挺多的,所以我下了Staging版本: Wine需要xquartz的支持,如果没有安装xquartz就直接安装Wine会报以下错误(xquartz是苹果系统中支持窗口界面的一个项目): 所以我们要先安装xquartz,使用如下代码即可安装(当然也可以自己下载安装包来安装): brew cask install xquartz Bash Copy 用brew安装xquartz的输出信息(到最后一步要输入管理员密码): brew cask install xquartz ==> Satisfying dependencies ==> Downloading https://dl./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,按下图选择(即让所有用户都可以使用): 勾选64位支持(避免到时你要用它运行一些64位的软件): 点击安装: 安装完后有这个图标: 但不幸的是,你点击上图的图标并不会有一个Wine的界面跳出来,而是直接弹出一个终端界面,告诉你如果要运行Wine,可以用以下的命令(所以说这是一个只能用命令操作的Wine): 操作的命令非常简单, ################################################################################ # 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 要运行wine的命令,我们需要把wine的命令加入到环境变量中,在 export PATH=/Applications/Wine\ Staging.app/Contents/Resources/wine/bin:$PATH Bash Copy 然后source一下使刚刚添加的环境变量生效 # 默认用这个 source ~/.bashrc # 如果你安装过zsh,那就用这个 source ~/.zshrc Bash Copy 安装winecfg(用于配置wine)在终端输入 安装的过程中会弹出这个(没安装完就弹出来了): 提示安装就点安装: 安装好之后,要把wine的命令目录放到环境变量里,在 export PATH=/Applications/Wine\ Staging.app/Contents/Resources/wine/bin:$PATH Bash Copy 再读取一下修改后的配置: 用Wine运行Windows程序Wine运行windows程序要使用命令运行,命令非常简单: wine /path/to/xxxx.exe Bash Copy 对于少数不是 wine msiexec /i /path/to/xxxx.exe Bash Copy 对于安装包来说,可以用这种方式运行,因为安装只安装一次,但对于启动已经安装好的程序来说,每次用命令就显得麻烦。 其实比较好的方法是在 alias netease='wine ~/.wine/drive_c/Program\ Files\ \(x86\)/Netease/CloudMusic/cloudmusic.exe' Bash Copy 当然也可以直接右击 然后就会显示软件的安装界面,就跟在Windows下一样安装,不过安装路径你可以选,你可以选一个Mac的路径安装,也可以默认安装在C盘,但其实这个“C盘”是在你的用户目录下的 下图就是我把网易云音乐安装到C盘后的路径,最终能运行的是cloudmusic.exe那个文件,要运行它,也是一样wine+路径,当然也可以右击它,选择使用Wine.app打开(装Windows版是为了使用它的上传音乐到我的音乐云盘的功能,Mac版没有上传功能): 但是按上面的方法,每次要找到它来启动也太麻烦了,所以不建议安装到C盘,而是自己建一个文件夹,比如我在家目录下创建一个文件夹,然后把它拖到方面的左侧栏里: 然后把所有程序都安装到WineSoftwares文件夹里面,要运行的时候,就找到里面的 当然也可以把软件都装到默认的C盘,然后把C盘直接拖到访达左侧,这样也能快速访问到C盘。 在Wine官网有一个AppDB,它是用于记录一些Windows的软件是否已经在Wine上测试过可用,我看貌似没太大参考价值,因为我看上面的网易云音乐是1.9.2测试过,但现在都2.5.5了而且我也能正常用。 解决乱码问题一般来说,只要在 export LC_ALL=zh_CN.UTF-8 Bash Copy 注意添加后要source一下。其实对一般人来说可能不添加也能解决,毕竟一般默认应该就有这个环境变量,而我这边要添加是因为我系统语言用的英文。 如果上面方法解决不了,则要用以下方法(但同时上边方法也得用)。 去网上下载一个 安装后,我们要把该字体文件创建一个软链接到 ln -s ~/Library/Fonts/simsun.ttf ~/.wine/drive_c/windows/fonts/simsun.ttf Bash Copy 打开wine的windows系统注册表文件 vim ~/.wine/system.reg Bash Copy 在里面搜索 用在线转换工具可以看到十六进制的60是十进制的96,适当增加这个数字有助于提高wine运行的windows程序界面文字的清晰度,比如有些人把它改为70 修改 vim ~/.wine/drive_c/windows/win.ini Bash Copy 在 [Desktop] menufontsize=13 messagefontsize=13 statusfontsize=13 IconTitleSize=13 Ini Copy 更改注册表,把以下内容保存到一个文件中 REGEDIT4 [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\FontSubstitutes] "Arial"="simsun" "Arial CE,238"="simsun" "Arial CYR,204"="simsun" "Arial Greek,161"="simsun" "Arial TUR,162"="simsun" "Courier New"="simsun" "Courier New CE,238"="simsun" "Courier New CYR,204"="simsun" "Courier New Greek,161"="simsun" "Courier New TUR,162"="simsun" "FixedSys"="simsun" "Helv"="simsun" "Helvetica"="simsun" "MS Sans Serif"="simsun" "MS Shell Dlg"="simsun" "MS Shell Dlg 2"="simsun" "System"="simsun" "Tahoma"="simsun" "Times"="simsun" "Times New Roman CE,238"="simsun" "Times New Roman CYR,204"="simsun" "Times New Roman Greek,161"="simsun" "Times New Roman TUR,162"="simsun" "Tms Rmn"="simsun" Ini Copy 在Mac的终端中,使用以下命令把刚刚创建的注册表文件添加到注册表中 regedit wine_zh.reg Bash Copy 你也许会奇怪,Mac上哪来regedit这个命令?这不是Windows的注册表命令吗?其实它是你安装Wine之后才有的,而且我们在 到这里,配置就完成了,现在用wine运行你的windows程序看看,还乱码不? 对了,再提一下,别忘了在 export LC_ALL=zh_CN.UTF-8 Bash Copy 安装WineBottlerWineBottler的更新比较慢,都是作者自己晚上业余时间写的,这只是它的hobby(业余爱好),所以支持的Mac系统版本也比较旧(虽然写着支持High Sierra,Mojave的上一个版本,但其实是支持Mojave的),而且这个作者竟然还有微博。 下载WineBottler后,按这个安装:WineBottler。 安装CrossOverCrossOver是收费软件,149RMB永久授权,其实不贵,如果要方便,可以买这个CrossOver for Mac 18 简体中文【标准版 + Mac】,这是官网安装教程:如何在 Mac 上安装 CrossOver。 参考:Mac下安装与使用Wine4最全指导。 |
|
来自: 昵称27492377 > 《Mac苹果电脑》