Maj*_*jal 4 lock-screen power-management
这正是我想要做的:打开锁定 ( Settings> Brightness and Lock),设置等待时间 ( Lock screen after:),但如果我只关闭(当然也打开)盖子,则不要锁定屏幕(例如没有密码提示)。
我不确定是否有一些调整/黑客能够做到这一点。
(我总是走出我的办公桌,但我的机器总是做一些事情,所以关闭盖子时“什么都不做”,但是像每小时 4 次这样连续输入密码有点烦人。我需要关闭盖子。但是, 有时我确实离开办公桌一个多小时而忘记按 Ctrl+Alt+L。我希望它在一个小时不活动后自动锁定。如果脚本是唯一的方法,请您帮忙我从哪里开始?提前致谢。)
Ubuntu 12.04.02、LightDM、Gnome Shell
好的,你在评论中提供的信息现在已经足够了。
首先,您应该安装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
Run Code Online (Sandbox Code Playgroud)
假设您将其保存在名为/home/your-username/bin. 使其可执行
chmod 755 /home/your-username/bin/screen-locker
Run Code Online (Sandbox Code Playgroud)
现在在终端运行
echo '*/10 * * * * /home/your-username/bin/screen-locker' | crontab
Run Code Online (Sandbox Code Playgroud)
将此脚本添加到您的 crontab。(这样脚本将每 10 分钟执行一次。)
现在您可以导航到亮度和锁定并取消锁定,因为脚本会在(且仅当)盖子打开时锁定您的屏幕。
(为了快速测试,您可以将 更改60为1分钟。打开盖子等待大约 2 分钟,看看它是否锁定,然后做同样的等待,但关闭盖子,看看它是否没有锁定)。