Encuentra la aplicación predeterminada para una determinada extensión


12

Dado xdg-open y una extensión, ¿hay alguna forma de obtener la aplicación para la que xdg-open está configurada para esa extensión en particular?

Por ejemplo dado xdg-openy .jpgel resultado es eog.


1
¿Qué sistema operativo estás usando?
heemayl

Esto es Ubuntu Trusty.
sjsam

Respuestas:


13

AFAIK la elección de la acción se basa en el tipo MIME del archivo en lugar de su extensión.

Al menos en Ubuntu, debería poder usar la queryacción de xdg-mimemostrar la aplicación predeterminada para un tipo MIME específico

$ xdg-mime query default image/jpeg
eog.desktop

Puede verificar el tipo MIME para un archivo en particular usando, xdg-mime query filetypepor ejemplo,

$ xdg-mime query filetype kqDRdnW.jpg
image/jpeg

o usando el filecomando egfile --mime-type <file>

Consulte man xdg-mimepara obtener más información sobre el uso.


Probablemente valga la pena mencionar al OP que la forma en que obtienes el tipo mime para el tipo de archivo jpeg esxdg-mime query filetype <file_you_want_the_mimetype_of>
the_velour_fog

@the_velour_fog buen punto - agregado
steeldriver

Desafortunadamente xdg-mime query default, no siempre funciona si xdg-opensolo llama a una herramienta subyacente (por ejemplo pcmanfm); el ejemplo que usó en su respuesta no devuelve nada en mi sistema LXDE.
Stephen Harris

Gracias, iría primera opción aquí,var="xdg-mime query default image/jpeg" && $(${var%.desktop})
sjsam

5

Para consultar el tipo mime utilizado por un archivo existente utilizando xdg-utils, funciona como:

$ xdg-mime query filetype yourfile.xxx

También puede establecer un nuevo valor predeterminado, por ejemplo, para cambiar una entrada de escritorio asociada configurando Thunar , un administrador de archivos moderno para el entorno de escritorio Xfce , como el navegador de archivos predeterminado que debe ingresar:

$ xdg-mime default Thunar.desktop inode/directory

O, por ejemplo, para configurar la aplicación predeterminada para http(s)://los protocolos de Internet, puede usar:

$ xdg-mime default midori.desktop x-scheme-handler/http

OR

$ xdg-mime default midori.desktop x-scheme-handler/https

Esto no se limita a los rpmsistemas basados; Es parte del escritorio estándar y funciona en Debian (por ejemplo). Lamentablemente, esta es la forma de establecer un valor predeterminado; no dice cómo encontrar qué valor se establece. Y xdg-mime query defaultno siempre informa qué hará si xdg-openllama a un programa de escritorio subyacente (por ejemplo, pcmanfmen LXDE).
Stephen Harris

@StephenHarris Pensé que las opciones podrían ser diferentes. Gracias por decirme.
FarazX

Esta debería ser la respuesta aceptada.
navigaid
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.