我已经做了什么

我已经做了什么

如何防止使用空调时屏幕变黑?

推论:

仅在使用电池供电时才进行屏幕消隐(按照配置)。

方法:

我不需要在交流电和电池之间设置不同的屏幕消隐设置。我需要的只是在使用交流电时自动禁用屏幕消隐,使用电池时自动启用屏幕消隐。


我已经做了什么

我已经搜索过 AskUbuntu,但没有找到有效的答案:

设置使用电池或交流电时不同的黑屏超时时间

  • 问题是关于不同的黑屏超时。我不问不同的超时。我问的是黑屏在 AC 上根本不活动。这里不需要超时!
  • 第一个被接受的答案是完全错误的。正如评论中指出的那样,这配置的是挂起时间,而不是屏幕消隐器。
  • 第二个答案也是错的。当然可以根据 AC 设置更改 Gnome 等中的屏幕消隐器配置。目前还没有内置可用的此类功能,这不符合“不可能”的条件。
  • 再次强调:这个答案也许也能回答我的问题。但我的问题完全不同,所以如果那里出现了解决方案,那也只是偶然地涵盖了我的问题。

使用电池供电时使用空白屏幕保护程序

  • 这要求在电池供电时采用不同的屏幕消隐方法。我并不要求这样做。我的问题是,在使用交流电时如何完全不进行屏幕消隐。当然,在使用电池供电时,屏幕消隐应该按照配置进行!
  • 这个问题根本没有答案。

我需要的详细信息

所以我需要的是执行以下操作的脚本/黑客(无论什么):

  • 使用电池供电时,屏幕消隐功能开启
    • 因此正常配置的屏幕消隐发生
  • 使用交流电时,屏幕消隐功能会关闭
    • 因此正常配置的屏幕消隐根本不会发生

我无法解决的部分(因为我真的不知道在哪里寻找答案)是:

  • 命令(来自命令行)用于打开或关闭屏幕消隐。
    • 可靠。
    • 适用于机器上运行的所有屏幕和 X11 服务器或 Waylands 等。
    • 对于所有用户。
    • 适用于所有(标准)桌面类型(KDE、Gnome、XFCE、LXDE)。
  • 一个钩子(脚本,等等),用于检测机器何时改变交流电/电池状态。
    • 这个钩一定不使用轮询。因此,只要系统保持相同的电源模式,就不会使用 CPU。
    • 可靠
    • 即使在一段时间内电源输入每秒变化多次(电压下降)
    • 因此,最后报告的状态一定与真实状态(然后是稳定状态)没有区别

我知道如何破解内核。我知道如何使用 sbuild 和创建 Debian 软件包。我对 C 的了解比我的母语(不是英语,我想您已经猜到了)还要多。但我真的不知道,甚至一点线索都不知道,在 SystemD 和当前桌面框架的存在下,现在的情况是如何运作的。我甚至不知道从哪里开始寻找这些东西。由于我对桌面和前端不感兴趣,我只是中间件、后端和硬件专家(除了像 SystemD 这样的后现代事物。这种情况可能会在 2030 年代发生变化,但今天对我来说,该领​​域的变化太快了,以至于我无法跟上。阅读:我现在有点太老了)。

但 ..

.. 有了上述 2 个步骤(一个钩子和在各种桌面上禁用/启用消隐的神奇方法),我当然能够创建自己的解决方案。我希望今天 Ubuntu 中已经存在一些东西,可供所有人使用,因为就我所知,我们已经有了 2022 年。

历史注释:我 1989 年购买的第一台便携式计算机之一在 DOS 下运行,具有我要求的这个属性。当使用电池供电时,BIOS 能够使屏幕变黑(它实际上切断了整个显示屏的电源),以延长电池寿命(2 倍及以上)!但如果说那些旧时代已经提供了该功能,那就太作弊了:为了让 BIOS 检测活动,您需要通过 BIOS 读取输入。大多数 DOS 都这样做。但游戏等图形应用程序通常没有。因此,BIOS 只提供电池状态的屏幕消隐,以免干扰交流电状态。


我想存档的内容

我的目标是让机器保持原样。很多机器都是这样。当我过来查看它们的显示屏时,我希望它们的屏幕能够正常运行,并且显示正确的内容,而不是空白或黑色显示。因为“空白”意味着“错误状态”、“缺陷”、“死亡”甚至更糟。

但是,如果断电或其他原因出现故障(例如,我整理了机器电源线的所有结,却忘记插上电源),机器(没有电源的那台)就会黑屏(15 到 30 分钟后),然后,如果我没有将此视为当前出现问题的提示(阅读:即使管理员有时也会睡觉),它就会暂停,直到我再次回到值班并识别到屏幕的关闭状态。

另一方面,当我修复问题(插入忘记的电源线)时,屏幕消隐应该立即消失(所以我可以看到我在大海捞针中找到了正确的答案)。哦,是的,你没有在上面的“需求”中看到这一点。因为这是我这边非常独特的事情。所以我不要求解决方案也涵盖这一点。还没有。因为我希望,通过提示如何禁用/启用消隐,我可以自己找到在哪里可以做到这一点。

我只记下这一点,因为这部分是关于我想要存档的内容,而不是我敢于询问的内容。


感谢您提供关于如何仅在使用电池时允许屏幕消隐的任何线索。

顺便说一句,我只需要一个适用于 Ubuntu 22.04 的解决方案

答案1

好的,其中一个确实包含了您需要的答案。所以就是这样:

获取 AC Inactive 的可用选项:

gsettings range org.gnome.settings-daemon.plugins.power sleep-inactive-ac-type

这应该是这样的:

enum
'blank'
'suspend'
'shutdown'
'hibernate'
'interactive'
'nothing'
'logout'

所以,对于 AC,您需要将其设置为“无”。

这意味着,在非活动超时时,什么都不会发生。

发出命令检查它是否可写:

gsettings writable org.gnome.settings-daemon.plugins.power sleep-inactive-ac-type

然后,将其设置为无。请注意,您的系统应支持此配置才能使其正常工作(请参阅范围的输出以了解允许的值)

gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-ac-type nothing

接下来将电池电源类型设置为空白,并设置超时。

gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-battery-type blank

gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-battery-timeout 1200

对于 KDE 来说,它要简单得多:

进入系统设置 -> 电源管理 -> 节能

它有三个选项卡:交流电源、电池供电、电池电量不足

对于每一个,你可以选择:屏幕节能(这是一个复选框,你可以启用或禁用它)

KDE 电源管理(节能

就我个人而言,我比较喜欢 KDE,它运行完美,并且易于检查设置是否已设置。

相关内容