我有一个从 U 盘运行的脚本。双击或使用 启动时,它运行良好sh filename.sh
。我创建了一个 .desktop 文件以从启动器启动它,并将其放在 和~/.local/applications
中/usr/share/applications
。
如果我从文件管理器 (thunar) 单击桌面文件,则桌面文件可以工作,但从 nemo 或 nautilus 单击则不行。我在其上运行了桌面文件验证器,并且通过了。
如果我运行脚本并在启动器中右键单击图标并选择“保留在启动器中”,它会在脚本关闭时关闭。而且,它无法显示在 dash 搜索中。
- 为什么 nautilus 和 nemo 会报告“启动应用程序时出错”,而 thunar 可以正常启动。
- 为什么将 .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 中双击时运行:
打开 Nautilus。
从菜单栏打开它:
编辑 → 偏好设置
选择“行为”选项卡。
选择“可执行文本文件”下的“每次询问”。
- 关闭窗口。
现在您可以双击 Nautilus 中的可执行文本文件,系统会询问是否执行或编辑您的脚本。
对于 Nemo 类似:Nemo --> 编辑 --> 首选项 --> 行为 --> 可执行文本文件 --> “打开时运行可执行文本文件”