让 .desktop 文件显示在启动器中

让 .desktop 文件显示在启动器中

我有一个从 U 盘运行的脚本。双击或使用 启动时,它运行良好sh filename.sh。我创建了一个 .desktop 文件以从启动器启动它,并将其放在 和~/.local/applications/usr/share/applications

如果我从文件管理器 (thunar) 单击桌面文件,则桌面文件可以工作,但从 nemo 或 nautilus 单击则不行。我在其上运行了桌面文件验证器,并且通过了。

如果我运行脚本并在启动器中右键单击图标并选择“保留在启动器中”,它会在脚本关闭时关闭。而且,它无法显示在 dash 搜索中。

  1. 为什么 nautilus 和 nemo 会报告“启动应用程序时出错”,而 thunar 可以正常启动。
  2. 为什么将 .desktop 文件拖到启动器中时,它不出现在搜索中且不保留在启动器中。

该脚本有 750 行,因此我不会在这里发布它,但这没关系,因为无论我把它放在哪里它都能正常运行。

答案1

尝试使用阿罗纳克斯。这是一个功能强大的 .desktop 文件编辑器。您可以为二进制/脚本文件创建 .desktop 文件,或为运行命令创建 .desktop 文件。您还可以为 .desktop 文件设置图标。

答案2

我可能来晚了(正如你在 5 月发布的那样),但这就是我所发现的。我也很抱歉拖延了这么久,但我正在尝试详细说明,以便其他遇到此问题并需要帮助的人能够理解。

我发现如果你想搜索它,你必须在 .desktop 文件中添加一行。这是我的 .desktop 文件。

您不一定要执行此部分,但我建议您这样做:

对于我的图标和执行行,我在主目录中创建了一个名为“Applications”的文件夹,将我的所有 .jar、.sh 等文件都放在其中。您可以将该行替换为文件所在的位置。

您还可以为图标创建一个文件夹。我没有这样做,但这会有所帮助 ;)。同样,如果在另一个目录中,只需将该行替换为您的文件所在的位置即可。

很重要用于目录。当我创建 .desktop 文件时,我忘记在文件目录周围加上引号。如果没有它,它就无法运行,但我修复了它。这可能是问题所在。如果是这种情况,这里有一个有和没有的例子。我将使用 Feed The Beast 作为例子。如果问题出在图标上(例如不显示),请将 Exec= 替换为 Icon=。如果您尝试处理 jar 文件,请在开头输入 java -jar。您需要 Java 才能打开它们。要检查您是否有它,请打开终端并输入 java --version。

不工作:

Exec=/home/e1337gamerman/Applications/Feed The Beast/FTB_Launcher.jar

在职的:

Exec="/home/e1337gamerman/Applications/Feed The Beast/FTB_Launcher.jar"

罐:

Exec=java -jar“/home/e1337gamerman/Applications/Feed The Beast/FTB_Launcher.jar”

我将替换我的行以配合 .sh 文件,并将其命名为“Bash.sh”。对于 Terminal 行,如果您想在启动时打开终端,请输入 true。否则,请输入 false。我的计算机用户名是 e1337gamerman,但请将其替换为您的用户名。

[桌面条目]

类型=应用程序

名称=Bash

评论=您在此处发表评论

终端=false

StartupNotify=true

Exec=/home/e1337gamerman/应用程序/Bash/Bash.sh

图标=/home/e1337gamerman/Applications/Bash/Bash.png

关键字=bash;

这应该可以解决问题。将其放入 /usr/share/applications/ 文件夹,然后重新启动计算机。它应该会在您的 Unity 启动器中开始工作。如果没有,请等待几分钟。然后,只需搜索它即可。

关键字应这样使用:

关键词=blah;blah;blah;

对于空格,您可能需要也可能不需要引号。请参阅此处的 Ubuntu 帮助部分。此外,多个单词需要分号,后跟不带空格的单词。您应该在最后一个单词后加上分号来结束该行。

就是这样。这看起来很复杂,但实际上并不复杂。希望这对你有帮助。玩得开心!

答案3

导致应用程序未出现在启动器中的另一个原因是如果定义了此属性:

NoDisplay=true

来自文档

NoDisplay 表示“此应用程序存在,但不显示在菜单中”。这很有用,例如将此应用程序与 MIME 类型关联,以便从文件管理器(或其他应用程序)启动它,而无需为其设置菜单项 [...]

如果NoDisplay=true您的文件中存在该行.desktop,请将其删除,以便应用程序在活动中搜索它时显示出来(即按“Super”又名“Windows”键)。

答案4

为了使其在 Nautilus 中双击时运行:

  1. 打开 Nautilus。

  2. 从菜单栏打开它:

    编辑 → 偏好设置

  3. 选择“行为”选项卡。

  4. 选择“可执行文本文件”下的“每次询问”。

  5. 关闭窗口。

现在您可以双击 Nautilus 中的可执行文本文件,系统会询问是否执行或编辑您的脚本。

在此处输入图片描述

对于 Nemo 类似:Nemo --> 编辑 --> 首选项 --> 行为 --> 可执行文本文件 --> “打开时运行可执行文本文件”


相关内容