Risposte:
sensible-browser
è il comando che stai cercando.
sensible-browser
apre Opera invece di default Chrome. xdg-open
funziona come previsto.
sensible-browser
non segue le preferenze dell'utente configurate in unity-control-center. xdg-open
lo fa.
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.
Puoi anche usare:
x-www-browser http://some-url.org
E aprirà l'URL nel browser predefinito.
Con la configurazione predefinita di Ubuntu viene in mente solo il comando gnome-open.
gnome-open http://askubuntu.com
gnome-open
per quasi tutti i tipi di file, URI e directory. È un comando da imparare, invece di cercare di ricordare comandi oscuri comesensible-browser
xdg-open
dovrebbe fare la stessa cosa - in realtà, chiamerà gnome-open
o kde-open
, o qualsiasi altra cosa, a seconda dell'ambiente desktop. Quindi è più portatile.
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-browser
o entrambi i gnome-www-browser
collegamenti 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-browser
eseguibile (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-browser
avviare sempre il browser Web predefinito specificato dall'utente. (Ho scoperto che gnome-default-applications-properties
cambia 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/command
e l' ho usato per riempire la $BROWSER
variabile (il valore viene rimosso dalla "%s"
parte) .)
/usr/bin/sensible-browser
come raccomanda questa risposta. Questa modifica verrà sovrascritta su un aggiornamento del sistema.
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
sensible-utils
pacchetto e sistema di alternative trovato/etc/alternatives
e modificato daupdate-alternatives
?