Там какой-либо путь состоит в том, чтобы заставить экранную заставку остановиться, в то время как Skype происходит?

Я пытаюсь заставить экранную заставку остановиться, в то время как Skype происходит. Я пытаюсь сделать это в сценарии удара (я хотел бы сделать это в 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, не останавливаясь, в то время как скайп работает. Мое знание о программировании ограничено, таким образом, я ценил бы простое объяснение. Спасибо за любые идеи.

0
задан 6 February 2017 в 05:05

2 ответа

Эта команда отключает экран, привязывающий Ubuntu:

gsettings set org.gnome.desktop.lockdown disable-lock-screen true

Вы могли пропустить второй сценарий и просто сделать:

#!/bin/bash
skype &
gsettings set org.gnome.desktop.lockdown disable-lock-screen true
{
    while pgrep -x skype >/dev/null; do
        sleep 1
    done
    gsettings reset org.gnome.desktop.lockdown disable-lock-screen
} &

Редактирование:

Для Xubuntu существует четыре команды для отключения экранной блокировки:

gsettings set apps.light-locker light-locker-enabled false
gsettings set apps.light-locker late-locking false
gsettings set apps.light-locker lock-on-lid false
gsettings set apps.light-locker lock-on-suspend false

я не знаю, необходимы ли все четыре, но это - те, которые используются для гостевой сессии.

1
ответ дан 7 November 2019 в 01:00

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

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

screensaver.sh &
process_PID=$!

wait $skype_PID
kill $process_PID

Спасибо Gunnar для Вашей справки.

1
ответ дан 7 November 2019 в 01:00

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

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