AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1364303
Accepted
Doktor J
Doktor J
Asked: 2021-09-18 07:31:19 +0800 CST2021-09-18 07:31:19 +0800 CST 2021-09-18 07:31:19 +0800 CST

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

  • 772

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

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

自动暂停通知

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

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

编辑 2021-09-17T18:21Z

我附上了我当前电源设置的屏幕截图。这就是我希望他们留下的方式:

电源设置

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

gnome
  • 1 1 个回答
  • 190 Views

1 个回答

  • Voted
  1. Best Answer
    Jacob Vlijm
    2021-09-20T00:08:07+08:002021-09-20T00:08:07+08:00

    拔掉电源时重置空闲时间,还是在使用交流电时重置空闲时间?

    即使您设法创建了一个拔出操作(您可以),问题是您是否能及时阻止暂停。

    一个更可靠的技巧是完全防止空闲时间超过空闲时间阈值,但前提是您使用 AC。

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

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

    如何使用?

    1. 确保xprintidle和xdotool已acpi安装: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()
    
    • 1

相关问题

  • 如何安装 KDE?

  • 为什么我的时钟、指示器小程序和通知区域有时会在我重新启动时移动?我怎样才能防止这种情况?

  • 停止菜单图标闪烁

  • 是否有适用于 IMAP 邮件帐户的 Gnome 小程序?

  • 如果顶部面板中缺少会话小程序,如何注销?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve