如何双击 .desktop 应用程序来启动它们

如何双击 .desktop 应用程序来启动它们

我遇到过许多需要通过执行 .desktop 文件来启动的应用程序。据我了解,Canonical 出于安全原因已禁止运行此类应用程序。如何接受风险并允许这些应用程序运行?

使用终端并输入 [./MyApp.desktop] 可以成功启动应用程序,但对于经常运行的应用程序来说,这不是理想的解决方案,而且会打开不必要的终端窗口。如何在 Ubuntu 中通过双击来启动 .desktop 应用程序?

我遇到过一些不起作用的建议:

  1. 在属性中选中“允许将文件作为程序执行”框。
  2. 将“打开方式...”应用程序设置为“运行软件”。

答案1

这对我运行 Ubuntu 22.04.3 很有效:

  1. someApp.desktop将文件放入/usr/share/applications文件夹中

    sudo cp /path/to/someApp.desktop /usr/share/applications
    
  2. 更改文件权限

    sudo chmod +wr /usr/share/application/someApp.desktop
    
  3. 然后您可以在“显示应用程序”面板中搜索该应用程序,就像它是从应用商店安装的一样。

答案2

我不知道通过启动文件来启动你的应用程序.desktop是否可行,在我这边它也不起作用。

以下是我在遇到同样问题时了解到的情况:

  • /usr/share/applications如果您的文件需要供所有用户使用,则需要将其放在目录中
  • ${HOME}/Desktop如果你的文件仅对当前用户可用,则需要将其放在目录中
  • 文件的内容必须完全正确(我以前将其[Desktop entry]作为节标题,但它需要[Desktop Entry]大写 E)
  • 您还需要检查“允许将文件作为程序执行”(正如您所写的......)
  • 我不确定您是否真的必须为“打开方式...”指定一个值(也许不需要,尽管我也指定了“运行软件”。)
  • 保存.desktop文件后,桌面上会出现一个图标。
  • 右键点击该图标。在显示的上下文菜单中,单击“允许启动”。
  • 该图标应该更改为应用程序的图标(如果文件中指定了图标.desktop),并且双击快捷方式图标后应用程序应该启动。

以下是一个示例.desktop文件:

[Desktop Entry]
Name=MyApp
Comment=MyApp is my favourite app for everything
Exec=/usr/local/myApp/myApp.sh
Icon=/usr/local/myApp/myApp-icon.png
Type=Application

还有一种方法可以检查.desktop文件的有效性:

$ desktop-file-validate myApp.desktop

如果没有输出,并且检查的返回值为 0(用 检查echo $?,快捷方式应该没问题。如果有输出,它应该表明文件出了什么问题。返回值应该不同于 0(例如 1,也用于echo $?检查)

答案3

Ubuntu 22.04

答案中提出的想法也适用于 Ubuntu 22.04。以下是测试:

复制桌面文件〜/ .local/share/应用程序~/桌面, 然后

双击 .desktop 文件,Ubuntu 22.04 回复

桌面文件权限无效

同时显示的是

启用选项,允许将文件作为程序执行

位于下面的选项

权限特性(右键菜单)。

遵循这个建议是有效的。右键菜单也有切换允许启动足以运行 .desktop 文件。允许启动切换也设置权限特性

这个问题最简单的答案是:右键单击 .desktop 文件并选择允许启动.desktop 文件的图标会发生变化,双击即可启动 .desktop 文件。要切换启动,请右键单击并选择不允许启动

相关内容