Come avviare il browser Web predefinito dal terminale?


87

Mi chiedevo quale fosse il comando terminale per aprire il browser Web predefinito.

Risposte:


93

sensible-browser è il comando che stai cercando.


Che dire delle differenze tra sensible-utilspacchetto e sistema di alternative trovato /etc/alternativese modificato da update-alternatives?
enzotib,

8
Per me sensible-browserapre Opera invece di default Chrome. xdg-openfunziona come previsto.
incrop

2
ciò che @Incrop ha detto è ancora vero per Ubuntu 16.04, questo apre Firefox invece del mio browser predefinito Chromium.
Andreas Hacker

2
sensible-browsernon segue le preferenze dell'utente configurate in unity-control-center. xdg-openlo fa.
Tankman 六四

78

Cercando su Google ho trovato la risposta.

xdg-open apre un file o un URL nell'applicazione preferita dell'utente. Se viene fornito un URL, l'URL verrà aperto nel browser Web preferito dell'utente. Se viene fornito un file, il file verrà aperto nell'applicazione preferita per i file di quel tipo. xdg-open supporta URL di file, ftp, http e https.

xdg-open fa parte del pacchetto xdg-utils ed è già installato su Ubuntu 10.10.


cosa significa xdg? È difficile da ricordare senza saperlo.
Giovedì

1
XDG sta per X Desktop Group aka freedesktop.org
Luca

Funziona ancora su un'installazione predefinita di Ubuntu 16.04.
Andreas Hacker

1
se l'utente una volta configurato per aprire i file HTML con un editor di testo per impostazione predefinita, questo non funzionerà. OP chiede un modo per aprire il browser web , non l'applicazione predefinita per i file html (anche se per impostazione predefinita è la stessa)
phil294

Funzionerà su qualsiasi distro gnu / linux che abbia il gestore delle finestre x-server (che è quasi tutti loro - es. Debian, * buntu, fedora, manjaro, Arch ecc.)
flurbius,

14

Puoi anche usare:

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

E aprirà l'URL nel browser predefinito.


2
per me, in Ubuntu 16.04, questo aprirà Firefox anche se Chromium è impostato come browser predefinito nell'impostazione "Applicazioni predefinite".
Andreas Hacker

4

Con la configurazione predefinita di Ubuntu viene in mente solo il comando gnome-open.

gnome-open http://askubuntu.com

4
Con la configurazione predefinita di Ubuntu, funzionano anche i comandi sensible-browser e xdg-open .
marenostrum,

1
Il vantaggio è che puoi utilizzare gnome-openper quasi tutti i tipi di file, URI e directory. È un comando da imparare, invece di cercare di ricordare comandi oscuri comesensible-browser
Stefan Lasiewski,

6
@Stefan Lasiewski: xdg-opendovrebbe fare la stessa cosa - in realtà, chiamerà gnome-openo kde-open, o qualsiasi altra cosa, a seconda dell'ambiente desktop. Quindi è più portatile.
Piskvor,

in Ubuntu 16.04, gnome-open non è installato di default
Andreas Hacker

1
gnome-open dipende dal desktop di gnome, meglio usare xdg come più comune
flurbius,

2

Ci ho giocato un po '. C'è un problema con gnome-open: non invocherà il browser predefinito a meno che non specifichi un URL. Questo è un problema se si desidera impostare un'icona o un collegamento che avvierà sempre il browser impostato come predefinito. Altre volte potrebbe essere necessario impostarlo come parametro per alcuni programmi che richiedono un collegamento a un browser Web e non funzionano bene gnome-open(ad es acroread.:). È possibile risolvere questo problema utilizzando uno x-www-browsero entrambi i gnome-www-browsercollegamenti di sistema che è possibile configurare update-alternatives, ma si tratta di impostazioni a livello di sistema, non specifiche dell'utente (e non sono sincronizzate con i valori impostati gnome-default-applications-properties. Tutto ciò può essere risolto aprendo l' sensible-browsereseguibile (che è in realtà una sceneggiatura):

sudo gedit $(which sensible-browser)

e aggiungendo questo all'inizio:

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

Ciò consentirà di sensible-browseravviare sempre il browser Web predefinito specificato dall'utente. (Ho scoperto che gnome-default-applications-propertiescambia alcune chiavi gconf in base al browser attualmente impostato. Il valore predefinito del browser può essere ottenuto da una qualsiasi di queste chiavi, quindi sono andato /desktop/gnome/url-handlers/http/commande l' ho usato per riempire la $BROWSERvariabile (il valore viene rimosso dalla "%s"parte) .)


1
Non consiglierei la modifica /usr/bin/sensible-browsercome raccomanda questa risposta. Questa modifica verrà sovrascritta su un aggiornamento del sistema.
Gilles,

piuttosto che provare a installare uno script modificato su un sistema di utenti, una soluzione più realistica è usare xdg-open secondo la risposta di Luca. Se specifichi un file html o un URL, questo aprirà il browser, se fornisci qualcos'altro aprirà un'applicazione appropriata per quel tipo di risorsa. Dubito che ci sia una buona ragione per aprire alcuni file con un browser quando sarà meglio gestito da qualche altra applicazione, sia per impostazione predefinita o in conformità con la scelta esplicita degli utenti. Se necessario, puoi forzare il browser ad aprirlo con x-www-browser (vedi la risposta di Benjamin)
flurbius,

1

Solo che potresti trovarlo utile. Un approccio di fallback e un liner.

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

Buona lettura per chi non ha familiarità con gli operatori logici https://www.howtogeek.com/269509/how-to-run-two-or-more-terminal-commands-at-once-in-linux/ .

; => esegui in tutti i casi,

|| => esegui se il comando precedente non è riuscito (o)

&& => esegui solo se il comando precedente ha esito positivo

e

var = someval -> imposta una variabile

$ var -> invoca la variabile


1
Considera di spiegare cosa fa questo comando in modo che altri che lo vedano sappiano di più sulla tua risposta. I collegamenti sono buoni, ma devi assicurarti che il contenuto chiave del collegamento sia nella tua risposta se fa parte della tua risposta (nel caso in cui il collegamento muoia in futuro).
Zzzach ...

1
@Zzzach ... fatto! e capisco il punto. Sebbene fosse una questione semplice.
Mohamed Allal,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.