Como mudo o terminal padrão para a execução de arquivos .desktop?
Tenho tentado executar o vim com alacritty como padrão. Eu tenho alacritty conjunto como meu padrão emulador de terminal já, e na minha vim.desktop eu mudei exec=vim %Fcom exec=alacritty -e vim %F. O problema é que, quando eu abro um arquivo, ele primeiro executa o comando no terminal gnome e depois inicia o vim no alacritty, o que acontece é que o terminal gnome permanece aberto. Também tentei criar um script:
#!/bin/bash
alacritty -e vim & disown | exit
 
    isso não funciona de jeito nenhum. Não sei mais o que fazer e não consigo encontrar nada online. Desde já, obrigado!
É possível alterar o terminal padrão que executa o Exec=comando? de modo que apenas escrevendo Exec=vim %Firia executá-lo com rapidez
Respostas
muru me ajudou a esclarecer o que estava acontecendo, obrigado! O problema era que meu arquivo .desktop:
[Desktop Entry]
Name=Vim
GenericName=Text Editor
Comment=Edit text files
Comment[es]=Edita archivos de texto
TryExec=vim
Exec=alacritty -e vim %F
Terminal=true
Type=Application
Keywords=Text;editor;
Icon=gvim
Categories=Utility;TextEditor;
StartupNotify=false
MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++;
 
     Teve o argumento Terminal=true. O que isso faz é executar o Exec=comando em um terminal, abrindo um terminal para fazer isso. Se você definir Terminal=falseisso, impedirá que qualquer terminal seja aberto e apenas executará o comando sem abrir o terminal.
Edit: às vezes isso não funciona, não sei o que está controlando qual emulador de terminal é usado quando você abre o vim.
Acabei de encontrar outra solução para esse problema: crie um link simbólico chamado xtermem seu $PATHpara seu próprio emulador de terminal. Não posso garantir que isso funcione para todos.
A vantagem dessa solução alternativa é que você não precisa alterar nenhum arquivo de entrada da área de trabalho. Todos os .desktop com Terminal=trueusarão o novo emulador de terminal.
Ao tentar executar uma entrada de desktop com exo-open(semelhante a xdg-open, do xfce), há uma mensagem de aviso
sh: line 0: exec: xterm: not found
 
     Então eu acho que xtermestá embutido no programa para abrir arquivos .desktop. Então eu tentei fazer este link simbólico
ln -s /usr/bin/st ~/.local/bin/xterm
 
     e funciona perfeitamente.
No entanto, o comando real gerado é provavelmente baseado nos xtermargumentos de, portanto, apenas os emuladores de terminal que usam o mesmo argumento para especificar o comando de inicialização funcionam. Um contra-exemplo é termite, uma vez que requer que todo o comando seja citado na -eopção.