最近更新了系统,由ubuntu16.04升级到了17.10,但是运行好好的App出现了问题,首先是Application Menu上右侧App图标不能显示,左侧App名称也出现了乱码(中文),Dock上的图标也显示不出来,并且鼠标放上去也显示乱码(中文),净给添乱,唉。
1. 图标不显示
Github上有人也反馈了Application Menu上图标不显示的BUG,https://github.com/electron/electron/issues/10887,采用该方案在虚拟机中时不管用的,但是在真机上可以,也是比较奇怪。
// 在代码中添加下列代码
if(process.env.XDG_CURRENT_DESKTOP == 'ubuntu:GNOME') {
process.env.XDG_CURRENT_DESKTOP = 'Unity';
}
2. 中文标题显示乱码
在项目的package.json文件中有两个字段,name
和productName
,在Ubuntu16.04上只要设置productName字段就可以,中文也可以正常显示,但是升级到Ubuntu17.10以后,该字段已经失效了,英文可以正常显示,但是中文显示的是乱码。
解决方案:
- 在package.json文件中删除
productName
字段 - 在用
electron-packager
打包时,添加--appname
来指定App的名称
按照上面步骤修改完成之后,再次打包,启动,中文就不会乱码了,而且Dock上的图标也可以正常显示了。