提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 前言
- 一、WineHQ是什么?
- 二、准备工作
-
- 三、开始安装
-
- 总结
前言
最近切换到Ubuntu20.04作为办公主力机型,先是安装了Jetbrains全家桶,后又安装了杂七杂八的一些工具,最近听说WIne8出来了,就安装试试。之前安装过Wine6,在使用一些开发工具的时候会出现UI的问题,不过不影响到功能。今天看一看Wine8给我们带来什么惊喜吧。
一、WineHQ是什么?
Wine (“Wine Is Not an Emulator” 的首字母缩写)是一个能够在多种 POSIX-compliant 操作系统(诸如 Linux,macOS 及 BSD 等)上运行 Windows 应用的兼容层。Wine 不是像虚拟机或者模拟器一样模仿内部的 Windows 逻辑,而是將 Windows API 调用翻译成为动态的 POSIX 调用,免除了性能和其他一些行为的内存占用,让你能够干净地集合 Windows 应用到你的桌面。
简而言之和虚拟机最大的不同就是兼容层不是完整系统,类似于早期的WSL1,WSL2已经切换到虚拟机了。
二、准备工作
1.准备工作
如果你的Ubuntu20.04是64位的系统,那么你需要执行下下面的shell命令增加32位支持;如果你的Ubuntu20.04本身就是32位的,那就不需要执行下面的命令了。
建议安装64位系统获得更好的体验
sudo apt update
sudo dpkg --add-architecture i386
2.增加源密钥
这一步不能省略,必须执行成功,否则下面的步骤进行不了。如果出现诸如timeout的一些错误请多试几次。
sudo mkdir -pm755 /etc/apt/keyrings
sudo wget -O /etc/apt/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key
执行完会有OK的标志,如果失败了请多试几次或者留言
3.增加源地址
支持的版本有18.04、20.04、22.04、22.10,因为我只有Ubuntu-18.04和Ubuntu-20.04,其他的几个版本没有经过验证,大家可以自行测试。
这一步必须通过否则无法进行下一步
sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/kinetic/winehq-kinetic.sources
sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/jammy/winehq-jammy.sources
sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/focal/winehq-focal.sources
sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/bionic/winehq-bionic.sources
三、开始安装
上面的所有步骤走完就可以开始正式安装了。
1.更新源缓存
添加完源之后必须更新缓存,否则搜索不到安装包。这里为了速度建议你将源改为阿里云或中科大,因为需要安装很多依赖包,速度会快些。
sudo apt update
2.安装
这里提供了三种可选安装类型:
- Stable branch
稳定版,正常使用安装这个就行了,这次我们选择这个版本安装 - Development branch
开发板,这个包含些开发环境,一般给程序员用的,我们不选。 - Staging branch
模拟环境,我们不选。
sudo apt install --install-recommends winehq-stable
sudo apt install --install-recommends winehq-devel
sudo apt install --install-recommends winehq-staging
根据自身需要安装并等待安装完成。
总结
1、整体没什么难度,一步步来就行了
2、这篇文章同样适用于18.04和22.04等版本,只不过22.04版本没有经过验证,理论上是可以的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)