En Firefox 38.8.0 ESR, bajo Debian Lenny con GNOME 2, descubrí que la aplicación asociada a través de XDG (descrita en la respuesta del OP ) se usa solo al abrir un archivo descargado desde Descargas en la Biblioteca.
E incluso allí, la implementación da resultados inconsistentes xdg-open
ya que ignora las rutas específicas de GNOME (en mi caso /usr/share/gnome/applications/defaults.list
, que es un enlace simbólico a /etc/gnome-vfs-2.0/defaults.list
). Tuve que especificar application/pdf=evince.desktop
en mi ~/.local/share/applications/defaults.list
. (Tenga en cuenta que defaults.list
se fusionó en mimeapps.list
versiones más recientes de XDG).
En lugar de XDG, las capacidades de metamail (mailcap) se utilizan para resolver la aplicación asociada para los siguientes casos de uso:
- abrir el archivo descargado desde el panel de descarga (se muestra después de presionar el botón de descarga en la barra de herramientas)
- aplicación predeterminada en el menú desplegable en el cuadro de diálogo de descarga de archivos
- aplicación predeterminada en el menú desplegable en Preferencias → Aplicaciones (
about:preferences#applications
)
La preferencia en about:preferences#applications
se utiliza cuando se navega a una URL con ese tipo de contenido, a menos que la descarga sea forzada.
Mailcap es un mecanismo más antiguo que XDG y tiene sus raíces en el correo electrónico, de donde también proviene MIME. La run-mailcap
utilidad es análoga a xdg-open
. Su configuración comprende tres archivos (en precedencia decreciente):
~/.mailcap
- entradas de usuario
/etc/mailcap.order
- especificación de pedido de entradas de todo el sistema
/etc/mailcap
- entradas de todo el sistema (mismo formato que las entradas de usuario)
Juntos producen una lista de entradas de una línea que especifican la aplicación que se utilizará para cualquier tipo MIME. Las entradas coinciden de arriba hacia abajo, por lo que lo que viene primero tiene prioridad.
Para realizar un cambio de precedencia en todo el sistema, debe editar /etc/mailcap.order
y ejecutar update-mime
.
Para anular algunas de las entradas o especificar la suya propia, en todo el sistema, debe editar la sección superior (destinada a entradas creadas manualmente) de /etc/mailcap
y ejecutar update-mime
. Vea los comentarios en la sección superior.
Para entradas de usuario y anulaciones, use ~/.mailcap
. Los cambios surten efecto inmediatamente. No ~/.mailcap.order
existe si desea cambiar la prioridad de las entradas, reordenarlas físicamente (si están en ~/.mailcap
) o anularlas con la versión preferida (si están en /etc/mailcap
).
Ver man update-mime
, man mailcap
y man mailcap.order
.
Tenga en cuenta que algunas aplicaciones usan utilidades genéricas (como x-www-browser
o pager
) en lugar de la detección de la aplicación preferida. Es posible que deba usar update-alternatives
un mecanismo similar para elegir la implementación preferida de una utilidad genérica en su distribución. O, para anular una alternativa preferida en todo el sistema para un usuario específico, establezca variables de entorno como EDITOR
(o VISUAL
), PAGER
y BROWSER
. Son compatibles con sensible-browser
y otras herramientas, a menudo más específicas (por ejemplo, git commit
usos EDITOR
y VISUAL
).