我已设置 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