如何将自定义的“.desktop”应用程序启动器添加到Ubuntu Dock?

我已经为Ubuntu 16.04创建了用于访问我的Google Chrome配置文件的.desktop文件,但是一旦我升级到Ubuntu 17.10(在Ubuntu 17.04上工作正常),它们就从dock中被移除了,我无法将它们重新固定。 示例文件:
#!/usr/bin/env xdg-open

[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Icon[en_US]=google-chrome
Name[en_US]=Google Chrome
Exec=google-chrome --profile-directory=Default
Comment[en_US]=Chrome
Name=Google Chrome
Comment=Chrome Browser
Icon=google-chrome
Categories=Browser;Internet;
3个回答

  1. 在你的~/.local/share/applications/目录下创建一个.desktop文件(或者,如果你已经有一个准备好的,可以复制它),命名为my-chrome.desktop
    你可以添加以下内容作为一个简单、最基本的.desktop启动器:

    [Desktop Entry]
    Name=我的Chrome
    Comment=Chrome我的个人资料
    Exec=google-chrome --profile-directory=Default
    Icon=google-chrome
    Type=Application
    Terminal=false
    

    各个键的说明如下:

    • Name=应用程序的具体名称(对于这个例子,我使用了“我的Chrome”来避免与已存在的Google Chrome启动器混淆。你可以使用任何其他名称)。
    • Comment=应用程序的简短描述
    • Exec=启动应用程序的命令
    • Icon=应用程序的图标(你可以使用图标主题提供的图标,或者使用绝对路径指定一个图像文件)。
  2. 点击“活动”或“显示应用程序”,然后搜索“我的Chrome”(根据Name键的应用程序名称)。它应该会出现。

  3. 右键点击它,选择“添加到收藏夹”。
    如果在任务栏上右键点击应用程序图标没有显示“添加到收藏夹”选项,可以在“活动”屏幕中搜索该应用程序,然后将其拖到任务栏(由Legolas建议)。

如果什么都不起作用,可以参考这个问答:无法将自定义启动器添加到Ubuntu Dock(添加到收藏夹)

需要重新启动或重新登录吗?对我来说,这甚至无法在“活动”仪表板中显示。 - Zelphir Kaltstahl
2@Zelphir 不应该是必需的,但还是试一下。如果仍然不起作用,请参考这个链接 - pomsky
1当你输入路径时,不能使用。请使用完整的路径。当我使用时,什么都没有显示出来。改用完整路径后一切正常。 - Virmundi
1当然可以,你不能在.desktop文件中使用~符号,你必须使用完整路径(虽然示例.desktop文件的内容中没有~)。 - pomsky
文件在我的活动中没有显示出来。 - Zane Hitchcox
@ZaneHitchcox 文件本身不应该出现在活动中。按应用程序的名称搜索(根据您的.desktop文件中的“Name =”字段)。如果指定的图标文件存在,则应显示指定的图标(根据“Icon =”字段)。 - pomsky
哇,使用这个在活动中搜索然后将图标拖到 Dock 的小技巧对我有效。但是为什么平常添加到收藏夹的方式不起作用呢?在我的情况下,涉及到 k3b DVD 刻录机。 - user2707175
@user2707175 很抱歉回复晚了,之前不知怎么就忽略了。如果你还是用同样的系统,请检查 k3b 的 .desktop 启动器是否包含 StartupWMClass 键。 - pomsky
我在Activities中看到了这个项目,但是右键点击时没有弹出对话框,也无法拖动它。 - Kalnode
解决方案:我必须确保在“Home/.local/share/applications”目录下存在.desktop文件。然后在活动界面中再次搜索该名称,现在我可以看到一个新的大图标,我可以右键点击并选择“添加到收藏夹”。 - Kalnode
我无法在Ubuntu 22.04上使其工作,我已经将postman可执行文件和图标放置在ExecIcon指定的位置,但应用程序窗口中没有任何显示。我将.desktop文件放置在.local/share/applications目录下。[Desktop Entry] Name=Postman Comment=Postman启动器 Version=1.0 Exec=/home/skrhee/.local/share/Postman/Postman Icon=/home/skrhee/.local/share/Postman/postmanIcon Type=Application Terminal=false NoDisplay=false - skrhee

我在Firefox Nightly上遇到了同样的问题。以下配置对我有效,在~/.local/share/applications/firefox-nightly.desktop中进行设置:
[Desktop Entry]
Type=Application
Name=Firefox Nightly
#
# WARNING: Remember to fix the path in Icon and Exec
#
Icon=/path/to/firefox-nightly/browser/icons/mozicon128.png
Exec=/path/to/firefox-nightly/firefox %u
Terminal=false
StartupWMClass=Nightly

没有设置StartupWMClass,运行的应用程序无法被识别,导致图标在任务栏上显示两次。

有关StartupWMClass的更多信息,请参考此答案 - Don Kirkby

对于遇到问题的用户,如果应用程序在“活动”中没有显示,请确保您没有一个

NoDisplay=true

在您的应用程序的.desktop文件中加入这行代码。