Firefox

Firefox 已經在執行…錯誤,但僅來自 MS Teams

  • April 8, 2022

每當我點擊桌面 Teams 客戶端中的 HTTP(S) 連結時,它會掛起大約 5 秒鐘,然後我收到一條錯誤消息:“Firefox 已經在執行,但沒有響應。要使用 Firefox,您必須先關閉現有程序,重新啟動您的設備,或使用其他配置文件。”

不用說,我的 Firefox 正在執行、響應並打開了很多標籤。我無意關閉它或使用其他配置文件。

當我點擊其他程序(如 Thunderbird、Telegram 等)中的任何連結時,沒有這樣的問題……

如果我在打開此消息的情況下執行“ps -ef”,我會看到以下程序樹:

rakula   30542 30440  0 11:42 pts/10   00:00:00 /opt/firefox/firefox-bin https://URL  <-- the "message" process
rakula   30440 23518  0 11:42 pts/10   00:00:00 /bin/sh /usr/bin/xdg-open https://URL
rakula   23518     1  0 11:14 pts/10   00:00:15 /opt/teams/teams --disable-namespace-sandbox --disable-setuid-sandbox

“https://URL”是我點擊的連結。“rakula”是我的使用者名,我的 X11 會話正在此使用者下執行。

如果我從終端 (urxvt) 手動執行“/bin/sh /usr/bin/xdg-open https://URL”,它會按預期工作 - 在正在執行的 Firefox 視窗中打開一個新選項卡。我很困惑 - 我手動執行此命令和團隊執行相同命令之間可能有什麼區別 - 為什麼後者的行為不同?

Gentoo Linux, dwm, Firefox 99, Teams 1.4.00.26453-r1 Firefox 是從 portage firefox-bin 包安裝的,Teams 也是從 portage 安裝的。此問題在不同版本的 Firefox 和 Teams 之間仍然存在。我在使用 Debian Linux 和 KDE 時沒有遇到過這個問題。

事實證明,TeamsDBUS_SESSION_BUS_ADDRESS=disabled:出於某種未知原因導出。

我創建了一個簡單的包裝腳本並將其放入/usr/local/bin/firefox-wrapper.sh

#!/bin/bash
unset DBUS_SESSION_BUS_ADDRESS
/usr/bin/firefox-bin $*

並編輯/usr/share/applications/firefox-bin.desktop,設置 Exec= 指向我的包裝腳本。

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