Comment lancer le navigateur Web par défaut depuis le terminal?

87

Je me demandais quelle est la commande du terminal pour ouvrir le navigateur Web par défaut.

Luca
la source

Réponses:

93

sensible-browser est la commande que vous recherchez.

Evan
la source
Qu'en est-il des différences entre le sensible-utilspaquetage et le système d'alternatives trouvé dans /etc/alternativeset modifié par update-alternatives?
enzotib
8
Pour moi, sensible-browserouvre Opera à la place de Chrome par défaut. xdg-openfonctionne comme prévu.
incrop
2
Ce que @Incrop a dit est toujours vrai pour Ubuntu 16.04, cela ouvre Firefox au lieu de mon navigateur par défaut, Chromium.
Andreas Hacker
2
sensible-browserne suit pas les préférences de l'utilisateur configurées dans unity-control-center. xdg-openEst-ce que.
Tankman 六四
78

En cherchant sur Google, j'ai trouvé la réponse.

xdg-open ouvre un fichier ou une URL dans l'application préférée de l'utilisateur. Si une URL est fournie, elle sera ouverte dans le navigateur Web préféré de l'utilisateur. Si un fichier est fourni, le fichier sera ouvert dans l'application préférée pour les fichiers de ce type. xdg-open prend en charge les URL de fichier, ftp, http et https.

xdg-open fait partie du paquet xdg-utils et il est déjà installé sur Ubuntu 10.10.

Luca
la source
Que signifie xdg? Il est difficile de se rappeler sans le savoir.
Jeudi
1
XDG signifie X Desktop Group aussi nommé freedesktop.org
Luca
Il fonctionne toujours sur une installation Ubuntu 16.04 par défaut.
Andreas Hacker
1
si l'utilisateur a configuré une fois pour ouvrir les fichiers HTML avec un éditeur de texte par défaut, cela ne fonctionnera pas. OP demande un moyen d'ouvrir le navigateur Web , pas l'application par défaut pour les fichiers HTML (même si par défaut c'est la même chose)
phil294
Cela fonctionnera sur toutes les distributions gnu / linux qui ont un gestionnaire de fenêtres x-server (c'est-à-dire presque tous - par exemple, debian, * buntu, fedora, manjaro, arch, etc.)
flurbius
14

Vous pouvez aussi utiliser:

x-www-browser http://some-url.org

Et cela ouvrira l'URL dans le navigateur par défaut.

Benjamin
la source
2
Pour moi, dans Ubuntu 16.04, cela ouvrira Firefox même si Chromium est défini comme navigateur par défaut dans le paramètre "Applications par défaut".
Andreas Hacker
4

Avec la configuration par défaut d’Ubuntu, seule la commande gnome-open vient à l’esprit.

gnome-open http://askubuntu.com
Kounryusui
la source
4
Avec la configuration par défaut d'Ubuntu, les commandes sensibles-browser et xdg-open fonctionnent également.
Marenostrum
1
L'avantage est que vous pouvez utiliser gnome-openpour presque tous les types de fichiers, les URI et les répertoires. C'est une commande à apprendre, au lieu d'essayer de se souvenir de commandes obscures commesensible-browser
Stefan Lasiewski
6
@Stefan Lasiewski: xdg-opendevrait faire la même chose - en fait, il appellera gnome-open, ou kde-open, ou autre, en fonction de votre environnement de bureau. C'est donc plus portable.
Piskvor
dans Ubuntu 16.04, gnome-open n'est pas installé par défaut
Andreas Hacker
1
gnome-open dépend de gnome desktop, il vaut mieux utiliser xdg comme son plus courant
flurbius
2

J'ai joué un peu autour de ça. Il y a un problème avec gnome-open- il n'appelle pas le navigateur Web par défaut à moins que vous ne spécifiiez une URL. C'est un problème si vous voulez configurer une icône ou un raccourci qui lancera toujours le navigateur qui est défini par défaut. D'autres fois, vous devrez peut-être le définir comme paramètre pour certains programmes nécessitant un lien vers un navigateur Web et ne fonctionnant pas bien avec gnome-open(par exemple:) acroread. Vous pouvez résoudre ce problème en utilisant un x-www-browserou plusieurs gnome-www-browserliens système que vous pouvez configurer update-alternatives, mais il s’agit de paramètres généraux, non spécifiques à l’utilisateur (ils ne sont pas synchronisés avec les valeurs définies) gnome-default-applications-properties. Tout cela peut être résolu en ouvrant l’ sensible-browserexécutable (qui est en fait un script):

sudo gedit $(which sensible-browser)

et en ajoutant ceci au début:

#!/bin/bash
BROWSER=$(gconftool -g /desktop/gnome/url-handlers/http/command)
export BROWSER="${BROWSER//"\"%s\""/}"

Cela obligera sensible-browsertoujours à lancer le navigateur Web par défaut spécifié par l'utilisateur. (J'ai découvert que gnome-default-applications-propertieschange des clés GConf en fonction du navigateur qui est actuellement définie. La valeur par défaut du navigateur peut être obtenu à partir de l' une de ces touches alors je suis pour /desktop/gnome/url-handlers/http/commandet utilisé pour remplir la $BROWSERvariable (la valeur est dépouillée de la "%s"partie) .)

Gilles
la source
1
Je ne recommanderais pas l'édition /usr/bin/sensible-browsercomme cette réponse le recommande. Ce changement sera écrasé lors d'une mise à niveau du système.
Gilles
Plutôt que d'essayer d'installer un script modifié sur un système utilisateur, une solution plus réaliste consiste à utiliser xdg-open selon la réponse de Luca. Si vous spécifiez un fichier html ou une URL, cela ouvrira le navigateur. Si vous fournissez autre chose, cela ouvrira une application appropriée pour ce type de ressource. Je doute qu'il y ait une bonne raison d'ouvrir un fichier avec un navigateur alors qu'il sera mieux géré par une autre application, par défaut ou conformément au choix explicite de l'utilisateur. Si vous le devez, vous pouvez forcer le navigateur à l'ouvrir avec x-www-browser (voir la réponse de Benjamin)
flurbius
1

Juste que vous puissiez le trouver utile. Une approche de secours et une doublure.

URL="https://www.url.com/some"; xdg-open $URL || sensible-browser $URL || x-www-browser $URL || gnome-open $URL

Bonne lecture pour ceux qui ne sont pas familiers avec les opérateurs logiques https://www.howtogeek.com/269509/how-to-run-two-or-more-terminal-commands-at-once-in-linux/ .

; => courir dans tous les cas,

|| => run si la commande précédente a échoué (ou)

&& => n'est exécuté que si la commande précédente a abouti

et

var = someval -> définir une variable

$ var -> invoquer la variable

Mohamed Allal
la source
1
Envisagez d’expliquer ce que fait cette commande pour que les autres personnes qui le verront en connaissent davantage sur votre réponse. Les liens sont bons, mais vous devez vous assurer que le contenu clé du lien se trouve dans votre réponse, si cela fait partie de votre réponse (au cas où le lien disparaîtrait dans le futur).
Zzzach ... le
1
@Zzzach ... c'est fait! et je comprends le point. Bien que ce soit une affaire simple.
Mohamed Allal