Se si utilizza xdg-open
per aprire le applicazioni, utilizzare xdg-mime
per impostare l'applicazione predefinita per un determinato tipo di mime (in genere, l'installazione di xdg-utils fornisce xdg-mime e i relativi programmi).
Ad esempio, per vedere il "tipo di file" (tipo mime, se vuoi) di un determinato file:
$ xdg-mime query filetype tmp.txt
text/plain
$ xdg-mime query filetype foo.pdf
application/pdf
$ xdg-mime query filetype $PWD
inode/directory
Esempio di modifica del file manager predefinito per l'apertura delle directory (è possibile scegliere caja.desktop (impostazione predefinita per mint), nautilus.desktop (ubuntu), ecc .:
$ xdg-mime default Thunar.desktop inode/directory
E anche locate -i foo.desktop
per verificare che foo.desktop
in realtà esista.
Più precisamente, al fine di vedere qual è l'editor di testo predefinito,
$ xdg-mime query default text/plain
gedit.desktop
Per utilizzare un diverso editor di testo predefinito (di nuovo, verificando l'esistenza del file ".desktop"):
$ locate -i vim.desktop
/usr/share/applications/gvim.desktop
$ xdg-mime default gvim.desktop text/plain
Ora, fare doppio clic su "foo.txt" (nel file manager GUI) o in esecuzione xdg-open foo.txt
utilizzerà gvim
al posto di gedit
.
Risoluzione dei problemi: assicurarsi che sia possibile trovare il file ".desktop" per una determinata applicazione, poiché deve essere utilizzato con l' xdg-mime
utilità; per esempio,
$ xdg-mime default emacs text/plain
xdg-mime: malformed argument 'emacs', expected *.desktop
Inoltre, ciò non funziona silenziosamente come previsto se il file ".desktop" non esiste:
$ locate -i emacs.desktop
(none)
$ xdg-mime default emacs.desktop text/plain # won't work
Il file ".desktop" di emacs attuale (nel mio env):
$ locate -r 'emacs.*\.desktop'
/usr/share/applications/emacs24.desktop
$ xdg-mime default emacs24.desktop text/plain # does work
Vedi anche: https://wiki.archlinux.org/index.php/xdg-open
/usr/share/applications/mimecache.info
file che sembra elencare le applicazioni predefinite. È ancora più confuso ...