完全从终端 (CLI) 在桌面上创建程序快捷方式?- Ubuntu 20.04 / GNOME 3

miy*_*lys 6 gnome command-line shortcuts

在 Ubuntu 20.04 中是否发现了一种完全从终端/CLI(可编写脚本)在桌面上创建程序快捷方式的方法?

我可以.desktop从复制文件/usr/share/applications/,并将它们设置为可执行文件,但显然这已经不够了。现在有最后一步:

右键单击快捷方式 -> 选择Allow Launching

在完成之前,双击它只是将.desktop文件作为文本文件打开,而不是执行程序。此外,在该步骤之前,图标是通用的 shell 脚本图标,而不是程序自己的图标。

...我还不知道如何从终端执行那一步。

任何帮助表示赞赏 - 谢谢。


我自己的调查:

Allow Launching 确实将脚本设置为可执行文件,但手动这样做是不够的。同样从我的调查来看,它不会改变 .desktop 文件本身,并且没有对ls -l或可见的任何更改lsattr,所以我假设它是一些其他类型的数据库,它跟踪允许启动哪些快捷方式,哪些是不是吗?

考虑的解决方案:

  • gnome-desktop-item-edit 不能这样做,而且它也不再存在于最新版本的 Ubuntu 中。
  • alacarte 我不确定,但不管它只是 GUI。
  • desktop-file-install/desktop-file-edit我不确定。

Has*_*kit 6

PiluX v2.0 (Ubuntu 20.04 Custom OS) 使用了这个脚本(它有效)

脚本信任用户桌面文件夹中的所有 .desktop 文件并设置权限。

#!/bin/bash
cd $(xdg-user-dir DESKTOP)
chmod +x *.desktop

FILES="*.desktop"
for f in $FILES
do
    gio set $f metadata::trusted true
done
Run Code Online (Sandbox Code Playgroud)

像这样的想法为您的应用程序更改此脚本;

#!/bin/bash
chmod +x $(xdg-user-dir DESKTOP)/yourapp.desktop
gio set $(xdg-user-dir DESKTOP)/app.desktop metadata::trusted true
Run Code Online (Sandbox Code Playgroud)

(gio set ...desktop metadata::trusted value 为 true。不是。)祝你好运:)