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

10

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

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

Parece apenas que a URL não está sendo passado para Chromium, como invocando cromo diretamente faz o trabalho e abre a página desejada: chromium-browser '/ubuntu/' obras .

Obviamente, o Chromium é o navegador padrão.

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

Léo Lam
fonte
Embora essa pergunta seja para o Chromium, isso pode funcionar para o Firefox se for o mesmo problema.
Léo Lam

Respostas:

17

O problema é que xdg-opennão passa o URL solicitado para o Chromium; portanto, em vez de executá- chromium-browser url-herelo, ele está executando, o chromium-browserque apenas abre uma nova janela.

Depois de pesquisar na Internet, descobri que xdg-openusa alguns arquivos de "configuração" localizados em /usr/share/applications.

/usr/share/applications/chromium-browser.desktop parecia estar correto, pois está configurado para passar o 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-openusa 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 tenho idéia do motivo pelo qual existe outro navegador chromium-browser.desktop, mas observe que essa linha Exec não passa a URL; está faltando o %U. Então, simplesmente anexei %Ua esta linha. Isso corrigiu instantaneamente todos os problemas com o xdg-openChromium.

Léo Lam
fonte
Incrível! Eu tenho batido minha cabeça contra uma parede de tijolos por semanas, mal encontrei esta resposta. A mesma coisa acontece com o google-chromepacote. Como você descobriu?
Adaline Simonian
1
Eu também tinha esse problema há muito tempo e só descobri a causa quando li sobre os .desktoparquivos de aplicativos - lembrei-me dos problemas com o Chromium e decidi verificar os arquivos, e foi assim que o corrigi.
Léo Lam
1
Por fim, acho que o problema foi causado por pimenta, embora não tenha certeza. Precisa verificar a lista de arquivos do pacote ou instalar o script para ter certeza.
Léo Lam
Graças, trabalharam para google-chrome, atualizando ~ / .local / share / applications / google-chrome.desktop
Vlad
Transferiu arquivos relacionados ao chrome de /.local/share/applications e começou a funcionar instantaneamente! Obrigado!
Íhor Mé