Gnome中修改过的的desktop entry搜索不到的问题

我使用arch linux系统,想在使用“向日葵”(从AUR下载的sunloginclient)软件的时候通过设置环境变量关闭fcitx输入法,于是在 /usr/share/applications/sunlogin.desktop 中将 Exec 行改了:

@@ -1,7 +1,7 @@
 [Desktop Entry]
 Comment=Sunlogin Remote Control is a software that supports remote control of mobile devices, Windows, Mac, Linux and other systems. It is the best choice for IT technology, game players, designers and other people with remote management needs. 
 Comment[zh_CN]=向日葵远程控制软件是一个支持移动设备、Windows、Mac、Linux等多系统多设备间相互远程控制的软件,是具有远程管理等需求的IT技术、游戏玩家、设计师等人群的不二选择。
-Exec=/usr/bin/sunloginclient
+Exec=sh -c "XMODIFIERS='@im=null' /usr/bin/sunloginclient"
 GenericName=Sunlogin Client
 GenericName[zh_CN]=向日葵客户端
 Name=Sunlogin Client
 Name[zh_CN]=向日葵
 StartupNotify=false
 Terminal=false
 Type=Application
 Categories=Network;RemoteControl;
 Icon=sunloginclient
 # Remove under line for fixing icon bug in taskbar
 #StartupWMClass=sunloginclient

改过之后,便无法在活动(activities)视图输入sunlogin搜索到这个程序了,没改时是可以的。 不过虽然搜索不到,但是应用程序列表里却可以找到。

图片

不知道有没有人遇到同样的问题?

系统信息:

你其实可以把脚本放文件中,然后把文件路径写到exec里

我都是将 desktop 文件直接放到 ~/.local/share/applications/ 目录下,立即生效的

我复制sunlogin.desktop到~/.local/share/applications/,只在这个用户级的文件里把Exec行改掉,然后逐行注释+ update-desktop-database 检查是哪一行导致搜索不到,发现是下面这一行

Name[zh_CN]=向日葵

只要把它注释掉,活动视图里就可以使用sunlogin搜索到。如果不注释,依然搜索不到。

然后我又试着在不注释那一行的情况下添加了下面这一行

Keywords=sunlogin

发现也可以搜索了。目前就使用Keywords作为解决方案吧。

不过还是感觉Gnome的行为挺奇怪的。

如果把Name[zh_CN]改成

Name[zh_CN]=sunlogin向日葵

发现也可以搜到,所以我猜测Gnome在中文Name存在时就只用中文Name来匹配。 另外也匹配Keywords中的字符串,所以才有这种现象的,不过还无法解释Exec的改变导致了什么