xautolock locker 기능이 1분 후에 작동을 멈춥니다.

xautolock locker 기능이 1분 후에 작동을 멈춥니다.

xautolock을 사용하는 방법은 약간 다릅니다. 화면을 잠근 후( i3lock내 경우에는 사용) 일정 시간 동안 활동이 없으면 디스플레이가 꺼지도록 하고 싶습니다. 그리고 활동이 감지되어 화면이 켜지지만 컴퓨터가 잠금 해제되지 않은 경우 다시 끄기를 원합니다.

내가 가지고 있는 스크립트는 다음과 같습니다.

/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

이 동작은 대부분 효과가 있지만 현재 가장 큰 문제는화면이 꺼진 지 (정확히) 1분이 지나면 아무런 상호작용 없이 다시 켜집니다.

행동 타임라인:

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

echo위 스크립트의 디버그 문은 해당 시간 동안 실제로 변경된 내용을 표시하지 않았습니다. i3lock과 xautolock은 모두 계속 실행 중이었습니다.

왜 이런 일이 발생하는지 아시나요?

답변1

변경 xset s activate-> xset dpms force off트릭을 수행했습니다.

설명하면 좋을 이상한 점은 xset s activate외부에서 사용할 때 xautolock이 동작을 보여주지 않았다는 것입니다. 이유에 대한 설명을 주시면 감사하겠습니다.

관련 정보