O problema é que xdg-open
não passa o URL solicitado para o Chromium, então, em vez de executar chromium-browser url-here
, ele está executando chromium-browser
, o que abre uma nova janela.
Após pesquisar na Internet, descobri que xdg-open
usa alguns arquivos "config" localizados em /usr/share/applications
.
/usr/share/applications/chromium-browser.desktop
parecia estar correto, pois está configurado para passar a URL para o Chromium corretamente:
$ grep Exec /usr/share/applications/chromium-browser.desktop
Exec=chromium-browser %U
...
Então, o que estava errado? Acontece que há outro local que xdg-open
usa e que tem prioridade sobre /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
Não sei por que há outro browser.desktop chromium, mas observe que essa linha Exec não passa o URL; está faltando o %U
. Então eu simplesmente anexei %U
a esta linha. Isso corrigiu instantaneamente todos os problemas com xdg-open
e Chromium.