跳转至内容

Display Power Management Signaling

来自 ArchWiki
(重定向自 DPMS)

本文章或章节需要扩充。

原因:未涵盖 Wayland。(请在 Talk:Display Power Management Signaling 中讨论)

VESA 显示电源管理信号 (DPMS) 可以在计算机不使用时实现显示器的节能行为。在显示器进入特定节能级别——待机挂起关闭——之前的不活动时间可以按照 DPMSSetTimeouts(3) 中描述的方式进行设置。

注意LCD 显示器上,待机挂起关闭模式的作用是相同的。DPMS 最初是为 CRT 开发的。

Linux控制台

要更改终端,请使用 setterm 命令。其语法 (其中 0 表示禁用)

$ setterm --blank [0-60|force|poke]
$ setterm --powersave [on|vsync|hsync|powerdown|off]
$ setterm --powerdown [0-60]
  • 仅控制台消隐本身并不能启用 DPMS 节能。控制台消隐默认禁用。 [1]
  • APM_DISPLAY_BLANK 内核配置选项未启用时,setterm --powerdown 似乎没有任何效果。 [2]
  • 控制台消隐也可以通过 consoleblank 内核参数启用。有关详细信息,请参阅 内核文档

一些命令只是将终端序列写入当前终端设备,无论是 screen、远程 ssh 终端、控制台模式、串行控制台等。

要查看使用的转义码,请按如下方式将输出管道化

$ setterm --powerdown 2>&1 | exec cat -v 2>&1 | sed "s/\\^\\[/\\\\033/g"

要修改特定终端,请将转义码重定向到它 (需要写入权限)

$ setterm --powerdown 0 >> /dev/tty3
注意 这里使用 >> 而不是 >。对于在使用 sudo 于脚本或其他情况下出现的权限问题,您可以使用 tee 将 setterm 的输出附加到 tty 设备,tty 设备有时允许附加但不允许写入。

Xorg

配置

要完全禁用 X Window System 上的 DPMS 和屏幕消隐,请 创建 配置文件

/etc/X11/xorg.conf.d/10-extensions.conf
Section "Extensions"
    Option "DPMS" "false"
EndSection
/etc/X11/xorg.conf.d/10-serverflags.conf
Section "ServerFlags"
    Option "BlankTime" "0"
EndSection

如果您只想调整延迟,请更改持续时间 (以分钟为单位)

/etc/X11/xorg.conf.d/10-serverflags.conf
Section "ServerFlags"
    Option "StandbyTime" "10"
    Option "SuspendTime" "20"
    Option "OffTime"     "30"
EndSection
注意 如果 OffTime 选项不起作用,请改用屏幕消隐 (即 BlankTime)。

运行时设置

可以使用 xset 命令关闭显示器,该命令由 xorg-xset 包提供。

示例

命令 描述
xset s off 禁用屏幕保护程序消隐
xset s 3600 3600 将消隐时间更改为 1 小时
xset -dpms 关闭 DPMS
xset s off -dpms 禁用 DPMS 并防止屏幕消隐
xset dpms force off 立即关闭屏幕
xset dpms force standby 待机屏幕
xset dpms force suspend 挂起屏幕

查询当前设置

$ xset q
...
Screen Saver:
  prefer blanking:  yes    allow exposures:  yes
  timeout:  600    cycle:  600
DPMS (Energy Star):
  Standby: 600    Suspend: 600    Off: 600
  DPMS is Enabled
  Monitor is On

有关所有可用命令,请参阅 xset(1)

  • XScreenSaverxfce4-power-manager 和 lxqt-powermanagement 使用它们自己的 DPMS 设置并覆盖 xset 配置。有关更多信息,请参阅 XScreenSaver#DPMS 和消隐设置Xfce#显示消隐
  • 如果在 shell 中手动使用该命令,您可能需要在其前面加上 sleep 1; 才能使其正常工作,例如 sleep 1; xset dpms force off
  • 将所有 DPMS 超时设置为零的 xset dpms 0 0 0 可能是“禁用”DPMS 的更好方法,因为 -dpms 的效果会在例如使用 xset dpms force off 关闭屏幕时被恢复。
  • 如果在 xinitrc 中使用 xset 无效,请在 /etc/X11/xorg.conf.d/ 中的文件中指定设置,请参阅 #Configuration

参见

© . This site is unofficial and not affiliated with Arch Linux.

Content is available under GNU Free Documentation License 1.3 or later unless otherwise noted.