Display Power Management Signaling - Arch Linux 中文维基

跳至內容

# Display Power Management Signaling

出自 Arch Linux 中文维基
翻譯狀態：

- 本文（或部分內容）譯自 Display Power Management Signaling，最近一次同步於 2017-11-20，若英文版本有所更改，則您可以幫助同步與翻譯更改的內容。
- 您可以在 ArchWiki 的對應頁面找到本文翻譯的原始修訂歷史。
- 本文可能與英文原文存在出入。

DPMS (顯示電源管理信號，簡稱DPMS) 可以在計算機一定時間無操作時，將顯示器置於節電模式。具體的時間設置可以參考 [1]. 注意有些顯示器在不同 DPMS 狀態下表現不變。

## 在 X 中設定 DPMS

注意：從 Xorg 1.8 開始，只要內核啟用了 ACPI， DPMS 就會自動啟用。

在 `/etc/X11/xorg.conf` 的 `Monitor` 段落中加上上:

    Option "DPMS" "true"

把下面的配置加入 `ServerLayout` 小節, 必要時改變時間(以分鐘計):

    Option "StandbyTime" "10"
    Option "SuspendTime" "20"
    Option "OffTime" "30"

注意：If the "OffTime" option does not work replace it with the following, (change the "blanktime" to "0" to disable screen blanking)

    Option         "BlankTime" "30"

比較新的X推薦使用 `.conf` 文件代替 `xorg.conf`, `/etc/X11/xorg.conf.d/10-monitor.conf` 的一個例子如下：

    Section "Monitor"
        Identifier "LVDS0"
        Option "DPMS" "false"
    EndSection

    Section "ServerLayout"
        Identifier "ServerLayout0"
        Option "BlankTime"  "0"
        Option "StandbyTime" "0"
        Option "SuspendTime" "0"
        Option "OffTime" "0"
    EndSection

## 用xset修改DPMS和屏保設定

可以用 xorg-xset包 提供的`xset`工具關閉屏幕。如果要在shell中關閉顯示器，需要在命令前面加上 `sleep 1;` . 例如：

    sleep 1; xset dpms force off

命令示例：

命令 | 描述
--- | ---
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 | 休眠界面

注意：通過 `dpms 0 0 0` 可以將 DPMS 超時都設置成零，這樣也可以禁用 DPMS. 這種方式更方便，可以使用 `xset dpms force off` 關閉屏幕。

查看當前設置:

    $ 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` 可以查看全部可用命令.

注意：如果在 xinitrc 中使用 `xset` 無法工作，在配置文件中進行設置。
警告：XScreenSaver 和 xfce4-power-manager包 會使用自己的 DPMS 設置，詳情參考 XScreenSaver#DPMS and blanking settings 和 Xfce#Display blanking.

## Linux 終端和 DPMS 的交互

setterm 工具可以通過終端能夠識別的轉義字符修改終端。可以寫入/echo 終端序列到當前終端設備，包括再顯示設備，遠程 SSH 終端， 控制台，串口控制台。

setterm Syntax: (0 disables)

    setterm -blank [0-60|force|poke]
    setterm -powersave [on|vsync|hsync|powerdown|off]
    setterm -powerdown [0-60]

### 防止屏幕關閉

可以運行以下命令：

    $ setterm -blank 0 -powerdown 0

也可以通過下列命令禁止終端清空:

    # echo -ne "\033[9;0]" >> /etc/issue

將分號後的 0 修改為 3 會在 3 分鐘後進入休眠模式。

### 通過 cat 顯示輸出中的轉義

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

### 將轉義輸出到任意 tty (with write/append perms) 進行終端修改

    $ setterm -powerdown 0 >> /dev/tty3

注意：使用 `>>` 而不是 `>`. 如果腳本有 sudo 權限問題，tty 可能允許附加但是不允許寫入， 可以使用 tee 阻止 setterm 輸出到 tty 。

#### 用循環設置 ttys 0-256

    $ for i in {0..256}; do setterm -powerdown 0 >> /dev/tty$i; done; unset i;

## 參閱

- PC Monitor DPMS specification explanation
- DPMS control in X

分類：​

- X 伺服器
- 電源管理

Display Power Management Signaling
新增話題