Cuando no tengo defaults.list
y mimeapps.list
, se xdg-open
abre text/plain
con gvim
. Pero cuando creo defaults.list
en /usr/share/applications/
y añadir las siguientes líneas:
[Default Applications]
text/plain=emacs.desktop
abre archivos de texto con firefox.
Sin embargo, si me muevo /usr/share/applications/defaults.list
a ~/.local/share/applications/mimeapps.list
, abre archivos de texto con emacs
lo esperado.
Mis preguntas:
- ¿Cómo
xdg-open
determina qué aplicación lanzar cuando no haydefaults.list
ymimeapps.list
? - ¿Por qué
xdg-open
estoy usando Firefox cuando simplemente escribo/usr/share/applications/defaults.list
?
Estoy usando Arch Linux.
arch-linux
freedesktop
defaults
Degradado
fuente
fuente
/usr/share/applications/mimecache.info
archivo que parece enumerar las aplicaciones predeterminadas. Es aún más confuso ...~/.config/mimeapps.list
Respuestas:
Si se usa
xdg-open
para abrir aplicaciones, luego usexdg-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:
Ejemplo cambiando el administrador de archivos predeterminado para abrir directorios (podría elegir caja.desktop (predeterminado para mint), nautilus.desktop (ubuntu), etc.
Y también
locate -i foo.desktop
para verificar quefoo.desktop
de hecho existe.Más concretamente, para ver cuál es el editor de texto predeterminado,
Para usar un editor de texto predeterminado diferente (nuevamente, verificando que el archivo ".desktop" existe):
Ahora, ya sea haciendo doble clic "foo.txt" (el administrador de archivos GUI) o correr
xdg-open foo.txt
utilizarágvim
en lugar degedit
.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,Además, esto silenciosamente no funciona como se esperaba si el archivo ".desktop" no existe:
El archivo real ".desktop" de emacs (en mi env):
Ver también: https://wiki.archlinux.org/index.php/xdg-open
fuente