当我使用xdg-open
在 Chromium 中打开链接时,它只会打开一个新的 Chromium 窗口,其中只有新标签页,没有其他任何内容。
例如,xdg-open 'https://askubuntu.com'
只会打开一个新的 Chromium 窗口而不会打开 AskUbuntu。
看起来 URL 并没有传递给 Chromium,因为直接调用 Chromium做工作并打开所需的页面:chromium-browser 'https://askubuntu.com'
作品。
显然,Chromium 是默认浏览器。
问题可能出在哪里?我该如何解决?当某些程序xdg-open
打开链接后,您无法转到所需的页面,甚至看不到已打开的内容时,这尤其令人烦恼。
答案1
问题确实是xdg-open
没有将请求的 URL 传递给 Chromium,因此chromium-browser url-here
它没有运行,而是执行了chromium-browser
只打开一个新窗口的操作。
在网上搜索后,我发现xdg-open
使用位于的一些“配置”文件/usr/share/applications
。
/usr/share/applications/chromium-browser.desktop
似乎是正确的,因为它配置为正确地将 URL 传递给 Chromium:
$ grep Exec /usr/share/applications/chromium-browser.desktop
Exec=chromium-browser %U
...
那么问题出在哪里?原来是另一个位置xdg-open
使用了 和 ,并且其优先级高于/usr/share/applications
。
$ grep Exec ~/.local/share/applications/chromium-browser.desktop
Exec=/usr/lib/chromium-browser/chromium-browser --use-system-title-bar --ppapi-flash-path=/usr/lib/pepflashplugin-installer/libpepflashplayer.so --ppapi-flash-version=14.0.0.125
我不知道为什么还有另一个 chromium-browser.desktop,但请注意,此 Exec 行不传递 URL;它缺少%U
。所以我只是附加%U
到此行。这立即解决了xdg-open
Chromium 的所有问题。