Existe alguma maneira de fazer o protetor de tela parar, enquanto o Skype está em andamento?

0

Estou tentando parar o protetor de tela enquanto o Skype está em andamento. Eu estou tentando fazer isso em um script bash (eu gostaria de fazê-lo no Bash). O script bash é bem simples: eu inicio o Skype e, enquanto o Skype está rodando, eu gostaria que o script desativasse o protetor de tela. Quando fecho o Skype, quero que o protetor de tela seja ligado. Eu gostaria de fazer o que eu mencionei (script bash).

Meu script é o seguinte:

##############
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

O script passa pela cláusula while sem parar enquanto o skype está em execução. Meu conhecimento sobre programação é limitado, então eu apreciaria uma explicação simples. Obrigado por qualquer ideia.

    
por joshsoj 06.02.2017 / 13:05

2 respostas

1

Este comando desabilita o bloqueio de tela no Ubuntu:

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

Você pode pular o segundo script e fazer:

#!/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
} &

Editar:

Para o Xubuntu, existem quatro comandos para desativar o bloqueio de tela:

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

Eu não sei se todos os quatro são necessários, mas esses são os que são usados para a sessão de convidados.

    
por Gunnar Hjalmarsson 06.02.2017 / 13:18
0

Por fim, obtive a solução graças ao DopeGhoti: link

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

screensaver.sh &
process_PID=$!

wait $skype_PID
kill $process_PID

Obrigado Gunnar por sua ajuda.

    
por joshsoj 06.02.2017 / 19:36