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이 동작이 나타나지 않는다는 것입니다. 이는 잘 설명되어 있습니다. 이유에 대한 설명을 주시면 감사하겠습니다.

관련 정보