web-dev-qa-db-fra.com

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

J'ai exécuté update-alternatives ainsi que la sélection de gnome preffered apps. Et tout indique que le navigateur chromium est le navigateur par défaut. Pourtant, quand je lance xdg-open http://askubuntu.com, firefox est lancé! De même, emacs et bzr lancent également des fichiers dans Firefox au lieu de chrome.

Existe-t-il des paramètres 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 - s'ouvre à l'aide de google-chrome, qui me dit gentiment que "ce n'est pas un navigateur par défaut"

!!!!

19
Dima

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

alt text

Cela devrait marcher, mais sinon, continuez la lecture:

Plusieurs clés de la base de données GConf 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 configurés:

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

alt text

7
Isaiah

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: régler le navigateur par défaut de Chromium, changer les paramètres de gconf pour exécuter Chromium avec % U variable ( https://askubuntu.com/a/41085/9426 ), modification des alternatives pour utiliser Chromium par défaut x -www-browser ( https://askubuntu.com/a/24052/9426 ), mais rien n'y fait, xdg -open a ouvert une nouvelle fenêtre Chromium avec la page de démarrage et n'a pas pu ouvrir un lien donné, sensible-browser a ouvert Chrome . J'ai essayé de purger Chrome (le chrome a été automatiquement défini comme paramètre par défaut et auto dans update-alternatives ), puis installé à nouveau, car je besoin de Pepper Flash à partir de là, et il est devenu l'option par défaut x-www-browser à nouveau, et encore ouvert avec sensible-browser commande. Ensuite, j'ai cherché sur Google quelques pages et attiré mon attention sur la priorité. J'ai également découvert qu'il y a un lien symbolique dans gnome-www-browser dans /etc/alternatives/ aussi et google-chrome était celui par défaut. Chrome avait la priorité définie dans 200 et Chromium - 40 . 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 si '40' et '200' par défaut priorités 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, la priorité sera redéfinie sur 200 , mais Chrome-browser restera par défaut.

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

5
mackuz

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 paramètres: "

Finalement, j'ai découvert 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, alors j'ai 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 les liaisons pour 'text/html', que j'ai également modifiées:

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

Ceci, associé à 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 base de données 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.

1
Ferry Boender

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

0
Adrian Lopez

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

0
karthick87