如何防止使用空调时屏幕变黑?
推论:
仅在使用电池供电时才进行屏幕消隐(按照配置)。
方法:
我不需要在交流电和电池之间设置不同的屏幕消隐设置。我需要的只是在使用交流电时自动禁用屏幕消隐,使用电池时自动启用屏幕消隐。
我已经做了什么
我已经搜索过 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,它运行完美,并且易于检查设置是否已设置。