如何在ubuntu20.04运行windows版本的网易云音乐(wine)
瞎折腾
Wine(也就是WineHQ)是一款 Windows 兼容层,能让你在类 Unix 操作系统(如 Linux)上直接运行 Windows 应用程序,而无需安装双系统或借助虚拟机。
并非所有Windows应用程序都会在Wine中运行,即使你这样做,它们可能不会以与正常的方式运行。 wine appdb 是一个数据库,包含已测试并确认在wine下工作的应用程序列表。
首先安装wine
如何在 Ubuntu 中安装 Wine | Linux 中国
这个文章写的不错,根据这个就可以安装成功。
安装成功之后
1通过以下命令开始设置 Wine 的运行环境,包括安装 wine-mono 组件以支持 .NET 应用:
winecfg
2根据提示安装 Mono 及相关依赖。
安装 wine-mono 组件及相关依赖
配置 Wine 设置
1配置完成后,会自动弹出「Wine 设置」对话框。你可以选择要模拟的 Windows 版本,默认是「Windows 10」,也可以根据需要自行更改。
Wine 设置:选择要模拟的 Windows 版本
2调整「音效」、「显示」等设置,完成后点击「确定」关闭对话框。
到此wine安装配置完毕
安装网易云音乐
使用 Wine 来运行 Windows 应用程序
在你安装 Wine 并通过运行 winecfg
将其配置后, 现在是安装 Windows 应用程序的时间了。
在这里,7Zip.exe 文件是用于演示目的的。我知道我应该使用一个更好的示例,因为 7Zip 在 Linux 上是可获得的。不过,对于其它的应用程序来说,接下来的流程是相同的。
首先,从它的 官方下载页面 下载 7Zip 文件。
现在,在该文件上右键单击,并选择“使用 Wine Windows 程序加载器打开”选项:
这将提示我们安装该文件。单击 “ 安装(Install) ” 并让其完成。在完成后,你可以像其它的一些原生应用程序一样打开 7zip 。
安装这个步骤来安装网易云音乐的windows安装包即可
默认安装路径是在~/.wine/drive_c/Program Files (x86)/NetEase/CloudMusic
安装之后ubuntu的菜单里出现已经安装的程序
你可以使用 wine uninstaller
命令来卸载任意已安装的应用程序。
这里是一篇关于在 Linux 上 使用 Wine 来运行 Windows 软件 的专业教程。
安装 Winetricks(网易云音乐闪退)
安装之后遇到了打开又闪退的情况
chatgpt解答 从这段日志看,CloudMusic 在 Wine 下崩溃的位置是:
0x6d797f36 libcef+0x3757f36: int3
也就是说,Wine 正在运行的 NetEase Cloud Music 客户端底层用的是 Chromium Embedded
Framework(CEF),而在 CEF 代码里遇到了一个
int3
(调试中断指令),导致程序“中途打了个断点”然后崩溃。这通常不是你的 Apt 安装问题,而是 Wine 对
CEF(Chromium 浏览器内核)支持不完善所致。
为什么会报这个错
CEF 中的断言/调试断点 CEF 在检测到某些不符合预期的运行时环境(比如图形加速、沙箱机制、Windows API 行为差异等)时,会在代码里插入
int3
触发断点。Wine 目前对 CEF 的支持还不够完备,就很容易踩到这些断言。图形加速或沙箱冲突 默认 CEF 会启用 GPU 加速和沙箱(sandbox),而 Wine 下这些机制常有问题,容易在交互调用
d3d9
、dxva2
、dxgi
或沙箱相关 API(wevtapi
、ncrypt
等)时触发断点。Wine 版本 & 配置限制 你用的是 Wine 10.0 稳定版,虽然比较新,但对 CEF 的支持最好还是用 Wine Staging 或最新的开发快照,并且需要装好 Gecko/Mono、vcrun、.NET 运行时等组件,否则浏览器内核补丁不全。
可尝试的解决办法
- 切换到 Wine Staging Wine Staging 中的补丁更多,尤其是对 D3D 和 CEF 有专门修复。
sudo apt install --install-recommends winehq-staging
WINEPREFIX=~/.wine winecloudmusic.exe
禁用 GPU 加速 & 沙箱 在启动命令里加参数,强制 CEF 用软件渲染、不开启沙箱:
bash wine CloudMusic.exe --disable-gpu --no-sandbox
或者在注册表里给 CloudMusic 的启动参数里添加这些选项。
通过 Winetricks 安装必需组件
bash winetricks gecko corefonts vcrun2019 dotnet48
gecko
:提供内置浏览器渲染支持 *vcrun2019
/.NET
:补齐 CEF 需要的 Visual
C++/CLR 运行时升级到最新版 CEF 或者高版本 Wine 如果有条件,可以编译或下载更高版本的 CEF(CloudMusic 的新版本常捆绑新版 CEF),或者尝试 Wine 未来的 11.x、12.x 快照,看社区有没有新的修复。
使用原生 Linux 客户端或 Flatpak/Snap 网易云音乐社区版已经有原生 Linux 包(AppImage、Flatpak、Snap),完全绕开 Wine。这样最省事,也更稳定。
小结
- 你遇到的并不是依赖没装全,而是 CEF 在 Wine 下触发了调试断点(
int3
)。- 最有效的办法要么用 Wine Staging + 禁用 GPU/沙箱,要么直接用原生 Linux 客户端。
- 如果非要 Wine 版,可以结合上面 Winetricks 补丁、启动参数调整,多试几个组合,通常能让 CEF 平稳运行。
我是
winetricks gecko corefonts vcrun2019 dotnet48
直接解决问题
Winetricks 是一个辅助脚本,可以帮助你轻松安装和管理 Windows 应用程序和库,从而优化 Wine 的使用体验。
在「终端」中运行以下命令安装 winetricks:sudo apt install winetricks