最近更新了系統(tǒng),由ubuntu16.04升級(jí)到了17.10,但是運(yùn)行好好的App出現(xiàn)了問(wèn)題,首先是Application Menu上右側(cè)App圖標(biāo)不能顯示,左側(cè)App名稱也出現(xiàn)了亂碼(中文),Dock上的圖標(biāo)也顯示不出來(lái),并且鼠標(biāo)放上去也顯示亂碼(中文),凈給添亂,唉。
1. 圖標(biāo)不顯示
Github上有人也反饋了Application Menu上圖標(biāo)不顯示的BUG,https://github.com/electron/electron/issues/10887,采用該方案在虛擬機(jī)中時(shí)不管用的,但是在真機(jī)上可以,也是比較奇怪。
// 在代碼中添加下列代碼
if(process.env.XDG_CURRENT_DESKTOP == 'ubuntu:GNOME') {
process.env.XDG_CURRENT_DESKTOP = 'Unity';
}
2. 中文標(biāo)題顯示亂碼
在項(xiàng)目的package.json文件中有兩個(gè)字段,name
和productName
,在Ubuntu16.04上只要設(shè)置productName字段就可以,中文也可以正常顯示,但是升級(jí)到Ubuntu17.10以后,該字段已經(jīng)失效了,英文可以正常顯示,但是中文顯示的是亂碼。
解決方案:
- 在package.json文件中刪除
productName
字段 - 在用
electron-packager
打包時(shí),添加--appname
來(lái)指定App的名稱
按照上面步驟修改完成之后,再次打包,啟動(dòng),中文就不會(huì)亂碼了,而且Dock上的圖標(biāo)也可以正常顯示了。