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;;
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.
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;;
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
Tags command-line 14.04 bash .desktop