Есть ли способ заставить заставку остановиться, пока Skype работает?

Я пытаюсь остановить заставку во время работы Skype. Я пытаюсь сделать это в сценарии bash (я хотел бы сделать это в Bash). Сценарий bash довольно прост: я запускаю Skype, и пока работает Skype, я хотел бы, чтобы сценарий отключил скринсейвер. Когда я закрываю Skype, я хочу, чтобы скринсейвер включался.

Мой скрипт выглядит следующим образом:

##############
my_script.sh

#!/bin/bash
skype &
screensaver.sh &

PID=$(ps -opid= -C mousepad)
while [[ ( -d /proc/$PID ) && ( -z `grep zombie /proc/$PID/status` ) ]]; do
        sleep 1
done && killall screensaver.sh && xdotool mousemove 100 100

##############
screensaver.sh # It's a script to move the mouse every 300s

#!/bin/bash
while [ 1 ]; do
    xdotool mousemove 000 000 &
    sleep 300
    xdotool mousemove 000 001 &
    sleep 300       
done

Скрипт проходит через предложение while без остановки, пока работает skype , Мои знания о программировании ограничены, поэтому я хотел бы получить простое объяснение. Спасибо за любые идеи.

1
задан 6 February 2017 в 16:05

1 ответ

Наконец, я получил решение благодаря DopeGhoti: https://unix.stackexchange.com/questions/342936/bash-how-to-make-a-process-works-while-skype-is-working[!d0 ]

#!/bin/bash
skype &
skype_PID=$!

screensaver.sh &
process_PID=$!

wait $skype_PID
kill $process_PID

Спасибо Гуннару за вашу помощь.

0
ответ дан 23 May 2018 в 01:43

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

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