-
Você pode usar algo como
Exec=bash -c 'do-before;do-main-task;do-after'
no seu arquivo da área de trabalho. O do-after deve fazer o que você deseja fazer 'após o encerramento da aplicação'. Pode ser um script de shell. Eu uso esse método e funciona para mim, mas pode ser complicado por causa da citação.
-
Você também pode colocar seu aplicativo em um script de shell bash que fará todas as tarefas para você (chame seu aplicativo do script) e coloque o nome do script na linha Exec no arquivo da área de trabalho.
Exec=do-all-tasks-script
É mais provável que este método funcione, se as tarefas contiverem sintaxe complicada (e não funcionarem 'dentro de aspas').
É uma observação correta do Serg, que você não deve editar os arquivos do sistema. Eu acho que este é um caso especial, e você pode copiar o arquivo da área de trabalho para a área de trabalho e editar essa cópia. (Eu faço esse tipo de arquivos da área de trabalho para meus próprios aplicativos.)
Extra
Eu fiz o seguinte arquivo em lote 'dbdmda'
#!/bin/bash
echo do-before
transmission-gtk
echo do-after
e corri assim: quando a transmissão começou, deixei-a funcionar por aproximadamente dez segundos. Então eu saí da transmissão pressionando o botão x no canto superior direito. Isso foi escrito na janela do terminal
$ bash dbdmda
do-before
do-after
Então, obviamente, a linha de comando 'do-after' foi executada. Como você está ligando para a transmissão e como ela é interrompida?