xdg-open abre apenas uma nova guia em uma nova janela do Chromium, apesar de ter passado um URL

10

Quando estou usando xdg-open para abrir um link no Chromium, isso resulta em uma nova janela do Chromium com apenas a nova página da guia, com mais nada.

Por exemplo, xdg-open 'https://askubuntu.com' apenas abrirá uma nova janela do Chromium e não abrirá o AskUbuntu.

Parece que o URL não está sendo passado para o Chromium, pois a ativação direta do Chromium é feita e abre a página desejada: chromium-browser 'https://askubuntu.com' funciona .

Obviamente, o Chromium é o navegador padrão.

Onde poderia estar o problema e como posso corrigir isso? É especialmente irritante quando alguns programas usam xdg-open para abrir um link e você não pode ir para a página que você quer, ou até mesmo ver o que foi aberto.

    
por Léo Lam 24.10.2014 / 12:24

1 resposta

15

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.

    
por Léo Lam 24.10.2014 / 12:24