这正是我想要做的:打开锁定(Settings
> Brightness and Lock
),设置等待时间(Lock screen after:
),但如果我仅关闭(当然打开)盖子,则不要锁定屏幕(例如,没有密码提示)。
我不确定是否有一些调整/破解方法可以做到这一点。
(我总是走出办公桌,但我的机器总是在做一些事情,所以在关闭盖子时“不做任何事”,但每小时输入 4 次密码有点烦人。我需要关闭盖子。但是,有时我确实离开办公桌超过一个小时,忘记按 Ctrl+Alt+L。我希望它在一小时不活动后自动锁定。如果脚本是唯一的方法,你能帮我从哪里开始吗?提前谢谢。)
Ubuntu 12.04.02,LightDM,Gnome Shell
答案1
好的,您在评论中提供的信息现在已经足够了。
首先,您应该安装xprintidle
(sudo 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