Desktop-Environment

什麼是 gio-launch-desktop 以及為什麼 Thunderbird 使用它在預設瀏覽器中打開連結

  • September 4, 2020

在我的 Thunderbird 首選項中,我將 chromium 設置為預設瀏覽器:

network.protocol-handler.app.https      /usr/bin/chromium
network.protocol-handler.app.http       /usr/bin/chromium

但是,當我點擊電子郵件中的連結時,不是在 chromium 中打開 URL,而是Thunderbird啟動了一個程序/usr/lib/x86_64-linux-gnu/glib-2.0/gio-launch-desktop

打開 URL 是什麼gio-launch-desktop,它的作用和用處是什麼?

是否可以告訴 Thunderbird 直接啟動 chromium ?

我正在使用RBAC安全控制,整個級聯使得創建簡單規則變得困難。這種腳本呼叫其他腳本的情況,在無休止的級聯中呼叫其他腳本(與 相同xdg-open)似乎不必要地過於復雜。

gio-launch-desktop是 GNOME 的 GLib 低級核心庫的一部分。它由 Glib 文件gdesktopappinfo.c中的函式啟動g_desktop_app_info_launch_uris_with_spawn,當系統接收到啟動應用程序的請求時呼叫該函式,例如來自 Thunderbird 中的函式。GIO_LAUNCHED_DESKTOP_FILE_PID它在執行應用程序之前設置環境變數,如GNOME/glib commit 742efe6中所述。

似乎 GLib 維護人員也認為使用gio-launch-desktop過於復雜。如GNOME/glib commit 8f7faac所示,在2020 年 2 月 14 日之後的 GLib 版本中,gio-launch-desktop不再存在,已被使用 of 取代。sh

由於 Thunderbird 顯然會導致底層系統啟動 Chromium 而不是直接啟動它(很可能是因為它不知道預設瀏覽器是什麼瀏覽器),因此很明顯,如果不深入研究和重寫,就不可能告訴它這樣做它的原始碼。

引用自:https://unix.stackexchange.com/questions/606809