Cách duy nhất tôi có thể nghĩ là không thanh lịch. Bạn có thể có một tập lệnh chạy trong nền đếm số lượng cửa sổ firefox đang mở mỗi giây và khởi chạy lệnh của bạn nếu số đó thay đổi. Cái gì đó như:
#!/usr/bin/env bash
## Run firefox
/usr/bin/firefox &
## Initialize the variable to 100
last=100;
## Start infinite loop, it will run while there
## is a running firefox instance.
while pgrep firefox >/dev/null;
do
## Get the number of firefox windows
num=$(xdotool search --name firefox | wc -l)
## If this number is less than it was, launch your commands
if [ "$num" -lt "$last" ]
then
rm -rf ~/.wine-pipelight/*;
## I included this since you had it in your post but it
## does exactly the same as the command above.
rm -rf ~/.wine-pipelight/./.*;
cp -a ~/viewright_backup/. ~/.wine-pipelight
fi
## Save the number of windows as $last for next time
last=$num
## Wait for a second so as not to spam your CPU.
## Depending on your use, you might want to make it wait a bit longer,
## the longer you wait, the lighter the load on your machine
sleep 1
done
Lưu tập lệnh ở trên như firefox
, đặt nó vào ~/bin
thư mục của bạn và làm cho nó thực thi được chmod a+x ~/bin/firefox
. Do Ubuntu thêm ~/bin
vào $PATH
mặc định của bạn và thêm nó trước bất kỳ thư mục nào khác, nên việc chạy firefox
sẽ khởi chạy tập lệnh đó thay vì tệp thực thi firefox thông thường. Bây giờ, vì tập lệnh đang khởi chạy /usr/bin/firefox
, điều này có nghĩa là firefox bình thường của bạn sẽ xuất hiện, đúng như bạn mong đợi, chỉ với tập lệnh đang chạy. Kịch bản sẽ thoát ngay khi bạn đóng firefox.
TUYÊN BỐ TỪ CHỐI:
Kịch bản này là
- Không thanh lịch, nó cần phải được chạy như một vòng lặp vô hạn trong nền.
- Yêu cầu
xdotool
, cài đặt nó vớisudo apt-get install xdotool
- Không hoạt động cho các tab, chỉ cửa sổ.