На этот вопрос уже есть ответ здесь:
Я просто пытаюсь найти способ запустить дополнительную команду при открытии приложения (Firefox), но у меня ужасно не получается ...
Исходный вопрос здесь .
Я попытался добавить свою команду после команды приложения, как показано в следующей строке:
Exec=firefox %u & /bin/monitor_process.sh firefox
Но это приводит к тому, что monitor_process.sh
открывается FF, показывая «открытый файл с ... "диалоговое окно.
Я пробовал ;
&
&&
, но безрезультатно ...
Итак, есть идеи, как обрабатывать несколько команд в файлах .desktop?
Кроме того, Серг Сказал:
это тоже не сработает. Exec = должен иметь только один оператор, нет; позволено.
Вы могли попробовать эту Исполнительную строку за Ваш .desktop
файл:
Exec= bash -c "firefox && /bin/monitor_process.sh firefox"
bash
откроет оболочку и правильно интерпретирует & &.
Файлы на рабочем столе не выполняются в оболочке; это означает, что Вы не можете выполнить сложные команды такой как firefox %u & /bin/monitor_process.sh firefox
непосредственно; в этом случае все перестало работать в &
часть, которая не является intepreted как "фон firefox %u
", но буквально как &
, который передается как аргумент firefox %u
наряду с /bin/monitor_process.sh
и firefox
.
Для фиксации того выполнения firefox %u & /bin/monitor_process.sh firefox
в оболочке, которая, по крайней мере, поддерживает управление заданиями (просто dash
работал бы):
[Desktop Entry]
Name=foo
Exec=sh -c 'firefox %u & /bin/monitor_process.sh firefox'
Type=Application