Comment définir quelle application est lancée par xdg-open?

J’ai lancé update-alternatives ainsi que la preffered apps gnome preffered apps . Et tous ont un navigateur de chromium par défaut. Pourtant, quand je lance xdg-open http://askubuntu.com firefox est lancé! De même, emacs et bzr lancent également des éléments dans firefox au lieu de chrome.

Existe-t-il des parameters supplémentaires qui affectent la fonctionnalité xdg-open?

Quelque chose est définitivement cassé:

METTRE À JOUR
J’ai purgé firefox:
update-alternatives – utilise le navigateur Chrome
sensible-browser – ouvre le navigateur de chrome
xdg-open & gnome-open – ouvre avec google-chrome qui me dit gentiment “ce n’est pas un navigateur par défaut”

!!!!

Chromium a également une option dans ses préférences pour en faire le navigateur par défaut:

texte alternatif

Cela devrait marcher, mais sinon, continuez la lecture:

La firebase database GConf contient plusieurs clés qui déterminent le navigateur lancé par 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

Assurez-vous qu’ils sont tous correctement configurés:

  • Hit Alt + F2
  • Entrez gconf-editor
  • Accédez aux clés ci-dessus. Elles doivent être définies sur /usr/bin/chromium-browser %s .

texte alternatif

Dans ma situation, j’ai installé Chromium et l’ai configuré par défaut. Avant cela, Chrome était le navigateur par défaut.

J’ai essayé tout ce que je pouvais faire: configurer le navigateur par défaut de Chromium, modifier les parameters de gconf pour exécuter Chromium avec la variable % U ( https://askubuntu.com/a/41085/94263 ), changer les alternatives pour utiliser Chromium par défaut x-www -browser ( https://askubuntu.com/a/24052/94263 ), mais rien n’y fait, xdg-open ouvre une nouvelle fenêtre Chromium avec page de démarrage et ne peut pas ouvrir le lien indiqué, navigateur sensible ouvre Chrome. J’ai essayé de purger Chrome (Chromium a été automatiquement défini comme valeur par défaut et automatique dans update-alternatives ) et je l’ai réinstallé, car j’ai besoin de Pepper Flash à partir de là, et il est redevenu l’alternative par défaut x-www-browser et a été ouvert avec sensible. commande -browser . Ensuite, j’ai cherché sur Google quelques pages et attiré mon attention sur la priorité. J’ai également découvert qu’il y avait un lien symbolique gnome-www-browser dans / etc / alternatives / too et que google-chrome était celui par défaut. La priorité est fixée à 200 pour Chrome et à 40 pour le chrome. La priorité de Google Chrome étant supérieure, l’utilitaire update-alternatives l’installe automatiquement comme navigateur Web par défaut en tant que “version améliorée”.

J’ai supprimé Chrome et Chromium de x-www-browser et de 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 

Ensuite, j’ai installé de nouvelles alternatives avec d’autres priorités:

 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 

Je ne sais pas quelles sont les priorités par défaut «40» et «200» pour tous les ordinateurs, sinon vous aurez d’autres numéros. Il vaut mieux regarder avant en entrant

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

Upd. J’ai essayé de faire les mêmes choses sur un système complètement différent, et les priorités étaient les mêmes qu’ici.

Upd2. Si vous n’exécutez Google-Chrome qu’une seule fois, la priorité sera redéfinie sur 200, mais Chrome-Browser restra par défaut.

Cela a fonctionné pour moi. Chromium a été configuré automatiquement par défaut et sensible-browser lance Chromium. Mais xdg-open ouvre toujours une nouvelle fenêtre vierge.

sensible-browser est la commande permettant de lancer le navigateur Web par défaut à partir du terminal.

Pour moi, la solution consistait à exécuter ces deux commandes. Ensuite, il vous suffit de sélectionner le navigateur souhaité dans la liste.

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

Sources: Launchpad , Bugzilla

Toutes les réponses ci-dessus sont fondamentalement correctes, en fonction de ce que vous faites et de la façon dont les programmes que vous utilisez invoquent des choses. Pour moi, le problème était que mon émulateur de terminal (Tilix) ouvrait toujours le mauvais navigateur (Firefox au lieu de Chrome), ainsi que xdg-open foobar.html ouvrait également le mauvais navigateur. Chrome a déclaré dans les parameters: ”

Finalement, j’ai compris qu’il y avait aussi xdg-mime :

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

Ce n’est pas correct, j’ai donc changé en:

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

Ensuite, il y a aussi les liaisons pour ‘text / html’, que j’ai également modifiées:

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

Ceci, combiné à la vérification que les éléments suivants sont également correctement définis:

  • la variable d’environnement BROWSER
  • sensible-browser ( /usr/bin/sensible-browser , un script qui tente de lancer certains des autres éléments de cette liste)
  • gnome-www-browser ( /usr/bin/gnome-www-browser , un lien symbolique vers /etc/alternatives/gnome-www-browser )
  • x-www-browser ( /usr/bin/x-www-browser , un lien symbolique vers /etc/alternatives/x-www-browser
  • www-browser ( /usr/bin/www-browser , un lien symbolique vers /etc/alternatives/www-browser )
  • toutes les entrées “alternatives” (voir update-alternatives --get-selections pour une liste) qui pointent vers un navigateur.
  • La firebase database GConf (voir la réponse d’Isaïe)

Cela ouvre enfin le navigateur approprié pour la plupart des situations sur mon bureau. 2018 est sûrement l’année de Linux sur le bureau.