O motivo pelo qual sua modificação da chave Exec
no arquivo .desktop não funcionou é que o gedit é o DBus ativado. Isso significa que ele é iniciado por meio do daemon DBus da sua sessão e, em seguida, fornece uma interface DBus comum para esses programas ativáveis para especificar os arquivos a serem abertos. Você pode evitar isso alterando a tecla DBusActivatable
para false
.
Além disso, é muito melhor criar uma cópia do arquivo .desktop que você deseja modificar em seu diretório pessoal e usá-la para substituir a do sistema inteiro, em vez de modificar diretamente o sistema. Dessa forma, o sistema não será sobrescrito nas atualizações de pacotes da distribuição. Para isso basta copiar /usr/share/applications/org.gnome.gedit.desktop
para ~/.local/share/applications/org.gnome.gedit.desktop
. Os arquivos nesse caminho substituirão os arquivos com o mesmo nome do diretório do sistema.
Em seguida, há também uma diferença importante entre os dois possíveis flags usados para abrir uma nova janela: --new-window
ou -s
. Ambos resultarão na abertura dos arquivos em uma nova janela, mas com -s
cada janela também pertencerá ao seu próprio processo. Ao usar --new-window
, todas as janelas compartilham o mesmo processo de gedit.
E, finalmente, para garantir que isso também funcione se você selecionar vários arquivos no gerenciador de arquivos e abri-los, será necessária outra modificação da chave Exec
. O %U
significa que várias URLs são permitidas como argumentos para esse comando, o que significa que o gerenciador de arquivos o iniciaria assim: gedit --new-window file1.txt file2.txt
. Isso resulta em uma única nova janela com duas guias. Se você alterar isso para %u
agora, isso informará ao gerenciador de arquivos que o aplicativo aceita apenas uma única URL como argumento e, portanto, faz com que ele execute o comando várias vezes, cada vez com um arquivo diferente como seu argumento. Para obter mais detalhes, consulte a especificação de entrada do desktop freedesktop .