我遇到过许多需要通过执行 .desktop 文件来启动的应用程序。据我了解,Canonical 出于安全原因已禁止运行此类应用程序。如何接受风险并允许这些应用程序运行?
使用终端并输入 [./MyApp.desktop] 可以成功启动应用程序,但对于经常运行的应用程序来说,这不是理想的解决方案,而且会打开不必要的终端窗口。如何在 Ubuntu 中通过双击来启动 .desktop 应用程序?
我遇到过一些不起作用的建议:
- 在属性中选中“允许将文件作为程序执行”框。
- 将“打开方式...”应用程序设置为“运行软件”。
答案1
这对我运行 Ubuntu 22.04.3 很有效:
someApp.desktop
将文件放入/usr/share/applications
文件夹中sudo cp /path/to/someApp.desktop /usr/share/applications
更改文件权限
sudo chmod +wr /usr/share/application/someApp.desktop
然后您可以在“显示应用程序”面板中搜索该应用程序,就像它是从应用商店安装的一样。
答案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 文件。要切换启动,请右键单击并选择不允许启动。