Risposte:
AFAIK la scelta dell'azione si basa sul mimetype del file piuttosto che sulla sua estensione.
Almeno su Ubuntu, dovresti essere in grado di utilizzare l' query
azione di xdg-mime
per mostrare l'applicazione predefinita per un mimetype specifico
$ xdg-mime query default image/jpeg
eog.desktop
Puoi controllare il mimetype per un determinato file usando xdg-mime query filetype
ad es
$ xdg-mime query filetype kqDRdnW.jpg
image/jpeg
o usando il file
comando esfile --mime-type <file>
Vedere man xdg-mime
per ulteriori informazioni sull'utilizzo.
xdg-mime query filetype <file_you_want_the_mimetype_of>
xdg-mime query default
non sempre funziona se xdg-open
chiama semplicemente uno strumento sottostante (es. pcmanfm
); l'esempio che hai usato nella tua risposta non restituisce nulla sul mio sistema LXDE.
var="xdg-mime query default image/jpeg" && $(${var%.desktop})
Per eseguire una query sul tipo mime utilizzato da un file esistente utilizzando xdg-utils
, funziona come:
$ xdg-mime query filetype yourfile.xxx
Puoi anche impostare un nuovo valore predefinito, ad esempio per modificare una voce del desktop associata impostando Thunar - un moderno gestore di file per Xfce Desktop Environment - come browser di file predefinito che dovresti inserire:
$ xdg-mime default Thunar.desktop inode/directory
O ad esempio per impostare l'applicazione predefinita per i http(s)://
protocolli Internet, è possibile utilizzare:
$ xdg-mime default midori.desktop x-scheme-handler/http
OR
$ xdg-mime default midori.desktop x-scheme-handler/https
rpm
sistemi basati; fa parte del desktop standard e funziona su Debian (per esempio). Purtroppo questo è come impostare un valore predefinito; non dice come trovare quale valore è impostato. E xdg-mime query default
non segnala sempre cosa farà se xdg-open
chiama un programma desktop sottostante (ad es. pcmanfm
Su LXDE).