Gnome 3 和 .desktop 文件 - “允许/禁止启动做什么”?

Lan*_*ngo 6 desktop gnome refresh launch

我知道在创建 .desktop 文件时,可以将 metadata::trusted 设置为 true 和 false,以便能够将图标作为可执行文件启动。然而,让我感兴趣的是以下事实:

  1. 当右键单击 .desktop 文件并“允许启动”时,它所做的唯一一件事就是将 metadata::trusted 设置为 true。但是,正如预期的那样,该图标会立即更改为 .desktop 文件 Icon= 中描述的图标。

  2. 但是,当通过命令行将 metadata::trusted 设置为 false 或 true 时,图标似乎不会改变其行为 $ gio set android-studio.desktop metadata::trusted false

一旦我手动刷新桌面(Alt + F2 >> 重启),环境就会刷新并且图标再次变为可执行,但整个环境都会重新启动。

那么,在设置了 metadata::trusted 之后,“允许/禁止启动”究竟做了什么?它如何在不刷新整个桌面的情况下刷新 .desktop 本身中的元数据?

xpi*_*-io 5

你的问题和我要找的完全一样。

在 Ubuntu 18.04 (GNOME 3.28) 上:

dbus-launch gio set file.desktop "metadata::trusted" yes
Run Code Online (Sandbox Code Playgroud)

和(虽然这不是你所需要的)

killall nautilus-desktop && nautilus-desktop & disown
Run Code Online (Sandbox Code Playgroud)

Ubuntu 20.04(GNOME 3.36):

dbus-launch gio set file.desktop "metadata::trusted" true
Run Code Online (Sandbox Code Playgroud)

但没有鹦鹉螺桌面...

dbus-send --type=method_call --print-reply --dest=org.gnome.Shell /org/gnome/Shell org.gnome.Shell.Eval string:'global.reexec_self()'
Run Code Online (Sandbox Code Playgroud)

或类似 systemd * ...

看看这段代码:

https://gitlab.gnome.org/GNOME/nautilus/commit/1630f5348

在这里搜索“可信”:

https://download.gnome.org/core/3.36/3.36.2/sources/

nautilus-3.36.2/src/nautilus-file-operations.c

nautilus-3.36.2/src/nautilus-mime-actions.c