Возможно ли запустить несколько команд в файле someapp.desktop? [Дубликат]

4

Я просто пытаюсь найти способ запуска дополнительной команды при открытии приложения (Firefox), но я терпеть неудачу ...

Оригинальный вопрос: здесь .

Я попытался добавить свою команду после команды приложения, как в следующей строке:

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

Но это приводит к тому, что monitor_process.sh открывается FF, показывая диалоговое окно «открытый файл с ...».

Я пробовал ; & && , но безрезультатно ...

Итак, любая идея, как обрабатывать несколько команд в файлах .desktop?

Кроме того, Serg Саид:

  

, что тоже не сработает. Exec = должен иметь ровно одно утверждение, нет; разрешено.

    
задан ruessel 13.04.2016 в 22:50
источник

2 ответа

0

Вы можете попробовать эту строку Exec для вашего файла .desktop :

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

bash откроет оболочку и правильно интерпретирует & amp ;.

    
ответ дан Mahdi 13.04.2016 в 22:57
0

Файлы рабочего стола не запускаются в оболочке; это означает, что вы не можете запускать сложные команды, например firefox %u & /bin/monitor_process.sh firefox ; в этом случае все не выполняется в & , которая не интерпретируется как «background 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
    
ответ дан kos 14.04.2016 в 03:10