La función del casillero xautolock deja de funcionar después de un minuto

La función del casillero xautolock deja de funcionar después de un minuto

Tengo una forma ligeramente diferente de usar xautolock: después de bloquear la pantalla (usando i3locken mi caso), quiero que la pantalla se apague después de un período de inactividad. Y quiero que se vuelva a apagar si detecta actividad, enciende la pantalla, pero la computadora no está desbloqueada.

Aquí está el guión que tengo:

/bin/bash

function lockfunc {
    if [[ "$1" = -sleep ]]; then
        i3lock -t -i $backgroundimg &&  xautolock -time 1 -locker 'xset s activate' &
        while [[ $(pgrep -x i3lock) ]]; do # loop while computer is locked
            echo $(date) '| i3lock running'
            if [[ $(pgrep -x xautolock) ]]; then echo $(date) '| xautolock running'; fi
            # if $(pgrep -x xautolock); then echo $(date) '| i3lock running'; fi
            sleep 5
        done
        echo $(date) '| exit i3lock while loop'
        xautolock -exit # stop xautolock when unlocked
    else
        i3lock -t -i $backgroundimg
    fi
    return 0}

lockfunc -sleep

Si bien el comportamiento funciona en su mayoría, el gran problema en este momento es queDespués de (exactamente) un minuto de que la pantalla esté apagada, se vuelve a encender sin ninguna interacción.

Cronología del comportamiento:

00:00 -> start the lockfunc
01:00 -> screen turns off
02:00 -> screen turns on
07:00 -> screen doesn't turn back off, stop test

Las echodeclaraciones de depuración en el script anterior realmente no mostraron ningún cambio durante ese tiempo: tanto i3lock como xautolock siguieron ejecutándose todo el tiempo.

¿Alguna idea de por qué sucede esto?

Respuesta1

Cambiar xset s activate-> xset dpms force offfuncionó.

Lo extraño que sería bueno explicar es que cuando lo usé xset s activatefuera de xautolock, no demostró este comportamiento. Se agradecería cualquier explicación de por qué.

información relacionada