在Ubuntu16.04中,將某個程序鎖定到啟動器后,偶爾會出現無法正常運行、不能正確輸入中文等問題。這里以SQLyog為例,總結一些常見問題和解決方法。
1. 鎖定后圖標消失/無法啟動
在~/.local/share/applications/文件夾下可以找到以.desktop結尾的配置文件,以SQLyog為例,初始的配置文件如下:
1
2
3
4
5
6
7
8
9
10
11
12
|
[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內部的執行方式,所以一來鎖定到啟動器的圖標會無法正常顯示,二來點擊圖標也無法啟動SQLyog。將啟動配置更改為下面的命令:
1
|
Exec=wine "Z:\\home\\kevinyang\\SQLyog10.2\\SQLyog.exe" |
圖標就可以正常顯示,點擊它也能正常啟動程序了。
2. 無法使用搜狗輸入法
可以嘗試在啟動時添加fcitx相關的這幾個環境變量:
1
2
3
|
export XMODIFIERS="@im=fcitx" export GTK_IM_MODULE="fcitx" export QT_IM_MODULE="fcitx" |
以SQLyog為例,編寫一個啟動腳本如下:
1
2
3
4
5
|
#!/bin/sh export XMODIFIERS= "@im=fcitx" export GTK_IM_MODULE= "fcitx" wine "Z:\\home\\kevinyang\\SQLyog10.2\\SQLyog.exe" |
使用chmod +x命令給這個腳本賦予執行權限,然后在.desktop文件中將Exec配置指向這個腳本即可。
題外話:sublime不能輸中文的問題也是一個經常被問起的問題,以前很多博客里的解決方案都比較復雜,現在有個大神專門搞了一個腳本項目解決這個問題,點擊查看sublime-text-imfix項目,整合了以前解決方案中編譯庫文件等等一些工作,拉下來之后直接執行sublime-text-imfix腳本就可以了,有需要的朋友可以參考下,反正我已經轉去用vscode了。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。
原文鏈接:https://www.jianshu.com/p/03bf3ef65ad2