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

21

J'ai couru update-alternativesainsi que la preffered appssélection de gnomes . Et tous pointent pour avoir un chromiumnavigateur par défaut. Pourtant, lorsque je lance Firefox, c'est lancé! De même et lancez également des trucs dans Firefox au lieu de Chrome.xdg-open http://askubuntu.comemacsbzr

Existe-t-il des paramètres supplémentaires qui affectent la fonctionnalité xdg-open?

Quelque chose est définitivement cassé:

MISE À JOUR
J'ai purgé firefox:
alternatives de mise à jour - utilise un navigateur
sensible au navigateur chrome - ouvre le navigateur chrome
xdg-open & gnome-open - ouvre à l'aide de google-chrome qui me dit gentiment "ce n'est pas le navigateur par défaut"

!!!!

Dima
la source
1
Duplication possible de Comment définir un nouveau paramètre xdg-open?
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件

Réponses:

7

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

texte alternatif

Cela devrait fonctionner, mais si ce n'est pas le cas, lisez la suite:

Il existe plusieurs clés dans la base de données GConf qui déterminent quel navigateur est 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 définis:

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

texte alternatif

Isaïe
la source
C'est mieux. J'ai supprimé le paquet Firefox et devinez quoi? $ xdg-mime query default text/html firefox.desktop
Dima
5

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

J'ai essayé tout ce que j'ai pu faire: définir le navigateur par défaut de Chromium, changer les paramètres gconf pour exécuter Chromium avec la variable % U ( /ubuntu//a/41085/94263 ), changer les alternatives pour utiliser Chromium comme défaut x-www -browser ( /ubuntu//a/24052/94263 ), mais rien n'y fait, xdg-open ouvre une nouvelle fenêtre Chromium avec la page de démarrage ang ne peut pas ouvrir le lien donné, sensible-browser ouvre Chrome. J'ai essayé de purger Chrome (Chrome a été automatiquement défini par défaut et automatique dans les alternatives de mise à jour ) et de l'installer à nouveau, car j'ai besoin de Pepper Flash à partir de là, et il est devenu le navigateur x-www par défautalternative à nouveau, et a été ouvert à nouveau avec la commande sensible-browser . Ensuite, j'ai googlé quelques pages et attiré mon attention sur la priorité et j'ai également découvert qu'il y avait un lien symbolique gnome-www-browser dans / etc / alternatives / et que google-chrome y était par défaut. Chrome avait la priorité définie sur 200 et Chrome - 40 . La priorité de Google Chrome est plus élevée, donc l'utilitaire de mise à jour des alternatives l'installe automatiquement comme navigateur Web par défaut en tant que "meilleure version".

J'ai supprimé Chrome et Chrome de x-www-browser et 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 sont les priorités par défaut «40» et «200» pour tous les ordinateurs ou 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 exécutez google-chrome une seule fois, il changera sa priorité à 200 mais le navigateur chrome restera 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.

mackuz
la source
3

Toutes les réponses ci-dessus sont fondamentalement correctes, selon ce que vous faites et 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.htmlle mauvais navigateur. Chrome a déclaré dans les paramètres: "

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é ceux-ci 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 des liaisons pour 'text / html', que j'ai également modifiées:

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

Ceci, en s'assurant que les éléments suivants sont également définis correctement:

  • la BROWSERvariable d'environnement
  • sensible-browser ( /usr/bin/sensible-browser, un script wrapper qui essaie 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-selectionspour une liste) qui pointent vers un navigateur.
  • La base de données GConf (Voir la réponse d'Isaïe)

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

Ferry Boender
la source
Les xdg-mimecommandes sont exactement ce dont j'avais besoin! J'utilise Manjaro-i3, donc je n'ai pas du tout de bureau. (et les GConfet les update-alternativesréponses ci - dessus ne sont pas applicables)
codermonkeyfuel
0

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

karthick87
la source
Sûr. Mais je n'ai aucune idée de ce qui $bzr lp-opense passe derrière mon dos. Mais quoi qu'il utilise, Firefox est sélectionné. Je pense qu'il utilise xdg-open qui sélectionne également Firefox.
Dima
Après avoir utilisé les correctifs DoR, le chrome est maintenant ouvert par sensible-browser.
Dima
0

Pour moi, la solution était d'exécuter ces deux commandes. Il vous suffit ensuite 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

Adrian Lopez
la source