无法将自定义启动器添加到Ubuntu Dock('添加到收藏夹'选项不显示)

我有一个自定义的.desktop文件:
[Desktop Entry]
Type=Application
Terminal=false
Icon[en_US]=/home/alex/bin/idea-IC-173.4127.27/bin/idea.png
Name[en_US]=IntelliJ
Exec=/home/alex/bin/idea-IC-173.4127.27/bin/idea.sh
Name=IntelliJ
Icon=/home/alex/bin/idea-IC-173.4127.27/bin/idea.png

ls -lha .local/share/applications/intellij.desktop的输出:

-rwx--x--x 1 alex alex 248 Dez 30 10:54 .local/share/applications/intellij.desktop

以前的问题(如何将自定义“.desktop”应用程序启动器添加到Ubuntu Dock?)中发布的答案对我无效。我可以在活动中找到此启动器,并且我可以双击该文件,IntelliJ将会启动。然而,我无法将此启动器添加为收藏夹到Dock上。选项未显示。


这里的所有回答都是关于如何“设置”收藏夹。我没有看到任何关于如何在没有先前了解收藏夹内容的情况下“添加”一个的回答。https://askubuntu.com/questions/1193496/add-app-to-favorites-from-command-line 这个问题可能对处于我的情况的人有所帮助。 - Michael Ziluck
4个回答

打开终端并运行
gsettings get org.gnome.shell favorite-apps

你应该按顺序获取与固定到Ubuntu dock的应用程序相关联的.desktop文件列表,类似以下内容:
['appname-1.desktop', 'appname-2.desktop', 'appname-3.desktop', 'appname-4.desktop', 'appname-5.desktop']

假设您想将与 "intellij.desktop" 文件关联的应用程序固定为 dock 中的第二个项目。在这种情况下,请运行
gsettings set org.gnome.shell favorite-apps "['appname-1.desktop', 'intellij.desktop', 'appname-2.desktop', 'appname-3.desktop', 'appname-4.desktop', 'appname-5.desktop']"

2这个有效!但是当我启动应用时,另一个应用的图标出现了。 - kerner1000
7@kerner1000 试试这个:https://askubuntu.com/a/975230/480481 从第4步开始。 - pomsky
2没问题!非常感谢!我从xprop中实际上得到了两个字符串,我使用了第二个(jetbrains-idea-ce)。 - kerner1000
可能更加用户友好的做法是这样的:无论您将.desktop文件放在哪里,都要将其设置为可执行和可信任的,然后单击打开它,接着右键点击图标并添加到收藏夹中。 - funicorn
1根据OP的说法,其他方法(例如“添加到收藏夹”)在之前的问题中提到的对他们来说都不起作用。这就是为什么他们提出了一个新的问题。 - pomsky
这个什么时候开始运作? - Anna
@Anna 如果操作正确,它应该立即开始工作。如果没有,请尝试退出登录,然后重新登录。 - pomsky

回答来自@pomsky是正确的,但还有一种更简单的方法:使用
dconf-editor  

(如果未安装)请使用sudo apt-get install dconf-editor进行安装,然后导航到org/gnome/shell/favorite-apps。在那里可以编辑和重新排列启动器。

这可能发生在 StartupWMClass 与应用程序的 WMClass 不对应时。有关其工作原理和如何找到 WMClass 的详细信息,请参阅this question。在我的情况下,在 .desktop 文件中设置正确的 StartupWMClass 可以解决此问题。

在我的情况下,该文件最初被命名为idea.desktop。
我不得不将其重命名为jetbrains-idea.desktop才能使其正常工作。
我之所以意识到这一点,是因为当我将鼠标悬停在码头上的图标上时,它显示了一个jetbrains-idea的工具提示。

sudo mv /usr/share/applications/idea.desktop /usr/share/applications/jetbrains-idea.desktop