字体乱码或方框
如果字体是方块或乱码,有以下解决方案:
查看编码环境
查看系统运行环境或终端编码环境是否和wine的语言编码一样。
locale
LANG="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_CTYPE="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_ALL=
如果需要把编码环境改为ASCII编码,则:
export LANG=""
链接字体
当一种字体不存在时,可以替换为另一种字体:
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink]
"Lucida Sans Unicode"="wqy-microhei.ttc"
"Microsoft Sans Serif"="wqy-microhei.ttc"
"MS Sans Serif"="wqy-microhei.ttc"
"Tahoma"="wqy-microhei.ttc"
"Tahoma Bold"="wqy-microhei.ttc"
"SimSun"="wqy-microhei.ttc"
"Arial"="wqy-microhei.ttc"
"Arial Black"="wqy-microhei.ttc"
其中wqy-microhei.ttc
是/usr/share/fonts
中存在的字体。
安装字体的方法:
sudo apt install fonts-wqy-zenhei ttf-mscorefonts-installer fontmatrix
如果上述方式不生效,那么可以在以下位置进行上述操作:
[HKEY_CURRENT_USER\Software\\Wine\\Fonts\\Replacements]
或[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\FontSubstitutes]
另外,运行一些软件时可能发现菜单的字体仍不是我们所期望的,此时可以修改~/.wine/drive_c/windows/win.ini
,在文件中加入:
[Desktop]
IconTitleFaceName=SimSun
输入框不能输入问题
首选复制原生Windows riched20.dll到 ~/.wine/drive_c/windows/system32/
目录下,然后:
wine winecfg
缺少MSVCP140.dll
可以去winetricks查阅缺少组件所属的部件。
缺少MSVCP140D.dll
解决方案:以release模式构建
debug模式链接的是debug版本的vcruntime,dll名后面有个d,这些dll只在vs目录里有。
缺失MFC问题
winetricks mfc42
由于我这里的winetricks版本中没有独立的mfc42这个dll,提示安装失败,这种情况也是经常遇到,那么可以选择使用手动方案:
我们可以去网上下载MFC42.dll,也可以去windows虚拟机windows/system32目录下拷贝,记得下载版本一定是要32位,之后拷贝到容器的windows/system32目录或应用可执行文件同目录即可。
缺失vcrun
可以先查找它们属于哪个vcrun:
winetricks list-all | grep vcruntime140
发现缺失vcrun2015
winetricks vcrun2015
缺失.Net
winetricks dotnet46
COM组件未注册
我们可以先在windows下安装好应用可以正常运行后,在注册表中搜索“9165c9f3-ce90-4b41-8741-9243d0f39049“, 找到com的文件名,然后再在容器注册此com
wine regsvr32 C:\\AxGUI.ocx
安装IE引擎
安装前查看:Gecko版本和wine版本对照表
Wine Gecko IE engine,官网地址:
http://dl.winehq.org/wine/wine-mono/5.1.1/wine-mono-5.1.1.msi
http://dl.winehq.org/wine/wine-gecko/2.47/wine_gecko-2.47.2-x86_64.msi
安装.NET相关
wine-mono,中科大的镜像
http://mirrors.ustc.edu.cn/wine/wine/wine-mono/5.1.1/wine-mono-5.1.1-x86.msi
http://mirrors.ustc.edu.cn/wine/wine/wine-gecko/2.47.2/wine-gecko-2.47.2-x86.msi
微信概率无法输入中文
被沙盒影响的,原因未知,关闭沙盒即可。
wine wechat.exe --no-sandbox