Si se usa xdg-open
para abrir aplicaciones, luego use xdg-mime
para configurar la aplicación predeterminada para un tipo mime determinado (por lo general, la instalación de xdg-utils le proporciona xdg-mime y programas relacionados).
Por ejemplo, para ver el "tipo de archivo" (tipo mime, si lo desea) del archivo dado:
$ xdg-mime query filetype tmp.txt
text/plain
$ xdg-mime query filetype foo.pdf
application/pdf
$ xdg-mime query filetype $PWD
inode/directory
Ejemplo cambiando el administrador de archivos predeterminado para abrir directorios (podría elegir caja.desktop (predeterminado para mint), nautilus.desktop (ubuntu), etc.
$ xdg-mime default Thunar.desktop inode/directory
Y también locate -i foo.desktop
para verificar que foo.desktop
de hecho existe.
Más concretamente, para ver cuál es el editor de texto predeterminado,
$ xdg-mime query default text/plain
gedit.desktop
Para usar un editor de texto predeterminado diferente (nuevamente, verificando que el archivo ".desktop" existe):
$ locate -i vim.desktop
/usr/share/applications/gvim.desktop
$ xdg-mime default gvim.desktop text/plain
Ahora, ya sea haciendo doble clic "foo.txt" (el administrador de archivos GUI) o correr xdg-open foo.txt
utilizará gvim
en lugar de gedit
.
Solución de problemas: asegúrese de que se puede encontrar el archivo ".desktop" para una aplicación determinada, ya que debe usarse con la xdg-mime
utilidad; p.ej,
$ xdg-mime default emacs text/plain
xdg-mime: malformed argument 'emacs', expected *.desktop
Además, esto silenciosamente no funciona como se esperaba si el archivo ".desktop" no existe:
$ locate -i emacs.desktop
(none)
$ xdg-mime default emacs.desktop text/plain # won't work
El archivo real ".desktop" de emacs (en mi env):
$ locate -r 'emacs.*\.desktop'
/usr/share/applications/emacs24.desktop
$ xdg-mime default emacs24.desktop text/plain # does work
Ver también: https://wiki.archlinux.org/index.php/xdg-open
/usr/share/applications/mimecache.info
archivo que parece enumerar las aplicaciones predeterminadas. Es aún más confuso ...