详解Ubuntu16.04启动器图标异常解决方法

在Ubuntu16.04中,将某个程序锁定到启动器后,偶尔会出现无法正常运行、不能正确输入中文等问题。这里以SQLyog为例,总结一些常见问题和解决方法。

1. 锁定后图标消失/无法启动

在~/.local/share/applications/文件夹下可以找到以.desktop结尾的配置文件,以SQLyog为例,初始的配置文件如下:

  [Desktop Entry]  Encoding=UTF-8  Version=1.0  Type=Application  Name=SQLyog  Icon=sqlyog_exe.png  Path=/home/kevinyang/SQLyog10.2  Exec=Z:homekevinyangSQLyog10.2SQLyog.exe  StartupNotify=false  StartupWMClass=SQLyog.exe  OnlyShowIn=Unity;  X-UnityGenerated=true

因为SQLyog是借助wine启动的,而这里的Exec这个配置记录的是wine内部的执行方式,所以一来锁定到启动器的图标会无法正常显示,二来点击图标也无法启动SQLyog。将启动配置更改为下面的命令:

  Exec=wine "Z:homekevinyangSQLyog10.2SQLyog.exe"

图标就可以正常显示,点击它也能正常启动程序了。

2. 无法使用搜狗输入法

可以尝试在启动时添加fcitx相关的这几个环境变量:

  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:homekevinyangSQLyog10.2SQLyog.exe"  

使用chmod +x命令给这个脚本赋予执行权限,然后在.desktop文件中将Exec配置指向这个脚本即可。

题外话:sublime不能输中文的问题也是一个经常被问起的问题,以前很多博客里的解决方案都比较复杂,现在有个大神专门搞了一个脚本项目解决这个问题,点击查看,整合了以前解决方案中编译库文件等等一些工作,拉下来之后直接执行sublime-text-imfix脚本就可以了,有需要的朋友可以参考下,反正我已经转去用vscode了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

参与评论