我可以提供一个解决方法

我可以提供一个解决方法

最近我注意到,一段时间不活动后关闭屏幕的亮度和锁定设置被忽略了。

我的设置为 1 分钟,并在屏幕关闭时锁定屏幕,但我的计算机似乎从未关闭屏幕。

我看到过类似的问题,人们注意到一个问题,屏幕重新打开并且显示锁定屏幕,但我根本没有让电脑锁定。

在此处输入图片描述

答案1

我可以提供一个解决方法


无需担心 GUI 中的设置,您可以通过命令行锁定屏幕并将屏幕置于待机状态


要锁定屏幕,您可以使用

gnome-screensaver-command -l

或者(如果不使用 gnome3)

xdg-screensaver lock

要关闭显示器(待机),你可以使用

xset dpms force off

现在,由于您不想手动执行此操作,但在几分钟空闲时间后,我们需要找出您空闲了多长时间。这可以通过xprintidle

sudo apt-get install xprintidle

xprintidle将返回 (xserver) 空闲时间的毫秒数

现在,让我们将其合并成一个脚本(*)。使用您最喜欢的编辑器复制/粘贴以下内容,并IDLE_TIME根据自己的喜好进行修改

nano /home/yourusername/idle_stby_lock_screen.sh
#!/bin/sh

# Wanted trigger timeout in milliseconds.
IDLE_TIME=$((5*60*1000))  # replace the '5' with how many minutes you'd like


# Sequence to execute when timeout triggers.
trigger_cmd() {
    echo "Triggered action $(date)"
}

sleep_time=$IDLE_TIME
triggered=false

while sleep $(((sleep_time+999)/1000)); do
    idle=$(xprintidle)
    if [ $idle -ge $IDLE_TIME ]; then
        if ! $triggered; then
            gnome-screensaver-command -l
            export DISPLAY=:0; xset dpms force off
            triggered=true
            sleep_time=$IDLE_TIME
        fi
    else
        triggered=false
        # Give 150 ms buffer to avoid frantic loops shortly before triggers.
        sleep_time=$((IDLE_TIME-idle+150))
    fi
done

然后使其可执行

chmod +x /home/yourusername/idle_stby_lock_screen.sh

您可以在命令行上进行测试

/home/yourusername/idle_stby_lock_screen.sh

如果你对此感到满意,你可以将其添加到 Ubuntu 的启动中,例如在这些答案中描述或者使用 Ubuntu 中的“启动”应用程序 - 只需确保使用脚本的绝对路径。

相关内容