每当我在某些 GUI 应用程序(例如 signal 或 slack)中单击链接时,要么什么也没有发生,要么只是看到屏幕闪烁(当我正常启动 firefox 时屏幕也会闪烁)。无论 Firefox 是否已经运行,都会发生这种情况。当我关闭所有 Firefox 窗口时,什么也没有发生。但是,如果我killall firefox
从命令行运行两次,Chromium 会突然打开,并显示我过去几天点击的每个链接。这并不是在每个应用程序中都会发生:例如,gajim 链接打开得很好。
Firefox 配置为打开 url:
$ xdg-mime query default x-scheme-handler/http
firefox.desktop
$ xdg-mime query default x-scheme-handler/https
firefox.desktop
$ xdg-settings get default-web-browser
firefox.desktop
$ grep Exec /usr/share/applications/firefox.desktop
Exec=/usr/lib/firefox/firefox %u
Exec=/usr/lib/firefox/firefox --new-window %u
Exec=/usr/lib/firefox/firefox --private-window %u
如果我点击一个链接,它会生成两个 Firefox 进程,一个已失效,另一个带有链接:
$ ps aux | grep firefox
drew 1459371 0.0 0.0 6284 2324 pts/0 S+ 17:43 0:00 grep --color=auto firefox
# Click on a link in slack now.
$ ps aux | grep firefox
drew 1459491 0.6 0.0 195908 31008 tty1 Sl 17:43 0:00 /usr/lib/firefox/firefox https://google.com
drew 1459494 1.0 0.0 0 0 tty1 Z 17:43 0:00 [firefox] <defunct>
drew 1459498 0.0 0.0 6284 2164 pts/0 S+ 17:43 0:00 grep --color=auto firefox
$ killall firefox
# Nothing happens the first time, even if I use "killall -9 firefox"
$ ps aux | grep firefox
drew 1459555 0.8 0.0 195908 31096 tty1 Sl 17:43 0:00 /usr/lib/firefox/firefox https://google.com
drew 1459558 1.0 0.0 0 0 tty1 Z 17:43 0:00 [firefox] <defunct>
drew 1459668 0.0 0.0 6284 2312 pts/0 S+ 17:43 0:00 grep --color=auto firefox
$ killall firefox
# Suddenly, chromium opens with the link from slack.
$ ps aux | grep firefox
drew 1460549 0.0 0.0 6284 2164 pts/0 S+ 18:01 0:00 grep --color=auto firefox
无论 Firefox 是否已经运行,我都会得到这些相同的进程。关闭我的 Firefox 窗口并不会终止这些进程。所以只有在运行后killall firefox
我才会看到这种行为。
如果我在终端窗口中运行这些命令中的任何一个,Firefox 都会按预期正常打开链接:
$ xdg-open https://google.com
$ /usr/lib/firefox/firefox https://google.com
我在arch linux中使用没有桌面环境的openbox。最近,我安装了 KDE Plasma 并运行了一次,只是为了弄乱面板,然后立即将其卸载。回到正常的 openbox 设置后,我注意到我的一些配置被搞砸了。我认为这大约是在同一时间开始发生的。
这实在是太奇怪了!知道发生了什么事吗?