看似微不足道的任务,但让它完全发挥作用确实并不简单。如今在Ubuntu上的Gnome中,如何正确创建桌面快捷方式,以便
- 可以在 Gnome 的“显示应用程序”中找到
- 右键单击时会显示“添加到收藏夹”并添加到收藏夹
- 运行时以组合方式显示在仪表板上,以便锚定的收藏夹图标与正在运行的应用程序窗口组合在一起
?
例如,对于 Intellij IDEA 来说,这并不是一件容易的事。
答案1
您有两件事需要对齐:WM_CLASS
与桌面文件名和StartWMClass
与可执行文件名称。尽管两者都有WM
名称,但它们具有不同的价值。这给我带来了很多困惑。
- 运行您的应用程序,运行
xprop
并单击应用程序窗口。搜索WM_CLASS
线路。对于 Intellij IDEA 来说,它是jetbrains-idea-ce
.只取两者中的一个值。
WM_CLASS(STRING) = "jetbrains-idea-ce", "jetbrains-idea-ce"
- 创建一个
.desktop
以它命名的文件,jetbrains-idea-ce.desktop
. - 将这些行放入其中:
[Desktop Entry]
Terminal=false
Type=Application
Name=Intellij IDEA
Exec=/opt/idea-IC-211.7142.45/bin/idea.sh
Icon=/opt/idea-IC-211.7142.45/bin/idea.svg
StartupWMClass=idea.sh
请注意,文件名与WM_CLASS
行值匹配,但StartupWMClass
应该与可执行文件名称idea.sh
.另一个例子是gnome-connection-manager
,您在其中放置.py
文件名,而不是整个命令。
[Desktop Entry]
...
Exec=python3 /opt/gnome-connection-manager-1.2.1/gnome_connection_manager.py
...
Name[en]=Gnome Connection Manager
StartupWMClass=gnome_connection_manager.py
此步骤将把最喜欢的锚定图标与正在运行的应用程序窗口结合起来。
将你的
jetbrains-idea-ce.desktop
放入/usr/share/applications
.然后,您可以在 中找到它Show Applications
。但现在如果你右键单击它,你还不能将其添加到收藏夹。现在也把它放进去
~/.local/share/applications
。然后现在就可以添加到收藏夹了。
我不知道为什么这必须如此复杂。