Как выполнить скрипт, когда приложение завершено

Убедитесь, что у вас установлено вино, точно так же, как ответ в ссылке, предоставленной @B. Роланд. Вино необходимо, потому что TeamViewer использует библиотеки some.dll, предоставленные вином.

1
задан 23 December 2016 в 09:51

1 ответ

Прежде всего, обычно считается неправильной практикой редактирования файлов в /usr/share/applications. Кроме того, он очень неэффективен, потому что он входит в состав пакета, и если есть обновление для этого пакета, угадайте, что? Ваши изменения будут перезаписаны. Если вы абсолютно, 100%, должны внести изменения, создать пользовательский файл .desktop и сохранить его в ~/.local/share/applications

Вместо этого я бы рекомендовал использовать скрипт, который использует петли while и pgrep -f, чтобы ждать приложения, которое вы хотите. Например, в приведенном ниже примере сценарий использует firefox как строку процесса.

#!/bin/bash

process_string="firefox"
while true
do

    while ! pgrep -f "$process_string"
    do
       echo "Waiting for $process_string"
       sleep 3
    done

    while pgrep -f "$process_string"
    do
       echo "Waiting for $process_string to exit"
       sleep 3
    done

    # place the command you want to occur when 
    # process exits here
sleep 3
done

Скрипт работает в непрерывном цикле, поэтому вы можете добавить его как часть запуска приложений для запуска при регистрации в

4
ответ дан 23 May 2018 в 03:05
  • 1
    Спасибо Сергу. Я создал локальную копию внутри ~ / .local / share / applications в соответствии с вашими рекомендациями. Я дам вам скрипт и отчитаюсь. – user634037 25 December 2016 в 15:08
  • 2
    Привет, Серж, я пробовал ваше решение, и оно работает. Спасибо. – user634037 26 December 2016 в 07:37
  • 3
    @ пользователь634037 замечательный! Подумайте о времени, чтобы отметить этот пост как принятый (серая галочка рядом со стрелками вверх / вниз) – Sergiy Kolodyazhnyy 26 December 2016 в 07:38

Другие вопросы по тегам:

Похожие вопросы: