拔掉笔记本电脑插头时有没有办法“重置”空闲时间?

拔掉笔记本电脑插头时有没有办法“重置”空闲时间?

我把笔记本电脑设置为插入电源时永不挂起,并使用电池供电一段时间后挂起;这就是我想要保留的方式。

我经常在笔记本电脑和台式机之间切换使用,所以有时我的笔记本电脑插上电源后会闲置一段时间。如果我打算在工作台上使用笔记本电脑,那没问题,但有时我想拔下笔记本电脑的电源,带着它去其他地方工作。但是,如果它闲置了很长时间,我会收到类似这样的通知:

自动暂停通知

或者如果时间足够长,笔记本电脑就会在我还来得及做出反应之前直接进入挂起模式。

我拿起我的笔记本电脑使用它,并且宁愿它不会在拔掉电源后立即进入挂起状态。是否有任何设置可以更改,以便在拔掉笔记本电脑电源时重新启动不活动计时器?如果做不到这一点,是否有任何解决方法,例如拔掉电源后可以由电源管理触发的某些脚本,模拟某种活动来重置计时器?

编辑 2021-09-17T18:21Z

我附上了当前电源设置的屏幕截图。我希望​​它们保持如下状态:

电源设置

问题是,如果我的笔记本电脑闲置了插入电源时29 分钟后,我拔掉电源,拿起它,走进客厅,坐下,它就进入休眠状态,因为它现在认为它已经闲置了 30 分钟。我希望它能将连接/断开直流电源解释为“活动”,这样只有当我 30 分钟内没有触摸笔记本电脑时,它才会暂停拔掉电源后

答案1

拔掉电源时重置空闲时间,或重置空闲时间尽管你在用 AC 吗?

即使您设法在拔掉电源插头时采取行动(您可以),问题在于您是否能够及时防止暂停。

更可靠的技巧是防止空闲时间超过空闲时间阈值根本,但只有当您使用 AC 时才可以。

如果您在 X 上,我们该怎么做?

运行一个类似守护进程的后台脚本 -只有当你使用空调时闲置超过(比如说)一分钟- 模拟按键Control。如果您实际上没有在笔记本电脑上工作,该键将不执行任何操作,只会重置空闲时间。
然后,如果您拔下电源,则会跳过虚拟按键,笔记本电脑将在 x 时间后执行您设置的任何操作。
下面是此类脚本的示例。在评论中,您提到您正在使用 Ubuntu 18.04,Gnome,这意味着您正在使用 Mutter (X),因此您可以使用下面脚本中的工具。

如何使用?

  1. 确保xprintidlexdotoolacpi已安装:sudo apt install xdotool acpi xprintidle
  2. 将脚本复制到一个空文件中。
  3. 从终端测试运行它: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()

相关内容