[Linux] 使用 Wine

article/2025/9/23 17:50:18

Wine 是一个在 x86、x86-64 上允许类 Unix 操作系统在 X Windows System 下运行 Microsoft WIndows 程序的软件。Wine 通过提供一个兼容层来将 Windows 的系统调用转换成对 POSIX 标准的调用。
Wine 最早是“Windows Emulator”,即 Windows 模拟器的所写,但现在为“Wine Is Not an Emulator”的缩写,即 Wine 不是模拟器。Wine 的正确名称是“Wine”,而不是全大写或全小写。

操作系统

Wine 官方支持 Ubuntu 而没有 CentOS,之前我用 CentOS 自己编译构建官方源码时,总会报依赖错误。后来我转向了 Ubuntu,考虑到可能后者更适合桌面使用与开发。以下有关 Wine 的安装与使用都是在 Ubuntu 18.04 中进行的。

安装 Wine

下载安装网址:https://wiki.winehq.org/Ubuntu,步骤如下:
如果是64位系统,首先允许32位架构:

sudo dpkg --add-architecture i386 

添加仓库:

wget -nc https://dl.winehq.org/wine-builds/winehq.key
sudo apt-key add winehq.key
sudo apt-add-repository https://dl.winehq.org/wine-builds/ubuntu/

这样会默认添加当前操作系统版本对应的仓库。或者可以显式指定操作系统版本:

wget -nc https://dl.winehq.org/wine-builds/winehq.key
sudo apt-key add winehq.key
sudo apt-add-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ bionic main'

安装稳定版 Wine:

sudo apt-get install --install-recommends winehq-stable

注意

使用 apt-get 安装 Wine 默认会在 /usr/share/applications 下创建 wine.desktop 文件,但似乎这个文件无效,反而导致我启动 Wine 相关的命令时 gnome docker(gnome 桌面侧边栏)无法显示 Wine 的图标(侧边栏显示图标读取 */applications/ 下的 *.desktop文件)。所以解决办法就是删除对应目录下的 wine.desktop

初始化 Wine

Wine 默认将配置文件和安装的 Windows 程序保存在 ~/.wine。这样的目录称为一个"Wine prefix"或"Wine bottle"(保留原文,下文称“系统目录”)。每次运行 Windows 程序(包括内置程序,如 winecfg)时,系统目录会自动创建(如果缺失)或更新。系统目录中存放有相当于 Windows 下 C盘(更确切的说应是系统盘)的文件夹。

WINEPREFIX

通过设置 WINEPREFIX 环境变量,可以更改 Wine 系统目录的位置。如果希望让不同的 Windows 程序使用不同的系统环境或配置,这一变量会非常有用。
例如,如果您使用 WINEPREFIX=~/.win-a wine-A程序.exe 参数来运行一个程序。另一个使用 WINEPREFIX=~/.win-b wine-B程序.exe 参数,这两个程序将使用独立的C盘和注册表配置。
以下命令会建立一个默认的系统目录,且不启动任何 Windows 程序:

WINEPREFIX=~/.customprefix wineboot -u

WINEARCH

很多软件(如 QQ) 只能在32位环境下安装,而使用 Winetricks 甚至有些软件(如wmp10)只能在纯32位环境下安装。
对于64位用户,默认创建的系统目录是64位环境的。若想使用纯32位环境,修改WINEARCH 变量win32为即可: WINEARCH=win32 winecfg 这样就会生成32位Wine环境。若不设置 WINEARCH 得到的就是64位环境。
通过 WINEPREFIX 变量,在不同的系统目录分别创建32位和64位环境:

WINEARCH=win32 WINEPREFIX=~/.win32 winecfg 
WINEPREFIX=~/.win64 winecfg

winetricks也接受WINEPREFIX变量,以安装Steam为例:

WINEARCH=win32 WINEPREFIX=~/.win32 winetricks steam

Winetricks

Winetricks是一个辅助脚本,用于在wine中下载并安装各种闭源的组件和运行库。

安装 Winetricks

wget https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks
chmod +x winetricks
sudo mv winetricks /usr/local/bin

更新 Winetricks

winetricks --self-update

使用 Winetricks

在控制台输入 winetricks 即可运行,如果不带参数,winetricks 将以图形界面显示可用的软件包列表。也可以在 winetricks 命令后附带需要安装的软件包的名称,它会立即开始安装过程。例如,安装 corefonts 包和 vcrun6 包:

winetricks corefonts vcrun6

与 wine 命令相似,winetricks 可以使用 $WINEPREFIX 变量,对应不同的 wine 目录,例如:

env WINEPREFIX=~/.winetest winetricks mfc40u

向 ~/.winetest 前缀中安装 mfc40u 包。

Wine 使用32位环境

WINEARCH=win32 WINEPREFIX=~/.win32 winecfg

输入以上命令后,Wine 会自动创建 ~/.win32 及该文件夹下的系统目录

Wine 安装字体

WINEPREFIX=~/.win32 winetricks cjkfonts corefonts fakechinese fontfix fontsmooth-gray fontsmooth-rgb fontsmooth-bgr tahoma allfonts
  • 我当时安装 tahoma 时无法连接下载网站,所以后来在另一个网站中下载了 tahoma32.exe,并替换到 ~/.cache/winetricks/tahoma 目录下,再运行:

    WINEPREFIX=~/.win32 winetricks tahoma
    

    下载网址为:http://dir.vietnam.online.fr/home/vnDownloads.htm

Wine 安装 Windows DLL 或组件

WINEPREFIX=~/.win32 winetricks d3drm d3dx9 devenum dotnet40 gdiplus msctf mfc40 mfc42 msls31 msxml6 ole32 quartz riched20 vb6run vcrun6 vcrun2003 vcrun2005 vcrun2008 vcrun2010 vcrun6 wmp10
  • 安装 wmp10 时可能需要中断,killwine相关进程后再次使用 winetricks 进行安装才行。

或者使用以下命令打开 winetricks GUI 界面:

WINEPREFIX=~/.win32 winetricks

进入“安装Windows DLL 或组件”界面:
安装Windows DLL 或组件
选择上述组件并安装

Wine 安装 QQ:

进入 winetricks 的 GUI 界面,选择安装 Windows 应用:
安装 Windows 应用
勾选 qq ,进行安装。
安装过程中,winetricks 会自动停用 ntoskrnl.exetxplatform.exe。需要禁止 winedevice.exe 使用 ntoskrnl.exe,必须在系统默认设置里面禁止,对 qq 单独设置无效。为了不影响其他程序,建议将 qq 安装在单独的系统目录内,比如:

WINEARCH=win32 WINEPREFIX=~/.wineqq winecfg

然后通过

WINEPREFIX=~/.wineqq winetricks

来安装 qq。

注意

在聊天界面使用气泡模式,输入文字会变成方块,解决方法是在 wine 命令前加 LANG=zh_CN LC_ALL=zh_CN.UTF-8 环境变量参数。

前两天将QQ升级为了最新版的QQ 9.0.8,但是会崩溃,所以还是推荐使用QQ 8.9版本的

创建桌面快捷方式:

安装完程序最好登出一下账号,然后再次进入,这样 Wine 创建的应用快捷方式可以刷新生效。
Wine 自动创建的程序快捷方式位于 ~/.local/share/applications/wine/Programs 目录下。
将程序对应的快捷方式(比如 “腾讯QQ.desktop”)复制到 ~/Desktop 目录下即可创建桌面快捷方式。
desktop 文件的一般内容(经过了我的修改,因为原来的无法正常启动)如下:

[Desktop Entry]
Name=腾讯QQ
Type=Application
StartupNotify=true
Icon=QQ
Exec=env WINEPREFIX=/home/wayne/.win32 LANG=zh_CN LC_ALL=zh_CN.UTF-8 wine C:\\Program\ Files/Tencent/QQ/Bin/QQ.exe

Wine 安装微信:

从微信官网下载最新版微信安装包,使用 wine 进行安装:

WINEPREFIX=~/.win32 wine WeChat_C1018.exe

Wine 创建的微信快捷方式启动后微信是英文而且中文会乱码,解决方法是修改快捷方式,在 wine 命令前加 LANG=zh_CN LC_ALL=zh_CN.UTF-8 环境变量参数:

[Desktop Entry]
Name=微信
Exec=env WINEPREFIX="/home/wayne/.win32" LANG=zh_CN LC_ALL=zh_CN.UTF-8 wine C:\\\\windows\\\\command\\\\start.exe /Unix /home/wayne/.win32/dosdevices/c:/ProgramData/Microsoft/Windows/Start\\ Menu/Programs/微信/微信.lnk
Type=Application
StartupNotify=true
Path=/home/wayne/.win32/dosdevices/c:/Program Files/Tencent/WeChat
Icon=8A76_WeChat.0
StartupWMClass=wechat.exe

注意

在微信中打开腾讯新闻或者公众号会崩溃,解决办法是微信设置里勾选使用默认浏览器打开网页

Wine 安装 三国志11

下载并使用 wine 来安装三国志11威力加强版。
我的 wine 自动生成的快捷方式启动会中文乱码,采取和微信一样的方法修改 desktop 文件。
一开始启动游戏是失败的,或者没有音频,会报如下错误:

fixme:gstreamer:unknown_type Could not find a filter for caps: video/mpeg, systemstream=(boolean)true, mpegversion=(int)1
fixme:gstreamer:watch_bus decodebin5639: Your Gstreamer Installation Is Missing A Plug-in。

解决方法是在 winecfg 中添加对 san11pk.exe 的程序设置,在函数库中停用 winegstreamer,并添加 quartz
这里写图片描述

Wine 安装 Office:

本人只测试过 Office 2010 和 Office 2013,其中 Office 2010 可以正常运行。Office 2013 Pro 只有英文版可以正常运行,而且只有在 wine 3.0.1 下运行正常,在 wine 3.11 中会异常。
另外在 Wine 中无法成功卸载 Office 2013 Pro。所以建议开启独立的系统目录来安装运行 Office,比如:

WINEARCH=win32 WINEPREFIX=~/.wineoffice winecfg

安装必要字体及DLL组件后,到相应的安装目录下执行:

WINEPREFIX=~/.wineoffice wine setup.exe

来安装 Office 2013 Pro

卸载软件

可以通过 winetricks 来卸载软件。
如果软件无法卸载或者系统出错,可以直接删除所对应的系统目录。

Winetricks-zh

winetricks-zh 是一个 winetricks 的修改版,添加了一些国内常用的 windows 应用支持,以弥补官方版 winetricks 对国内应用支持不足的情况。但最终目的仍然是希望上游能将这些应用添加进去。
winetricks 网址:https://github.com/hillwoodroc/winetricks-zh/

桌面图标

Ubuntu 18.04 Gnome桌面显示传统托盘图标:安装TopIconPlus的gnome-shell扩展,命令:sudo apt-get install gnome-shell-extension-top-icons-plus gnome-tweaks,然后用gnome-tweaks开启这个扩展。

参考资料

[1] https://homulilly.com/post/run-japanese-galgame-on-Ubuntu-with-wine.html “Ubuntu 下通过 Wine 运行日文 Galgame”
[2] https://wiki.archlinux.org/index.php/Wine_(简体中文)#.E5.A3.B0.E9.9F.B3 “Wine (简体中文)”
[3] https://www.winehq.org/ “WineHQ 官网”
[4] https://www.cnblogs.com/jikexianfeng/p/5769430.html “winetricks 用WineTricks令你的Wine更完整”
[5] https://wiki.winehq.org/Winetricks “WInetricks”
[6] http://dir.vietnam.online.fr/home/vnDownloads.htm “Tahoma 字体”


http://chatgpt.dhexx.cn/article/dS4I1iOS.shtml

相关文章

Windows 之dos命令

1.应用场景 知道并且熟练掌握常用[有用]的dos命令, 提高工作和生活效率. 2.学习/操作 1.介绍 百度百科: https://baike.baidu.com/item/DOS命令/5143255?fraladdin 简单讲: DOS命令,计算机术语,是指DOS操作系统的命令&#xff…

如何运用dos命令进入C盘?Dos常用命令大全

如何运用dos命令进入C盘?Dos常用命令大全 在开始界面找到运行,快捷键Win+R,输入命令cmd,点击确定 现在我们已经进入以下界面 在Administrator>后面输入c: dir 列文件名 deltree 删除目录树 cls 清屏 cd 改变当前录

dos常用基础命令

目录 dir 查看指定目录 通配符匹配 运行可执行文件 运行其他目录的可执行文件 cd 进入当前盘符的根目录 进入其他盘符根目录 md 和 rd deltree move copy xcopy del diskcopy ren type memory netstat dir 查看当前目录中的文件 /p 分屏显示 /w 简略同行模…

基本DOS命令用法

一.常用的DOS命令: 1.查看目录内容 dir 2.创建目录文件 md 3.打开指定目录命令 cd 4.删除当前指定的子目录 rd 5.改变当前盘符 盘符冒号 6.文件复制拷贝 copy 7.显示文本文件内容命令 type 8.更改文件名 ren 9.删除文件命令 del 10.清楚屏幕命令 cls 11.…

1、常用DOS命令大全

一、DOS(DiskOperatingSystem),磁盘操作系统 特点:单任务、单用户系统使用命令行方式 控制计算机二、DOS命令行的组成 1、DOS命令行中的基本概念 当前驱动器、当前盘、当前目录、相对路径、绝对路径2、DOS命令的格式 命令/参数 文件或文件夹三、常用D…

常用的dos网络命令

常用的dos网络命令 ping:测试网络连接状况以及信息包发送和接收状况,TCP/IP 协议中最常用的命令。(网络中TTL通常表示包在被丢弃前最多能经过的路由器个数。也可以判断电脑系统:TTL值在100至130之间,主机系统为WINDOWSTTL,值在240至255之间&…

DOS常用命令

启动方式1:进入DOS页面:win+R;键入:cmd 启动方式2:“开始”→“运行”→输入“cmd”回车,此时将出现一个显示命令提示符的窗口,如下图。 1,help命令:help ——》查看所有命令帮助;help 某某某——》 查看具体某个 命令的帮助

常用DOS命令大全

ping 目标 向目标发送一个数据包 4 ping -n 10 目标 ping 目标 -n 10 net user 查看用户 增加用户: net user 用户名 用户密码 /add 最高的用户组:*Administrators 默认的用户组:*Users 查看指定用户所在的用户组&…

DOS常用指令

DOS常用指令 一、DOS常识二、命令行打开方式:三、DOS内部命令1. dir----显示指定路径下所有文件和目录的信息2. cd----进入指定目录3. md----创建指定目录4. cd>----创建指定文件5. rd----删除指定空目录6. del----删除指定文件7. copy----复制文件8. ren----改名…

常用DOS命令

目录标题 在文中,需要注意添加“空格”的语句DOS命令不区分大小写.一、常用DOS命令1. 打开命令提示符(最后附上“运行”窗口命令大全(还没有进行测试))方式1:打开“运行”窗口(Win r&#xff0…

在固态硬盘上安装linux系统怎么安装,教程|教你一键重装怎么将系统安装在固态硬盘上...

固态硬盘相比机械硬盘有更快的读写速度,将系统安装在固态硬盘上能极大提高系统的运行速度,今天就说说怎么将系统安装在固态。 方法一: 1、首先制作一个U盘启动盘,制作方法点击文章:《U盘PE启动盘制作方法》 2、进入U盘…

Kali Linux安装

1 Kali Linux安装 和普通的应用软件不同,操作系统的安装一直都是一件比较麻烦的事。而且和只能安装在计算机上的Windows操作系统不同,Kali Linux可以说是一个几乎能安装到任何智能设备上的操作系统。计算机、平板、手机、虚拟机、U盘播放设备、光盘…

Linux查看硬盘挂载

目录 1. 查看磁盘情况是否挂载上 2. 在指定的硬盘上创建分区 3. 设置开机自动挂载分区 1. 查看磁盘情况是否挂载上 df -h 该命令会显示出挂载磁盘和挂载点,下图分别是系统盘,以及挂载的一个硬盘/dev/sda1 若某个磁盘没有挂载上,可以使用…

Win7下硬盘安装Linux双系统

参考如下两篇文章,基本能搞清楚如何安装。 1. Win7下硬盘安装Linux双系统 Win7下硬盘安装CentOS6.2 http://www.3fwork.com/b902/002405MYM032666/ 2. Windows7硬盘安装Fedora16图文教程 http://blog.chinaunix.net/uid-14735472-id-3232574.html 为防止链接内容…

linux安装时找不到硬盘分区,在安装linux时出现找不到硬盘如何解决

windows和Linux双系统怎样安装 毫无疑问,Windows是一个功能强大的操作系统,无论在兼容性方面,还是在易用性方面,都非常出色,但您有没有注意到市场上悄然兴起的Linux呢?作为一款出色的操作系统,大家实在不应放弃,但我只有一台PC、一个硬盘,如何做呢?这里,以红旗Linux…

VMware虚拟机安装Linux教程(超详细)

一、安装 VMware 官方正版VMware下载(16 pro):https://www.aliyundrive.com/s/wF66w8kW9ac 下载Linux系统镜像(阿里云盘不限速):https://www.aliyundrive.com/s/UQMBPEovxNg (系统镜像下载后&a…

win和linux双系统安装教程

因学习需要,虚拟机速度太慢,又有快捷键冲突,所以在自己电脑上折腾了几天,终于装好了双系统(winlinux)。 现在进入正题。 本人的电脑主系统是windows系统,打算再装个linux。 文章目录 下载linux系统镜像制作启动U盘为l…

Linux挂载硬盘

原文链接 我要挂载的硬盘为sda1,首先将硬盘插上。 1 查看硬盘 使用检测硬盘命令: lsblk看到 sda1 存在。 然后使用查看硬盘命令: df -h如果只是插上硬盘而无其他操作,则看不到要挂载的硬盘sda1。 2 挂载 格式化硬盘 sda1 …

Linux Mint 双系统安装教程

Linux Mint 双系统安装教程 前言 :由于你老板实在是太懒了所以安装双系统这种破事就都交给我了。为啥是双系统 据你老板说是他的那个破平台只能跑在linux上(我服了,windows不好吗),为啥又是Mint,你老板说m…

windows7下硬盘安装linux

本文为win7下硬盘安装linux图文教程,综合网上教程,结合亲身实践遇到的问题整理如下: 首先下载镜像文件可选择此处资源(ubuntu-16.04.2-desktop-amd64): http://download.csdn.net/download/vvyingning/9910235 也可…