如果 Thunderbird 已在运行,为什么在启动 Firefox 时会导致错误?

如果 Thunderbird 已在运行,为什么在启动 Firefox 时会导致错误?

我已设置 Thunderbird (v52.9.1) 来通过 http(s) 链接启动 Firefox。

具体来说,它被设置为运行包含以下内容的脚本(除了shebang之外):

firefox --profile /path/to/profile --private-window "$@"

问题是,如果 Firefox 已经在运行,并且我在 Thunderbird 中打开 http(s) 链接,则会收到错误:

Firefox is already running, but is not responding. To open a new window, you must first close the existing Firefox process, or restart your system.

令我感到困惑的是,如果我通过终端或桌面环境执行相同的脚本,Firefox 就会毫无问题地打开(即使有另一个脚本正在运行)。

为什么会发生这种情况?

答案1

Thunderbird 设置了很多环境变量(这个错误可能相关),这将改变 Firefox 的行为。目前尚不清楚这是否有意为之。

解决方案是找到并取消设置它们;我在我的案例中找到的包含相关unset内容的列表是:

unset MOZ_APP_LAUNCHER
unset MOZ_ASSUME_USER_NS
unset MOZ_CRASHREPORTER_DATA_DIRECTORY
unset MOZ_CRASHREPORTER_EVENTS_DIRECTORY
unset MOZ_CRASHREPORTER_RESTART_ARG_0
unset MOZ_CRASHREPORTER_RESTART_ARG_1
unset MOZ_CRASHREPORTER_RESTART_ARG_2
unset MOZ_LAUNCHED_CHILD
unset MOZ_NEW_INSTANCE
unset NO_AT_BRIDGE
unset NO_EM_RESTART
unset XRE_BINARY_PATH
unset XRE_PROFILE_LOCAL_PATH
unset XRE_PROFILE_NAME
unset XRE_PROFILE_PATH
unset XRE_START_OFFLINE
unset XUL_APP_FILE

相关内容