Мне нужно выполнить это:
rm -rf ~/.wine-pipelight/*;
rm -rf ~/.wine-pipelight/./.*;
cp -a ~/viewright_backup/. ~/.wine-pipelight
каждый раз, когда окно Firefox закрывается. Но не обязательно, когда все окна закрыты, но на каждом окне, которое закрыто. Например, если у меня есть одно окно Firefox и одно всплывающее окно Firefox. Если я закрою хотя бы одно окно, я хочу выполнить эту команду. Это возможно? Спасибо!
command-line
bash
firefox
Душан Милошевич
источник
источник
Ответы:
Единственный способ, которым я могу придумать, не очень элегантный. Вы можете запустить скрипт в фоновом режиме, который подсчитывает количество открытых окон Firefox каждую секунду и запускает вашу команду, если это число меняется. Что-то вроде:
Сохраните приведенный выше скрипт как
firefox
, поместите его в свой~/bin
каталог и сделайте его исполняемымchmod a+x ~/bin/firefox
. Так как Ubuntu добавляет~/bin
к вашему$PATH
по умолчанию и добавляет его перед любыми другими каталогами, запущенныйfirefox
запустит этот скрипт вместо обычного исполняемого файла firefox. Теперь, когда скрипт запускается/usr/bin/firefox
, это означает, что ваш обычный firefox появится, как вы и ожидаете, только с запущенным скриптом. Сценарий закроется, как только вы закроете Firefox.ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ:
Этот скрипт
xdotool
, установите его сsudo apt-get install xdotool
источник
while ["0" -lt "$(xdotool search --name firefox | wc -l)" ]
. Я не знаю, правильный ли синтаксис, но вы поняли смысл ... Не могли бы вы переписать его, чтобы соответствовать этому условию? Спасибо!