在我的Thunderbird首选项中,我将my设置为默认浏览器:
network.protocol-handler.app.https /usr/bin/chromium
network.protocol-handler.app.http /usr/bin/chromium
但是当我点击电子邮件中的链接,而不是打开铬的网址,Thunderbird
启动一个程序/usr/lib/x86_64-linux-gnu/glib-2.0/gio-launch-desktop
。
什么是gio-launch-desktop
,在打开URL时它的作用和用途是什么?
有可能告诉雷鸟直接启动铬吗?
我使用的是RBAC
安全控制,整个级联使得很难创建简单的规则。这种情况下,脚本调用其他脚本,调用其他脚本的层叠(与xdg-open
相同)似乎不必要地过于复杂。
发布于 2020-09-03 17:11:16
gio-launch-desktop
是GNOME低层核心库的一部分.它是在Glib文件gdesktopappinfo.c
中由函数g_desktop_app_info_launch_uris_with_spawn
启动的,当系统接收到启动应用程序的请求(例如从Thunderbird中的函数)时,显然会调用该函数。它在执行应用程序之前设置GIO_LAUNCHED_DESKTOP_FILE_PID
环境变量,如GNOME/glib提交742 efe6中所述。
GLib维护人员似乎也认为gio-launch-desktop
的使用过于复杂。在2020年2月14日之后发布的GLib中,gio-launch-desktop
已不再存在,取而代之的是使用sh
,如GNOME/glib提交8f7faac中所示。
由于Thunderbird显然会导致底层系统启动铬,而不是直接启动它(很可能是因为它不知道默认浏览器是哪个浏览器),因此似乎很明显,如果不深入研究和重写源代码,就不可能告诉它这样做。
https://unix.stackexchange.com/questions/606809
复制