有没有办法(破解)可以启用屏幕锁定但不在盖子关闭时锁定?

有没有办法(破解)可以启用屏幕锁定但不在盖子关闭时锁定?

这正是我想要做的:打开锁定(Settings> Brightness and Lock),设置等待时间(Lock screen after:),但如果我仅关闭(当然打开)盖子,则不要锁定屏幕(例如,没有密码提示)。

我不确定是否有一些调整/破解方法可以做到这一点。

(我总是走出办公桌,但我的机器总是在做一些事情,所以在关闭盖子时“不做任何事”,但每小时输入 4 次密码有点烦人。我需要关闭盖子。但是,有时我确实离开办公桌超过一个小时,忘记按 Ctrl+Alt+L。我希望它在一小时不活动后自动锁定。如果脚本是唯一的方法,你能帮我从哪里开始吗?提前谢谢。)

Ubuntu 12.04.02,LightDM,Gnome Shell

答案1

好的,您在评论中提供的信息现在已经足够了。

首先,您应该安装xprintidlesudo apt-get install xprintidle),因为我们将尝试模拟锁定机制!

现在,编写一个脚本(我将其称为screen-locker,请注意,您不需要在文件名中添加扩展名):

#!/bin/sh

export DISPLAY=:0.0

if /usr/bin/grep -q close /proc/acpi/button/lid/*/state ; then
  # the lid is closed, so nothing to do
  exit 0
fi

# The lid is open

# the idle time before locking is 60 minutes (60 times 60 times 1000 milliseconds)
lock_time_in_minutes=60

lock_time=$(( ${lock_time_in_minutes} * 60 * 1000 ))

if [ "`/usr/bin/xprintidle`" -ge "$lock_time" ] ; then
  /usr/bin/gnome-screensaver-command -l
fi

假设你将其保存在名为的目录中/home/your-username/bin。使其可执行

chmod 755 /home/your-username/bin/screen-locker

现在在终端运行

echo '*/10 * * * * /home/your-username/bin/screen-locker' | crontab

将此脚本添加到您的 crontab。(这样脚本将每 10 分钟执行一次。)

现在您可以导航至亮度与锁定并取消锁定,因为当(且仅当)盖子打开时,脚本才会锁定您的屏幕。

(为了进行快速测试,您可以将60时间改为分钟。打开盖子,等待大约 2 分钟,看看它是否锁上,然后关闭盖子,同样等待,看看它是否没有锁上)。1

相关内容