martes, 27 de marzo de 2012

Estableciendo navegador por defecto en Debian/Ubuntu

Tenemos diferentes sistemas para establecer el navegador por defecto, y cada programa y/o escritorio tiene su "preferida".

Las alternativas de /etc/alternatives:

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

Los ajustes de XDG:
$ xdg-settings get default-web-browser

También tenemos la variable de entorno BROWSER y el "wrapper" sensible-browser que lee los alternatives y/o esta variable:
# Lanza el definido en alternatives:
$ sensible-browser
# Lanza el definido en BROWSER, firefox en este caso:
$ BROWSER=firefox sensible-browser

Supongo que además, Gnome y KDE tendrán más variables o configuraciones adicionales (GConf, etc). Ya no tengo ganas de probarlo, bastante me ha costado que mi XFCE me responda.

Está bien lo de poder elegir y tal, pero a veces se pasan :-P

Actualización:

  • En la configuración de Gconf también hay una variable que establece el navegador por defecto:
    /desktop/gnome/applications/browser
  • Evolution ignora directamente mis ajustes e insiste en abrir los enlaces en Firefox. He hecho un strace y esto es lo que me encuentro:
    $ strace -o evolution.debug evolution
    $ cat evolution.debug  | grep firefox
    open("/home/xxxxxxx/.local/share/applications/firefox.desktop", O_RDONLY) = -1 ENOENT (No such file or directory)
    open("/usr/share/xfce/applications/firefox.desktop", O_RDONLY) = -1 ENOENT (No such file or directory)
    open("/usr/local/share/applications/firefox.desktop", O_RDONLY) = -1 ENOENT (No such file or directory)
    open("/usr/share/applications/firefox.desktop", O_RDONLY) = 44

    Al parecer directamente intenta abrir Firefox. No he encontrado ninguna opción en Evolution para cambiarlo. Solución: engañar a Evolution.
    ln -s  /usr/share/applications/google-chrome.desktop /home/xxxxxxx/.local/share/applications/firefox.desktop