É um pouco tarde, mas achei que poderia ajudar alguém.
Meu problema é que eu não gosto de copiar e colar coisas que não entendo, então aqui está uma explicação das respostas até agora.
Em primeiro lugar, há duas questões aqui e as duas respostas estão corretas:
- o editor de linha de comando padrão - resolvido por 'izx'
- a associação de tipo de arquivo (mime-type) na sessão da área de trabalho para aplicativos da GUI - resolvida por 'Steve'.
Aqui em um pouco mais detalhadamente:
solução de linha de comando -de 'izx'
- adiciona geany (um aplicativo GUI) à lista de editores alternativos e define-o como padrão.
- Eu sempre pensei que o editor era geralmente reservado para editores baseados em texto como vi, vim, nano, etc., mas acabei de verificar e isso parece funcionar também.
- o resultado significa que você pode usar o padrão escolhido para abrir o arquivo quando, por exemplo:
solução tipo mímica - de 'Steve'
No nível do arquivo, há duas listas de importância:
/usr/share/applications/defaults.list
- a lista de padrões do sistema.
~/.local/share/applications/mimeapps.list
- a lista de padrões da sessão da área de trabalho pessoal dos usuários
O que o comando faz?
Na página do manual xdg-mime (man xdg-mime)
xdg-mime - command line tool for querying information about file type handling and adding descriptions for new file type
O xdg-mime default...
comando adiciona entradas à lista pessoal de usuários.
Vamos quebrar o comando.
Comando:
xdg-mime default geany.desktop $(grep MimeType /usr/share/applications/geany.desktop | sed 's/MimeType=//' | sed 's/;/ /g')
O comando pode ser lido como:
configure geany.desktop como o aplicativo padrão para o tipo MIME gerado por
$(grep MimeType /usr/share/applications/geany.desktop | sed 's/MimeType=//' | sed 's/;/ /g')
Olhando para
$(grep MimeType /usr/share/applications/geany.desktop | sed 's/MimeType=//' | sed 's/;/ /g')
- pega todos os tipos MIME do arquivo geany.desktop
- remove o "MimeType ="
- substitui ";" com ""
- dando-nos:
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
Observando o arquivo pessoal dos usuários após executar o comando, podemos ver todas as associações de arquivos definidas para o aplicativo 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
Sabendo disso, aqui está o meu problema específico e como eu o resolvi.
Problema:
Eu queria alterar o aplicativo "abertura de arquivo" padrão no Nautilus de "gedit" -> "texto sublime".
Solução:
Encontre os padrões do sistema para o gedit com:
$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
Substitua "gedit" por "sublime_text" e adicione as entradas à seção "Aplicativos padrão" dos meus padrões pessoais.list
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