一、简介
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:WINDOWSFontssimsun.ttf复制字体到Linux系统中/root/.wine/drive_c/windows/Fonts里面。
(2) 修改/root/.wine/system.reg
装好字体后,还要修改一下 Wine 的注册表设置,指定与字体相关的设置:
gedit /root/.wine/system.reg
(一定要使用 gedit 、vim或其他支持 gb2312/utf8 编码的编辑器修改这些文件,否则文件中的中文可能变乱码)
搜索: LogPixels
找到的行应该是:[SystemCurrentControlSetHardware ProfilesCurrentSoftwareFonts]
将其中的:
“LogPixels”=dword:00000060
改为:
“LogPixels”=dword:00000070
搜索: FontSubstitutes
找到的行应该是:[SoftwareMicrosoftWindows NTCurrentVersionFontSubstitutes]
将其中的:
“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_MACHINESoftwareMicrosoftWindows NTCurrentVersionFontSubstitutes]
“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:windowssystem32winedevice.exe