有没有办法(黑客)启用屏幕锁定但不锁定盖子关闭?

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

edw*_*win 5

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

首先,您应该安装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 分钟执行一次。)

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

(为了快速测试,您可以将 更改601分钟。打开盖子等待大约 2 分钟,看看它是否锁定,然后做同样的等待,但关闭盖子,看看它是否没有锁定)。