闲置时屏幕无法关闭


11

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

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

我看到过类似的问题,人们注意到屏幕重新打开且显示锁定屏幕,但我根本无法锁定计算机。

在此处输入图片说明

Answers:


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 的“启动”应用程序中-只需确保使用脚本的绝对路径即可。


虽然该解决方案可以工作,但我不确定将屏幕锁定/屏幕保护程序视为Ubuntu的内置功能时,该解决方案是否可行。
乔W

就像我说的那样,@ JoeW:一种解决方法
Robert Riedl

另外,我使用它来确保屏幕保持待机状态,因为有时出于某种原因它们会唤醒……
Robert Riedl
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.