Come impostare quale applicazione viene lanciata da xdg-open?


21

Ho eseguito update-alternativesanche la preffered appsselezione degli gnomi . E tutti indicano di avere il chromiumbrowser come predefinito. Eppure quando corro Firefox viene lanciato! Allo stesso modo e anche lanciare cose in Firefox invece di cromo.xdg-open http://askubuntu.comemacsbzr

Ci sono altre impostazioni che influiscono sulla funzionalità xdg-open?

Qualcosa è definitivamente rotto:

AGGIORNAMENTO
Ho cancellato firefox:
update-alternative - usa il browser
sensibile al browser chromium - apre il browser chromium
xdg-open & gnome-open - si apre usando google-chrome che mi dice gentilmente "non è un browser predefinito"

!!!!


Risposte:


7

Chromium ha anche un'opzione nelle sue preferenze per renderlo il browser predefinito:

testo alternativo

Dovrebbe funzionare, ma in caso contrario, continua a leggere:

Esistono diverse chiavi nel database GConf che determinano il browser avviato da 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

Assicurarsi che siano tutti impostati correttamente:

  • Premi Alt+F2
  • accedere gconf-editor
  • Passare ai tasti sopra, dovrebbero essere impostati su /usr/bin/chromium-browser %s.

testo alternativo


Questo è meglio. Ho rimosso il pacchetto firefox e indovina un po '? $ xdg-mime query default text/html firefox.desktop
Dima,

5

Nella mia situazione ho installato Chromium e l'ho reso predefinito. Prima di quel Chrome era il browser predefinito.

Ho provato tutto ciò che ero in grado di fare: impostare il browser predefinito di Chromium, cambiare le impostazioni di gconf per eseguire Chromium con la variabile % U ( /ubuntu//a/41085/94263 ), cambiare le alternative per usare Chromium come predefinito x-www -browser ( /ubuntu//a/24052/94263 ), ma nulla ha aiutato, xdg-open ha aperto la nuova finestra di Chromium con la pagina iniziale e non è stato possibile aprire il link dato, il browser sensibile ha aperto Chrome. Ho provato a eliminare Chrome (Chromium era automaticamente impostato come predefinito e automatico in alternative di aggiornamento ) e installarlo di nuovo, perché ho bisogno di Pepper Flash da lì, ed è diventato predefinito x-www-browseralternativa di nuovo, e di nuovo era aperto con il comando sensible-browser . Poi ho cercato su Google alcune pagine e ho attirato la mia attenzione sulla priorità e ho anche scoperto che esiste un link simbolico gnome-www-browser in / etc / alternatives / e che Google-Chrome era predefinito lì. Chrome aveva la priorità impostata su 200 e Chromium - 40 . La priorità di Google Chrome è più alta, quindi l'utilità di aggiornamento alternativo la installa automaticamente come browser Web predefinito come "versione migliore".

Ho rimosso sia Chrome che Chromium da x-www-browser e 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

Quindi ho installato nuove alternative con altre priorità:

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

Non so che sono priorità predefinite '40' e '200' per tutti i computer o avrai altri numeri. È meglio guardare prima entrando

sudo update-alternatives --display x-www-browser
sudo update-alternatives --display gnome-www-browser

Agg. Ho provato a fare le stesse cose su un sistema completamente diverso e le priorità erano le stesse di qui.

UPD2. Se eseguirai google-chrome solo una volta, la priorità tornerà a 200 ma il browser chromium rimarrà di default.

Questo ha funzionato per me. Chromium è stato impostato automaticamente come predefinito e sensible-browser lancia Chromium. Ma ancora xdg-open sta aprendo una nuova finestra vuota.


3

Tutte le risposte di cui sopra sono sostanzialmente corrette, a seconda di ciò che stai facendo e di come i programmi che stai utilizzando invocano cose. Per me, il problema era che il mio emulatore di terminale (Tilix) stava ancora aprendo il browser sbagliato (Firefox anziché Chrome), oltre a xdg-open foobar.htmlaprire anche il browser sbagliato. Chrome ha detto nelle impostazioni: "

Alla fine ho capito che ci sono anche xdg-mime:

$ xdg-mime query default x-scheme-handler/http
firefox.desktop
$ xdg-mime query default x-scheme-handler/https
firefox.desktop

Questo non è corretto, quindi ho cambiato quelli in:

$ xdg-mime default google-chrome.desktop 'x-scheme-handler/http'
$ xdg-mime default google-chrome.desktop 'x-scheme-handler/https'

Poi ci sono anche collegamenti per 'text / html', che ho anche cambiato:

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

Questo, in combinazione con la verifica che anche i seguenti siano impostati correttamente:

  • la BROWSERvariabile d'ambiente
  • sensible-browser ( /usr/bin/sensible-browser, uno script wrapper che tenta di avviare alcuni degli altri elementi in questo elenco)
  • gnome-www-browser ( /usr/bin/gnome-www-browser, un link simbolico a /etc/alternatives/gnome-www-browser)
  • x-www-browser ( /usr/bin/x-www-browser, un link simbolico a/etc/alternatives/x-www-browser
  • www-browser ( /usr/bin/www-browser, un link simbolico a /etc/alternatives/www-browser)
  • tutte le voci "alternative" (vedi update-alternatives --get-selectionsper un elenco) che puntano a un browser.
  • Il database GConf (Vedi la risposta di Isaia)

Questo finalmente apre il browser corretto per la maggior parte delle situazioni sul mio desktop. Il 2018 è sicuramente l'anno di Linux sul desktop.


I xdg-mimecomandi sono esattamente ciò di cui avevo bisogno! Sto eseguendo Manjaro-i3, quindi non ho affatto un ambiente desktop. (e le risposte GConfe update-alternativessopra non si applicano)
codermonkeyfuel

0

sensible-browser è il comando per avviare il browser Web predefinito dal terminale.


Sicuro. Ma non ho idea di cosa $bzr lp-openstia usando alle mie spalle. Ma qualunque cosa usi, Firefox viene selezionato. Penso che stia usando xdg-open che sta anche selezionando Firefox.
Dima,

Dopo aver usato le correzioni DoR, il cromo viene ora aperto dal browser sensibile.
Dima,

0

Per me la soluzione era eseguire questi due comandi. Quindi devi solo selezionare il browser desiderato dall'elenco.

sudo update-alternatives --config x-www-browser
sudo update-alternatives --config gnome-www-browser

Fonti: Launchpad , Bugzilla

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.