É possível executar mais de um comando em um arquivo someapp.desktop? [duplicado]

4

Estou apenas tentando encontrar uma maneira de executar um comando extra ao abrir um aplicativo (Firefox), mas estou falhando miseravelmente ...

A pergunta original é aqui .

Eu tentei adicionar meu comando após o comando do aplicativo, como na linha a seguir:

Exec=firefox %u & /bin/monitor_process.sh firefox

Mas isso resulta no monitor_process.sh sendo aberto pelo FF, mostrando uma caixa de diálogo "abrir arquivo com ...".

Eu tentei ; & && , mas sem sucesso ...

Então, alguma ideia de como lidar com vários comandos em arquivos .desktop?

Além disso, Serg disse:

  

isso também não funciona. Exec = tem que ter exatamente uma declaração, não; é permitido.

    
por ruessel 13.04.2016 / 22:50

2 respostas

0

Você pode tentar essa linha do Exec para o arquivo .desktop :

Exec= bash -c "firefox && /bin/monitor_process.sh firefox"

bash abrirá um shell e interpretará corretamente o & amp; & amp;;

    
por Mahdi 13.04.2016 / 22:57
0

Os arquivos da área de trabalho não são executados em um shell; isso significa que você não pode executar comandos complexos como firefox %u & /bin/monitor_process.sh firefox diretamente; nesse caso, tudo falha na parte & , que não é interpretada como "background firefox %u ", mas literalmente como & , que é passada como um argumento para firefox %u junto com /bin/monitor_process.sh e firefox .

Para corrigir essa execução firefox %u & /bin/monitor_process.sh firefox em um shell que, pelo menos, suporta controle de tarefa (simplesmente dash funcionaria):

[Desktop Entry]
Name=foo
Exec=sh -c 'firefox %u & /bin/monitor_process.sh firefox'
Type=Application
    
por kos 14.04.2016 / 03:10