在Ubuntu16.04中,將某個程序鎖定到啟動器后,偶爾會出現(xiàn)無法正常運行、不能正確輸入中文等問題。這里以SQLyog為例,總結(jié)一些常見問題和解決方法。
1. 鎖定后圖標(biāo)消失/無法啟動
在~/.local/share/applications/文件夾下可以找到以.desktop結(jié)尾的配置文件,以SQLyog為例,初始的配置文件如下:
[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Name=SQLyog
Icon=sqlyog_exe.png
Path=/home/kevinyang/SQLyog10.2
Exec=Z:\\home\\kevinyang\\SQLyog10.2\\SQLyog.exe
StartupNotify=false
StartupWMClass=SQLyog.exe
OnlyShowIn=Unity;
X-UnityGenerated=true
因為SQLyog是借助wine啟動的,而這里的Exec這個配置記錄的是wine內(nèi)部的執(zhí)行方式,所以一來鎖定到啟動器的圖標(biāo)會無法正常顯示,二來點擊圖標(biāo)也無法啟動SQLyog。將啟動配置更改為下面的命令:
Exec=wine "Z:\\home\\kevinyang\\SQLyog10.2\\SQLyog.exe"
圖標(biāo)就可以正常顯示,點擊它也能正常啟動程序了。
2. 無法使用搜狗輸入法
可以嘗試在啟動時添加fcitx相關(guān)的這幾個環(huán)境變量:
export XMODIFIERS="@im=fcitx"
export GTK_IM_MODULE="fcitx"
export QT_IM_MODULE="fcitx"
以SQLyog為例,編寫一個啟動腳本如下:
#!/bin/sh
export XMODIFIERS="@im=fcitx"
export GTK_IM_MODULE="fcitx"
wine "Z:\\home\\kevinyang\\SQLyog10.2\\SQLyog.exe"
使用chmod +x命令給這個腳本賦予執(zhí)行權(quán)限,然后在.desktop文件中將Exec配置指向這個腳本即可。
題外話:sublime不能輸中文的問題也是一個經(jīng)常被問起的問題,以前很多博客里的解決方案都比較復(fù)雜,現(xiàn)在有個大神專門搞了一個腳本項目解決這個問題,點擊查看sublime-text-imfix項目,整合了以前解決方案中編譯庫文件等等一些工作,拉下來之后直接執(zhí)行sublime-text-imfix腳本就可以了,有需要的朋友可以參考下,反正我已經(jīng)轉(zhuǎn)去用vscode了。