Como definir qual aplicativo é iniciado pelo xdg-open?


21

Eu corri update-alternativestão bem quanto a preffered appsseleção de gnomos . E todos apontam para ter o chromiumnavegador como padrão. No entanto, quando corro o Firefox, é lançado! Da mesma forma e também lançar coisas no Firefox em vez de cromo.xdg-open http://askubuntu.comemacsbzr

Existem configurações adicionais que afetam a funcionalidade xdg-open?

Algo está definitivamente quebrado:

ATUALIZAÇÃO
Limpei o firefox:
update-alternative - usa navegador
sensível ao cromo - abre navegador de cromo
xdg-open & gnome-open - abre usando o google-chrome, que gentilmente me diz "não é o navegador padrão"

!!!!


Respostas:


7

O Chromium também tem uma opção em suas preferências para torná-lo o navegador padrão:

texto alternativo

Isso deve funcionar, mas, se não, continue lendo:

Existem várias chaves no banco de dados GConf que determinam qual navegador é iniciado por xdg-open:

  • /desktop/gnome/url-handlers/unknown/command
  • /desktop/gnome/url-handlers/http/command
  • /desktop/gnome/url-handlers/https/command
  • /desktop/gnome/url-handlers/about/command

Verifique se estão todos definidos corretamente:

  • Hit Alt+F2
  • Entrar gconf-editor
  • Navegue para as teclas acima, elas devem estar definidas para /usr/bin/chromium-browser %s.

texto alternativo


Isto é melhor. Eu removi o pacote firefox e adivinhem? $ xdg-mime query default text/html firefox.desktop
Dima

5

Na minha situação, instalei o Chromium e o tornei padrão. Antes disso, o Chrome era o navegador padrão.

Eu tentei tudo o que pude fazer: definir o navegador padrão do Chromium, alterar as configurações do gconf para executar o Chromium com a variável % U ( /ubuntu//a/41085/94263 ), alterar alternativas para usar o Chromium como padrão x-www -browser ( /ubuntu//a/24052/94263 ), mas nada ajudou, o xdg-open abriu uma nova janela do Chromium com a página inicial que não pôde abrir o link fornecido, o navegador sensato abriu o Chrome. Tentei limpar o Chrome (o Chromium era definido automaticamente como padrão e automático nas alternativas de atualização ) e instalá-lo novamente, porque preciso do Pepper flash a partir daí e ele se tornou o x-www-browser padrãoalternativa novamente, e novamente foi aberto com o comando do navegador sensível . Depois, pesquisei algumas páginas no Google e chamei minha atenção para prioridade e também descobri que existe o link simbólico do navegador gnome-www em / etc / alternative / too e o google-chrome era o padrão por lá. O Chrome tinha prioridade definida em 200 e Chromium - 40 . A prioridade do Google Chrome é mais alta; portanto, o utilitário update-alternative o instala como navegador padrão automaticamente como "versão melhor".

Eu removi o Chrome e o Chromium do x-www-browser e do gnome-www-browser :

sudo update-alternatives --remove x-www-browser /usr/bin/google-chrome
sudo update-alternatives --remove x-www-browser /usr/bin/chromium-browser
sudo update-alternatives --remove gnome-www-browser /usr/bin/google-chrome
sudo update-alternatives --remove gnome-www-browser /usr/bin/chromium-browser

Então eu instalei novas alternativas com outras prioridades:

sudo update-alternatives --install /usr/bin/x-www-browser x-www-browser /usr/bin/google-chrome 40
sudo update-alternatives --install /usr/bin/x-www-browser x-www-browser /usr/bin/chromium-browser 200
sudo update-alternatives --install /usr/bin/gnome-www-browser gnome-www-browser /usr/bin/google-chrome 40
sudo update-alternatives --install /usr/bin/gnome-www-browser gnome-www-browser /usr/bin/chromium-browser 200

Não sei quais são as prioridades padrão '40' e '200' para todos os computadores ou você terá outros números. É melhor olhar antes digitando

sudo update-alternatives --display x-www-browser
sudo update-alternatives --display gnome-www-browser

Upd. Tentei fazer as mesmas coisas em um sistema completamente diferente e as prioridades eram as mesmas que aqui.

Upd2. Se você executar o google-chrome apenas uma vez, a prioridade será alterada para 200, mas o navegador cromo permanecerá como padrão.

Isso funcionou para mim. O Chromium foi configurado como padrão automaticamente e o navegador sensível está iniciando o Chromium. Mas ainda o xdg-open está abrindo uma nova janela em branco.


3

Todas as respostas acima estão basicamente corretas, dependendo do que você está fazendo e como os programas que você está usando estão invocando coisas. Para mim, o problema era que meu emulador de terminal (Tilix) ainda estava abrindo o navegador errado (Firefox em vez do Chrome), além de xdg-open foobar.htmlabrir o navegador errado. Chrome disse nas configurações: "

Eventualmente, eu descobri que também há xdg-mime:

$ xdg-mime query default x-scheme-handler/http
firefox.desktop
$ xdg-mime query default x-scheme-handler/https
firefox.desktop

Isso não está correto, então mudei para:

$ xdg-mime default google-chrome.desktop 'x-scheme-handler/http'
$ xdg-mime default google-chrome.desktop 'x-scheme-handler/https'

Depois, há também ligações para 'text / html', que também mudei:

$ xdg-mime default google-chrome.desktop 'text/html'

Isso, combinado com a garantia de que o seguinte também esteja definido corretamente:

  • a BROWSERvariável de ambiente
  • navegador sensível ( /usr/bin/sensible-browser, um script de wrapper que tenta iniciar alguns dos outros itens desta lista)
  • gnome-www-browser ( /usr/bin/gnome-www-browser, um link simbólico para /etc/alternatives/gnome-www-browser)
  • x-www-browser ( /usr/bin/x-www-browser, um link simbólico para/etc/alternatives/x-www-browser
  • www-browser (/usr/bin/www-browser , um link simbólico para /etc/alternatives/www-browser)
  • todas as entradas "alternativas" (consulte update-alternatives --get-selections uma lista) que apontam para um navegador.
  • O banco de dados do GConf (Veja a resposta de Isaías)

Isso finalmente abre o navegador correto para a maioria das situações na minha área de trabalho. 2018 é certamente o ano do linux na área de trabalho.


Os xdg-mimecomandos são exatamente o que eu precisava! Estou executando o Manjaro-i3, então não tenho um ambiente de área de trabalho. (e as respostas GConfe update-alternativesacima não se aplicam)
codermonkeyfuel

0

sensible-browser é o comando para iniciar o navegador da web padrão no terminal.


Certo. Mas não tenho idéia do que $bzr lp-openestá usando nas minhas costas. Mas o que quer que ele use, o Firefox é selecionado. Eu acho que ele está usando o xdg-open, que também está selecionando o firefox.
Dima

Depois de usar as correções do DoR, o cromo agora é aberto pelo navegador sensível.
Dima 21/12

0

Para mim, a solução foi executar esses dois comandos. Então você só precisa selecionar o navegador desejado da lista.

sudo update-alternatives --config x-www-browser
sudo update-alternatives --config gnome-www-browser

Fontes: Launchpad , Bugzilla

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.