xautolock儲物櫃功能一分鐘後停止運作

xautolock儲物櫃功能一分鐘後停止運作

我使用 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

雖然這種行為大部分都有效,但現在的大問題是螢幕關閉(剛好)一分鐘後,它會在沒有任何互動的情況下重新開啟。

行為時間表:

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奇怪的是,當我使用external of時xautolock,它並沒有表現出這種行為,這是很好解釋的。任何有關原因的解釋將不勝感激。

相關內容