Ubuntu 20.04/21.10:如何创建指向 bash 文件的应用程序快捷方式?

Ubuntu 20.04/21.10:如何创建指向 bash 文件的应用程序快捷方式?

我有这个 bash 脚本:test.sh,我希望能够在我的应用程序中找到它和/或将其作为我的 dock 中的收藏夹。

因为我从来没有这样做过,所以我依赖于: 从 *.desktop 文件执行 sh 脚本?

然后我创建了一个文件:test.desktop

[Desktop Entry]
Name=TEST
Comment=bash copy/resize
Exec=bash ~/mybash/test.sh
NoDisplay=False
Terminal=False
Type=Application
Icon=~/usr/share/pixmaps/copy-resize.png
Categories=Accessories;

设置执行权限,并创建/usr/share/applications/usr/share/pixmaps/mybash在我的主目录中启动。我可以右键单击它并作为应用程序运行,但它在设置>应用程序中不可见

将其拖到桌面没有帮助,因此发现: 无法启动 .desktop 文件(而是使用文本编辑器打开)

由于我不知道如何找到 /.local 文件夹,所以我决定复制该文件:

sudo cp ~/usr/share/applications/test.desktop ~/.local/share/applications

现在可以在设置>应用程序下找到它,可惜它没有图标,但我在应用程序下找不到它。如果我在应用程序视图(9 个点)中搜索,我会发现它/.local/share/applications/test.desktop被列为文本文件,右键单击不会给我将其设置为收藏夹的选项,而左键则会在 geany 中打开它(因为它是使用该应用程序制作的)

如果我在终端尝试:

bash ~/.local/share/applications/test.desktop

它启动sh脚本,在终端输出:

/home/maarten/.local/share/applications/test.desktop: 1: [Desktop: not found
/home/maarten/.local/share/applications/test.desktop: 3: Cam: not found
starting gui...

它确实完成了工作,在 Dock 中,我看到了我选择的图标和一个点,表示它处于活动状态,并且 GUI 已打开。因此,除了设置>应用程序中的图标位置外,这部分都可以正常工作。但双击仍会转到文本编辑器。如果放在桌面上,我可以设置“允许启动”,将文件图标更改为文本文档,但双击没有任何作用。

最大的问题是谁能告诉我在完成这项工作时我遗漏了什么?

此刻我已将 test.desktop 复制到:

(home)/test.desktop, (with/without allow launching)
/Desktop/test.desktop, 
/.local/share/applications/test.desktop and 
/usr/share/applications/test.desktop. 

在所有地方我都可以使用右键单击并选择作为程序运行,但双击无法打开文件。

答案1

快速解决

尝试以下步骤

  1. 通过将 .desktop 文件替换~/some/path/file.ext/home/<username>/some/path/file.ext

  2. 您还可以设置Terminal=True在运行.desktop 快捷方式时打开终端。

    你的 .desktop 文件应如下所示:

    [Desktop Entry]
    Name=TEST
    Comment=bash copy/resize
    Exec=bash /home/<your-username>/mybash/test.sh
    NoDisplay=False
    Terminal=True
    Type=Application
    Icon=/usr/local/share/pixmaps/copy-resize.png
    Categories=Accessories;
    

屏幕截图的预期行为

  • 在 Nautilus 等文件浏览器中查看.desktop文件时,文件将显示为典型的文本文件或可能带有齿轮符号 在此处输入图片描述

  • 双击文件时,.desktop将应用 xdg 设置中为该 mime 类型设置的默认文件操作,在这种情况下,.desktop 文件将在默认文本编辑器中打开 在此处输入图片描述
      您可以像这样检查您的 xdg-mime 设置: 在此处输入图片描述

    如你所见,我的默认设置也是 GNOME Builder

 

  • 我一直在使用 JetBrains CLion IDE .desktop 文件展示上述内容,现在让我向您展示如何正确使用 .desktop 文件。
    1. Super/Win首先使用键盘上的 键或单击任务栏上的 3x3 网格图标来访问应用程序菜单[笔记:这可能会因您的桌面环境和配置而异] 在此处输入图片描述

    2. 开始输入您的应用程序名称;在您的情况下TEST,但在我的示例中CLion 在此处输入图片描述

信息

  1. 已经有人指出,在.desktop 文件~中使用快捷方式不起作用Unity Launcher

    这就是为什么你需要指定脚本及其图标文件的完整路径

  2. 您应该/home/<username>/.local/share/applications/只使用您的用户帐户查看条目
    ,或者/usr/local/share/applications/使用机器的所有用户查看条目

  3. 你不需要$HOME/usr/文件夹,$HOME/.local/这可能是你正在考虑的

  4. 参考这里有关如何正确设置 .desktop 启动器文件的更多详细信息

参考

Unity 启动器规范
Ubuntu-desktop 命令手册

答案2

如果桌面文件位于主文件夹中,则可行。出现“设置为收藏夹”选项。

还有一个有用的应用程序叫做“menulibre”。

相关内容