Esto es un poco tarde, pero pensé que podría ayudar a alguien.
Mi problema es que no me gusta copiar y pegar cosas que no entiendo, así que aquí hay una explicación de las respuestas hasta ahora.
Primero y ante todo, hay dos problemas aquí y ambas respuestas son, por derecho propio, correctas:
- el editor de línea de comandos predeterminado - resuelto por 'izx'
- la asociación de tipo de archivo (tipo mime) en la sesión de escritorio para aplicaciones GUI, resuelta por 'Steve'.
Aquí con un poco más de detalle:
solución de línea de comando -desde 'izx'
- agrega geany (una aplicación GUI) a la lista de editores alternativos y la establece como predeterminada.
- Siempre pensé que ese editor generalmente estaba reservado para editores basados en texto como vi, vim, nano, etc., pero acabo de comprobarlo y parece que esto también funciona.
- el resultado significa que puede usar el valor predeterminado elegido para abrir el archivo cuando, por ejemplo:
solución tipo mimo - de 'Steve'
A nivel de archivo, hay dos listas de importancia:
/usr/share/applications/defaults.list
- la lista de valores predeterminados del sistema.
~/.local/share/applications/mimeapps.list
- la lista de valores predeterminados de la sesión de escritorio personal de los usuarios
¿Qué hace el comando?
Desde la página de manual de xdg-mime (man xdg-mime)
xdg-mime - command line tool for querying information about file type handling and adding descriptions for new file type
El xdg-mime default...
comando agrega entradas a la lista personal de los usuarios.
Desglosemos el comando.
Mando:
xdg-mime default geany.desktop $(grep MimeType /usr/share/applications/geany.desktop | sed 's/MimeType=//' | sed 's/;/ /g')
El comando se puede leer como:
configura geany.desktop como la aplicación predeterminada para el tipo mime generado por
$(grep MimeType /usr/share/applications/geany.desktop | sed 's/MimeType=//' | sed 's/;/ /g')
Mirando a
$(grep MimeType /usr/share/applications/geany.desktop | sed 's/MimeType=//' | sed 's/;/ /g')
- toma todos los tipos mime del archivo geany.desktop
- elimina el "MimeType ="
- reemplaza ";" con " "
- dándonos:
text/plain text/x-chdr text/x-csrc text/x-c++hdr text/x-c++src text/x-java text/x-dsrc text/x-pascal text/x-perl text/x-python application/x-php application/x-httpd-php3 application/x-httpd-php4 application/x-httpd-php5 application/xml text/html text/css text/x-sql text/x-diff
Al observar el archivo personal de los usuarios después de ejecutar el comando, podemos ver todas las asociaciones de archivos establecidas para la aplicación geany.desktop:
[Default Applications]
x-scheme-handler/mailto=userapp-Thunderbird-ZP00XW.desktop
message/rfc822=userapp-Thunderbird-ZP00XW.desktop
application/x-extension-eml=userapp-Thunderbird-ZP00XW.desktop
application/x-perl=sublime_text.desktop
text/plain=geany.desktop
text/x-chdr=geany.desktop
text/x-csrc=geany.desktop
text/x-dtd=sublime_text.desktop
text/x-java=geany.desktop
text/mathml=sublime_text.desktop
text/x-python=geany.desktop
text/x-sql=geany.desktop
text/x-c++hdr=geany.desktop
text/x-c++src=geany.desktop
text/x-dsrc=geany.desktop
text/x-pascal=geany.desktop
text/x-perl=geany.desktop
application/x-php=geany.desktop
application/x-httpd-php3=geany.desktop
application/x-httpd-php4=geany.desktop
application/x-httpd-php5=geany.desktop
application/xml=geany.desktop
text/html=geany.desktop
text/css=geany.desktop
text/x-diff=geany.desktop
Sabiendo esto, aquí está mi problema particular y cómo lo resolví.
Problema:
Quería cambiar la aplicación predeterminada "abrir archivo" en Nautilus de "gedit" -> "texto sublime".
Solución:
Encuentre los valores predeterminados del sistema para gedit con:
$less /usr/share/applications/defaults.list | grep gedit
application/x-perl=gedit.desktop
text/plain=gedit.desktop
text/x-chdr=gedit.desktop
text/x-csrc=gedit.desktop
text/x-dtd=gedit.desktop
text/x-java=gedit.desktop
text/mathml=gedit.desktop
text/x-python=gedit.desktop
text/x-sql=gedit.desktop
Reemplace "gedit" con "sublime_text" y agregue las entradas a la sección "Aplicaciones predeterminadas" de mi lista predeterminada de valores personales.
application/x-perl=sublime_text.desktop
text/plain=sublime_text.desktop
text/x-chdr=sublime_text.desktop
text/x-csrc=sublime_text.desktop
text/x-dtd=sublime_text.desktop
text/x-java=sublime_text.desktop
text/mathml=sublime_text.desktop
text/x-python=sublime_text.desktop
text/x-sql=sublime_text.desktop