我创建了这个启动器,其中包含一个快速列表,其中包含用于执行不同应用程序的选项。其中一个选项是 TeamViewer,这是它的快速列表代码:
[桌面操作 fav-teamviewer]
名称=TeamViewer
Exec=/opt/teamviewer9/tv_bin/script/teamviewer
OnlyShowIn=Unity
这很完美,但如果我想直接执行“teamviewer.desktop”文件怎么办?像这样...
[桌面操作 fav-teamviewer]
名称=TeamViewer
Exec=/usr/share/applications/teamviewer.desktop
OnlyShowIn=Unity
我试过了,但不起作用。为什么不起作用?是我做错了还是根本做不到?
我之所以要这样做,是因为如果我从 Dash 正常运行 TeamViewer,其在启动器上的图标是完美的(第一张图片);但如果我从该快速列表选项运行它,它会失去其默认图标并获取通用 Wine 应用程序图标(第二张图片)。请查看屏幕截图以更好地理解。
希望您能帮助我。感谢您的关注。
答案1
桌面文件无法直接从 启动Exec
。因此,使用gtk-launch
Exec
在您的第二个文件选项中如下:
[Desktop Action fav-teamviewer]
Name=TeamViewer
Exec=gtk-launch teamviewer.desktop /usr/share/applications
OnlyShowIn=Unity
通过这种方式,您将能够teamviewer.desktop
通过启动此文件来启动。
从man gtk-launch
:
姓名 gtk-launch——启动应用程序 概要 gtk-launch [应用程序] [URI...]
桌面文件的使用参考:-
描述 gtk-launch 至少接受一个参数,即要启动的应用程序的名称。 该名称应与应用程序桌面文件名匹配,如位于 /usr/share/application 中, 带有或不带有“.desktop”后缀。