¿Cómo iniciar el navegador web predeterminado desde la terminal?

87

Me preguntaba cuál es el comando de terminal para abrir el navegador web predeterminado.

Luca
fuente

Respuestas:

93

sensible-browser es el comando que estás buscando.

Evan
fuente
¿Qué pasa con las diferencias entre el sensible-utilspaquete y el sistema de alternativas encontradas /etc/alternativesy modificadas por update-alternatives?
enzotib
8
Para mí, sensible-browserabre Opera en lugar de pf Chrome predeterminado. xdg-openFunciona como se esperaba.
incrop
2
lo que @Incrop dijo sigue siendo cierto para Ubuntu 16.04, esto abre Firefox en lugar de mi navegador predeterminado Chromium.
Andreas Hacker
2
sensible-browserno sigue las preferencias del usuario configuradas en unity-control-center. xdg-openhace.
Tankman 六四
78

Buscando en Google encontré la respuesta.

xdg-open abre un archivo o URL en la aplicación preferida del usuario. Si se proporciona una URL, la URL se abrirá en el navegador web preferido del usuario. Si se proporciona un archivo, el archivo se abrirá en la aplicación preferida para archivos de ese tipo. xdg-open admite archivos, ftp, http y https URL.

xdg-open es parte del paquete xdg-utils y ya está instalado en Ubuntu 10.10.

Luca
fuente
¿Qué significa xdg? Es difícil de recordar sin saber eso.
Thupten
1
XDG significa X Desktop Group, también conocido como freedesktop.org
Luca
Todavía funciona en una instalación predeterminada de Ubuntu 16.04.
Andreas Hacker
1
si el usuario una vez configurado para abrir archivos html con un editor de texto de forma predeterminada, esto no funcionará. OP pide una forma de abrir el navegador web , no la aplicación por defecto para los archivos html (a pesar de que de manera predeterminada es la misma)
phil294
Esto funcionará en cualquier distribución gnu / linux que tenga un administrador de ventanas de x-server (eso es casi todas, por ejemplo, debian, * buntu, fedora, manjaro, Arch, etc.)
flurbius
14

También puedes usar:

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

Y abrirá la URL en el navegador predeterminado.

Benjamín
fuente
2
para mí, en Ubuntu 16.04, esto abrirá Firefox aunque Chromium esté configurado como el navegador predeterminado en la configuración de "Aplicaciones predeterminadas".
Andreas Hacker
4

Con la configuración predeterminada de Ubuntu, solo me viene a la mente el comando gnome-open.

gnome-open http://askubuntu.com
kounryusui
fuente
44
Con la configuración predeterminada de Ubuntu, los comandos sensible-browser y xdg-open también funcionan.
marenostrum
1
La ventaja es que puede usarlo gnome-openpara casi todos los tipos de archivos, URI y directorios. Es un comando para aprender, en lugar de tratar de recordar acerca de comandos oscuros comosensible-browser
Stefan Lasiewski el
66
@Stefan Lasiewski: xdg-opendebería hacer lo mismo: en realidad, llamará gnome-open, o kde-open, o lo que sea, dependiendo de su entorno de escritorio. Por lo tanto, es más portátil.
Piskvor
en Ubuntu 16.04, gnome-open no está instalado por defecto
Andreas Hacker
1
gnome-abierta depende de escritorio GNOME, mejor usar xdg como su más común
flurbius
2

Jugué un poco con esto. Hay un problema con gnome-open: no invocará el navegador web predeterminado a menos que especifique una URL. Eso es un problema si desea configurar un ícono o un acceso directo que siempre iniciará el navegador que está configurado como predeterminado. En otras ocasiones, es posible que deba configurarlo como parámetro para algunos programas que requieren un enlace a un navegador web y que no funcionan bien gnome-open(por ejemplo:) acroread. Puede resolver esto utilizando uno x-www-browsero los gnome-www-browserenlaces del sistema que puede configurar update-alternatives, pero son configuraciones de todo el sistema, no específicas del usuario (y no están sincronizadas con los valores establecidos gnome-default-applications-properties. Todo esto se puede resolver abriendo el sensible-browserejecutable (que es en realidad un guión):

sudo gedit $(which sensible-browser)

y agregando esto al principio:

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

Eso hará que sensible-browsersiempre se inicie el navegador web predeterminado especificado por el usuario. (Descubrí que gnome-default-applications-propertiescambia algunas teclas gconf de acuerdo con el navegador que está configurado actualmente. El valor predeterminado del navegador se puede obtener de cualquiera de estas teclas, así que busqué /desktop/gnome/url-handlers/http/commandy lo usé para completar la $BROWSERvariable (el valor se elimina de la "%s"parte) .)

Gilles
fuente
1
No recomendaría editar /usr/bin/sensible-browsercomo recomienda esta respuesta. Este cambio se sobrescribirá en una actualización del sistema.
Gilles
en lugar de intentar instalar un script modificado en un sistema de usuarios, una solución más realista es usar xdg-open según la respuesta de Luca. Si especifica un archivo html o una URL, ABRIRÁ el navegador; si proporciona algo más, abrirá una aplicación adecuada para ese tipo de recurso. Dudo que haya alguna buena razón para abrir algún archivo con un navegador cuando alguna otra aplicación lo manejará mejor, ya sea de manera predeterminada o de acuerdo con la elección explícita de los usuarios. Si debe hacerlo, puede forzar al navegador a abrirlo con x-www-browser (vea la respuesta de Benjamin)
flurbius
1

Solo que puede resultarle útil. Un enfoque alternativo y un revestimiento.

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

Buena lectura para los no familiarizados con los operadores lógicos https://www.howtogeek.com/269509/how-to-run-two-or-more-terminal-commands-at-once-in-linux/ .

; => ejecutar en todos los casos,

|| => ejecutar si el comando precedente falló (o)

&& => ejecutar solo si el comando precedente tiene éxito

y

var = someval -> establece una variable

$ var -> invocar la variable

Mohamed Allal
fuente
1
Considere explicar qué hace este comando para que otros que lo vean sepan más sobre su respuesta. Los enlaces son buenos, pero debe asegurarse de que el contenido clave del enlace esté en su respuesta si es parte de su respuesta (en caso de que el enlace muera en el futuro).
Zzzach ...
1
@Zzzach ... ¡listo! y entiendo el punto Aunque era un asunto simple.
Mohamed Allal