Ubuntu 模拟 Windows 环境

Ubuntu 模拟 Windows 环境

由于 Linux 与 Windows 系统软件不兼容,所以通常我们在 LInux 下不会像在 Windows 下那样使用软件那么方便,如果想要在 Linux 下正常使用我们平时在 Windows 中运行的软件,我们就要想办法能在 Linux 下模拟仿真 Windows 的系统环境

通常我们知道,要想在 Windows 下模拟 Linux 环境有很多中方法,可以使用虚拟机或者安装 Docker 等环境,现在要在 Linux 下模拟 Windows 环境,安装虚拟机变得不再方便,所以,我们就通过安装 Wine 或 CrossOver 这样一种虚拟环境来仿真模拟 Windows 的环境,达到可以使用 Windows 环境下的软件的效果。

安装 Wine

首先启用 32 位架构,这里使用 32 位是由于 32 位的兼容性最好

sudo dpkg --add-architecture i386

下载添加仓库密钥:

sudo mkdir -pm755 /etc/apt/keyrings
sudo wget -O /etc/apt/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key

添加 wine repository

sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/focal/winehq-focal.sources

这里最好查看官网根据自己的系统版本进行添加:Winehq 官网

安装 wine

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

这里安装时间较长,需要耐心等待

最简单的方法就是直接使用如下命令:

sudo apt-get install wine64 wine32

在 Ubuntu 的更新中,已经把 wine 添加到了官方仓库,所以这里不用单独添加 wine 仓库再安装,但是安装的不是最新版本

配置 Wine 的 Windows 默认环境

运行如下命令,该命令将安装 Mono 和 Gecko 并设置 wine 环境:

winecfg

但是有些版本这里并不会自动添加,需要手动安装

安装 mono 与 gecko

sudo apt-get install mono-complete

但是安装完之后发现还是不行,会报错提示没有 一些 gecko 进行 html 的渲染操作

百度,google 得到的结果是需要安装 gecko 还有 mono 的内容. 只能从网上下载

官方下载地址(点击跳转):

mono

gecko

这里就下载安装的 wine 版本对应的即可,然后使用如下命令进行安装即可:

wine msiexec /i wine-mono-4.9.4.msi
wine msiexec /i wine_gecko-2.47-x86_64.msi

应用名称自行修改

设置 Wine 字体

开始我们默认安装的 Wine 中文都是乱码,我们需要进行修改,否则打开软件会黑屏

先把字体simsun.ttc(在你的windows的安装目录里的font文件夹里找,找不到可以从网上下到) 复制到 /home/你的用户名/.wine/drive_c/windows/fonts 文件夹中,要显示隐藏文件夹按Ctrl+H

修改注册表,在命令行输入 gedit ~/.wine/system.reg

找到“[System\CurrentControlSet\Hardware Profiles\Current\Software\Fonts]”,将其中的““LogPixels”=dword:00000060”改成 ““LogPixels”=dword:00000070“。

再找到”[Software\Microsoft\Windows NT\CurrentVersion\FontSubstitutes] xxxx“项,将其中的”MS Shell Dlg“相关的两项修改成如下内容(即更换字体为宋体):

“MS Shell Dlg”=”SimSun”
“MS Shell Dlg 2″=”SimSun”

然后:gedit ~/.wine/drive_c/windows/win.ini

在其中加上(如果没有),有的话修改成如下

[Desktop]
menufontsize=13
messagefontsize=13
statusfontsize=13
IconTitleSize=13

现在中文显示应该正常了

Wine 环境设置

可设置虚拟的 windows 版本、替换 dll 函数、窗口修饰、显示分辨率等

修改 Windows 版本

默认的 windows 版本是 windows7,有的 exe 安装时提示系统版本太低的话,就需要利用 winecfg 修改为 windows10 ,有的 exe 软件在 windows xp 表现更好,就需要用 winecfg 修改为 windows xp

打开 winecfg :

WINEPREFIX= 容器路径 winecfg

上述命令结构解析:

WINEPREFIX= 是指定的容器路径,后面打一个空格,然后输入 winecfg

QQ、wechat、网易云音乐无需修改 windows 版本即可正常运行

函数库函数顶替

有的exe软件,无需新增函数顶替

有的 exe 软件,新增以下几个函数顶替基本上就能正常运行了:atl100、mlang、msls31、riched20、usp10

有的exe软件还需要添加 msvcp60、riched32 等函数

QQ、wechat、网易云音乐无需新增顶替函数即可正常运行。

Wine 安装运行软件

我们已经安装了 wine 可以模拟 Windows 下的环境,下面我们就要知道如何区安装一个 exe 程序

这里有三种方法:

方法一:双击运行安装

这是最简单也是最优的软件安装方法

方法二:直接安装到默认容器

wine 应用(安装包)路径(例如:/xxx/xxx/xxx.exe)

安装好后,就可以在 /home/$USER/.wine/drive_c/Program Files 里面看到应用程序了

这种方法不被推荐

方法三:安装到一个新建的容器

WINEARCH=win32或win64 WINEPREFIX=容器路径  wine  应用(安装包)路径

例如:

WINEPREFIX=~/.wine_prefix/Wine-qq wine "./qq.exe" 

注意:如果提示安装 mono,最好进行安装。mono 模拟的 .NET Framework,虽然不是所有 exe 软件都需要这个,但是大多时候都需要使用

命令结构解析:

  1. WINEARCH= 后面写 win32 ,即表示新建一个 32 位的容器,如果写 win64,即表示新建一个 64 位的容器。

  2. WINEPREFIX= 是指定的容器路径,如上级文件夹没有需新建这个容器文件夹,如有上级文件夹会自动创建。

  3. wine 即 wine 的执行程序,wine 的执行程序就是 wine。

运行程序:

WINEPREFIX=容器路径  wine exe文件安装的路径

Wine 卸载软件

卸载exe软件
终端命令:

WINEPREFIX=容器路径 wine "/wine的exe的安装路径的卸载程序"

或者直接用wine卸载程序:

wine uninstaller

卸载 Wine

一般我们的 Wine 不需要卸载,不用就搁置在那就可以,这里还是提供了卸载的方法:

sudo apt remove winehq-stable
sudo apt-get autoremove

清理 wine 模拟运行的 Windows 程序:

# username为你的用户名
sudo rm -r /home/username/.local/share/applications

清除残余的 Windows 程序:

# username为你的用户名
sudo rm -r /home/username/.config/menus/applications-merged/wine*

注意:这里以 root 权限使用了rm -r 命令,因此路径千万不要错误

posted @ 2023-02-02 13:54  ppqppl  阅读(87)  评论(0编辑  收藏  举报