一、简介

1. wine对32位的exe程序支持较好,所以尽量选择32位的软件;

2. 查看wine版本的命令:wine --version ;  

3. wine的默认容器路径:/home/$USER/.wine 或~/.wine  (多数情况下,/home/$USER与~可以相互替代);

4. 用wine安装/运行windows软件的方法:

 

方法1:安装程序到默认容器(方法1不推荐,推荐方法2)

终端输入:wine /保存exe文件路径 ,比如:wine ~/Downloads/7z2107.exe

安装好后,就可以在/home/$USER/.wine/drive_c/Program Files里看到7-Zip的程序文件了。

 

方法2:安装程序到一个新建的容器

终端命令:WINEARCH=win32或者win64 WINEPREFIX=容器路径  wine  保存exe软件的路径

比如:WINEARCH=win32 WINEPREFIX=~/.wine_prefix/7zip  wine ~/wine_exe/7z2107.exe

(注:如果提示安装mono,可点取消。mono模拟的.NET Framework,不是所有exe软件都需要这个。需要的时候再手动安装即可)

上述命令结构解析:

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

(2)WINEPREFIX=是指定的容器路径(此处Wine-7zip就是容器名称),如上级文件夹没有需新建这个容器文件夹,如有上级文件夹会自动创建。

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

5. 运行已安装到容器内的exe主程序

终端命令:WINEPREFIX=容器路径  wine “exe文件安装的路径”

比如:WINEPREFIX=~/.wine_prefix/Wine-7zip  wine "/home/$USER/.wine_prefix/7zip/drive_c/Program Files/7-Zip/7zFM.exe"

6. winecfg设置

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

(1) 修改windows版本

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

打开winecfg的终端命令:WINEPREFIX=容器路径 winecfg

比如:WINEPREFIX=~/.wine_prefix/7zip winecfg

上述命令结构解析:

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

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

(2) 函数库函数顶替

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

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

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

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

7. 字体设置

由于linux系统默认是没有windows常用字体(如Arial、微软雅黑、宋体),所以用wine安装的exe软件大概率会出现字体乱码、字体呈现方块、字体显示不出来等问题。此时,需要设置字体,方法有三种:

第一种:直接安装“Win字体”应用

到应用商店里下载安装“Win字体”。安装好后,再调出winecfg(方法如前述),字体选项下勾选“允许加载系统字体”,建议顺便把“允许加载Windows Fonts目录下的字体”也勾上。(最新wine版本,如wine-devel-7.10的winecfg里面已经没有字体选项了,可能是改成默认了)

第二种:复制字体到虚拟C盘的字体文件夹(缺点是得每个软件都得操作一回,不如方法三省事)

将exe软件需要用的字体文件(如宋体的文件为simsun.ttf)复制粘贴到容器的字体文件夹,路径通常为:~/.deepinwine/容器名称/drive_c/windows/Fonts

比如7zip软件Fonts文件夹路径:~/.wine/Wine-7zip/drive_c/windows/Fonts

调出winecfg(方法如前述),字体选项下勾选“允许加载Windows Fonts目录下的字体”,建议顺便把“允许加载系统字体”也勾上。(最新wine版本,如wine-devel-7.10的winecfg里面已经没有字体选项了,可能是改成默认了)

第三种:修改root下wine注册表(我用的第三种)

(1) 从 Windows  C:\WINDOWS\Fonts\simsun.ttf复制字体到Linux系统中/root/.wine/drive_c/windows/Fonts里面。

(2) 修改/root/.wine/system.reg

装好字体后,还要修改一下 Wine 的注册表设置,指定与字体相关的设置:

gedit /root/.wine/system.reg

(一定要使用 gedit 、vim或其他支持 gb2312/utf8 编码的编辑器修改这些文件,否则文件中的中文可能变乱码)

搜索: LogPixels

找到的行应该是:[System\CurrentControlSet\Hardware Profiles\Current\Software\Fonts]

将其中的:

“LogPixels”=dword:00000060

改为:

“LogPixels”=dword:00000070

搜索: FontSubstitutes

找到的行应该是:[Software\Microsoft\Windows NT\CurrentVersion\FontSubstitutes]

将其中的:

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

改为:

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

(3) 修改 /root/.wine/drive_c/windows/win.ini

gedit /root/.wine/drive_c/windows/win.ini

在文件末尾加入:

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

(4) 最关键的一步,把下面的代码保存为kashu.reg,然后直接在linux终端上执行regedit kashu.reg即可。

代码:

REGEDIT4
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”



8. 卸载exe软件
终端命令:WINEPREFIX=容器路径 wine "/wine的exe的安装路径的卸载程序"

或者直接用wine卸载程序:wine uninstaller

9. 创建启动脚本,脚本内容如下:

#!/bin/bash
WINEPREFIX=/容器路径   wine "/home/liu/.wine/drive_c/Program Files (x86)/wine exe安装路径"
之后只需运行该脚本即可运行。(需要将该目录放入PATH路径中)

二、实际安装(以wechat为例)

1.建立存放exe文件目录,并且将 微信exe文件下载
 mkdir -p /home/$USER/wine_exe/; cd /home/$USER/wine_exe/
wget -c https://dldir1.qq.com/weixin/Windows/WeChatSetup.exe
2.安装wine
3.安装cabextract wine-mono *winbind*
4. #一定要在普通用户下输入如下命令!!

WINEARCH=win32   WINEPREFIX=/home/$USER/.wine_prefix/wechat     winecfg    #等号两边不能有空格

# 选择 windows 7,将屏幕显示改为120,不然打字时边框会掩盖字体
WINEARCH=win32   WINEPREFIX=/home/$USER/.wine_prefix/wechat  wine /home/$USER/wine_exe/WeChatSetup.exe        # 安装 WeChat
5. 字体设置:按一、简介中第3种方法设置的
6.创建启动脚本
将文件另存为wechat在主目录新建文件夹wine_init中

#!/bin/bash
WINEPREFIX=/home/$USER/.wine_prefix/wechat   wine "/home/$USER/.wine_prefix/wechat/drive_c/Program Files (x86)/Tencent/WeChat/WeChat.exe"

之后只需运行wechat即可运行。(需要将该目录放入PATH路径中)

网易云音乐启动脚本:

WINEPREFIX=/home/$USER/.wine_prefix/netease_music    wine "/home/$USER/.wine_prefix/netease_music/drive_c/Program Files (x86)/NetEase/CloudMusic/cloudmusic.exe"

将文件保存为net_music,运行即可
7.退出不彻底时:
重启wine:wineboot
或:
  

pkill wineserver
     pkill winedevice.exe
     ps aux | grep wine
     kill -9 25610            # root 25610  C:\windows\system32\winedevice.exe