Se desea elegir el navegador web por defecto de un archivo .desktop al que se
le modificó la linea Exec para customizar los parámetros del navegador web
Firefox y que se encuentra en el directorio ~/.local/share/applications
.
Este cambio se quiere realizar en el entorno de escritorio mate, pero
es un error conocido reportado en el issue 150 de
mate-control-center que no es posible elegir aplicaciones de
~/.local/share/applications
como aplicaciones por defecto.
En uno de los comentarios del issue se indica que el problema parece ser la función g_app_info_get_all_for_type de la librería gio.
Revisando el código fuente de mate-control-center, en particular el que establece el navegador web por defecto se encuentra que efectivamente el problema correspondería a la función antes mencionada:
case DA_TYPE_WEB_BROWSER:
g_app_info_set_as_default_for_type(item, "x-scheme-handler/http", NULL);
g_app_info_set_as_default_for_type(item, "x-scheme-handler/https", NULL);
g_app_info_set_as_default_for_type(item, "text/html", NULL);
/* about:config is used by firefox and others */
g_app_info_set_as_default_for_type(item, "x-scheme-handler/about", NULL);
break;
Como workaround se puede usar el comando gio
que se encuentra disponible en el
paquete libglib2.0-bin
de Debian y cuya descripción de la página del manual
es la siguiente:
gio is a utility that makes many of the GIO features available from the commandline.
Para instalar el paquete se utiliza:
$ sudo apt-get install -Vy libglib2.0-bin
El workaround implica establecer manualmente el archivo .desktop a utilizar
mediante la opción mime
del comando gio
. El parámetro MIMETYPE se
corresponde a los parámetros utilizados en el código anterior por la función
g_app_info_set_as_default_for_type.
En el caso de que el archivo .desktop de la aplicación es
firefox-private.desktop
(ver post anterior), el
comando a introducir es el siguiente:
$ for mimetype in x-scheme-handler/http x-scheme-handler/https text/html x-scheme-handler/about; do
gio mime $mimetype firefox-private.desktop
done
Nota: Es probable que en gnome ocurra el mismo problema, por lo que el workaround anterior debería ser útil también en dicho escritorio.