我把笔记本电脑设置为插入电源时永不挂起,并使用电池供电一段时间后挂起;这就是我想要保留的方式。
我经常在笔记本电脑和台式机之间切换使用,所以有时我的笔记本电脑插上电源后会闲置一段时间。如果我打算在工作台上使用笔记本电脑,那没问题,但有时我想拔下笔记本电脑的电源,带着它去其他地方工作。但是,如果它闲置了很长时间,我会收到类似这样的通知:
或者如果时间足够长,笔记本电脑就会在我还来得及做出反应之前直接进入挂起模式。
我拿起我的笔记本电脑使用它,并且宁愿它不会在拔掉电源后立即进入挂起状态。是否有任何设置可以更改,以便在拔掉笔记本电脑电源时重新启动不活动计时器?如果做不到这一点,是否有任何解决方法,例如拔掉电源后可以由电源管理触发的某些脚本,模拟某种活动来重置计时器?
编辑 2021-09-17T18:21Z
我附上了当前电源设置的屏幕截图。我希望它们保持如下状态:
问题是,如果我的笔记本电脑闲置了插入电源时29 分钟后,我拔掉电源,拿起它,走进客厅,坐下,它就进入休眠状态,因为它现在认为它已经闲置了 30 分钟。我希望它能将连接/断开直流电源解释为“活动”,这样只有当我 30 分钟内没有触摸笔记本电脑时,它才会暂停拔掉电源后。
答案1
拔掉电源时重置空闲时间,或重置空闲时间尽管你在用 AC 吗?
即使您设法在拔掉电源插头时采取行动(您可以),问题在于您是否能够及时防止暂停。
更可靠的技巧是防止空闲时间超过空闲时间阈值根本,但只有当您使用 AC 时才可以。
如果您在 X 上,我们该怎么做?
运行一个类似守护进程的后台脚本 -只有当你使用空调时和闲置超过(比如说)一分钟- 模拟按键Control。如果您实际上没有在笔记本电脑上工作,该键将不执行任何操作,只会重置空闲时间。
然后,如果您拔下电源,则会跳过虚拟按键,笔记本电脑将在 x 时间后执行您设置的任何操作。
下面是此类脚本的示例。在评论中,您提到您正在使用 Ubuntu 18.04,Gnome,这意味着您正在使用 Mutter (X),因此您可以使用下面脚本中的工具。
如何使用?
- 确保
xprintidle
、xdotool
和acpi
已安装:sudo apt install xdotool acpi xprintidle
- 将脚本复制到一个空文件中。
- 从终端测试运行它:
python3 /path/to/script
。如果一切正常,请将其添加到启动命令中。
剧本
#!/usr/bin/env python3
import subprocess
import gi
gi.require_version("Gtk", "3.0")
from gi.repository import GLib, Gtk
def test(arg):
# let's see what is the current idle time
idletime = int(subprocess.check_output("xprintidle").decode("utf-8"))
# and if we are plugged in
onpower = "on-line" in subprocess.check_output(
["acpi", "-a"]
).decode("utf-8")
# if idle for > 60 seconds AND on power, tap Ctrl to reset idle
if all([idletime/1000 > 60, onpower]):
subprocess.Popen(
["xdotool", "key", "Ctrl"]
)
# keep it running please
return True
GLib.timeout_add_seconds(15, test, None)
Gtk.main()