[ノート:気づくエマルジョンしかし、決して返信を受けませんでした。 ]
私はをi3
使用しています。archlinux
2分間アクティビティがない場合は、ディスプレイが一時停止するようにDPMSを設定しました(xset dpms 0 120 180
)。しかし、常に自動的に起動するわけではないことがわかりました。実行はxset dpms force
問題なく動作するため、ハードウェアの問題ではないと思います。
私の設定:
$ xset q
Keyboard Control:
auto repeat: on key click percent: 0 LED mask: 00000000
XKB indicators:
00: Caps Lock: off 01: Num Lock: off 02: Scroll Lock: off
03: Compose: off 04: Kana: off 05: Sleep: off
06: Suspend: off 07: Mute: off 08: Misc: off
09: Mail: off 10: Charging: off 11: Shift Lock: off
12: Group 2: off 13: Mouse Keys: off
auto repeat delay: 660 repeat rate: 25
auto repeating keys: 00ffffffdffffbbf
fadfffefffedffff
9fffffffffffffff
fff7ffffffffffff
bell percent: 50 bell pitch: 400 bell duration: 100
Pointer Control:
acceleration: 2/1 threshold: 4
Screen Saver:
prefer blanking: yes allow exposures: yes
timeout: 0 cycle: 600
Colors:
default colormap: 0x22 BlackPixel: 0x0 WhitePixel: 0xffffff
Font Path:
/usr/share/fonts/TTF/,/usr/share/fonts/OTF/,built-ins
DPMS (Energy Star):
Standby: 0 Suspend: 120 Off: 180
DPMS is Enabled
Monitor is On
DPMSの設定によってモニターが一時停止するのを妨げる要因は何ですか?
答え1
この小さなプログラムを使用して、一部のユーザー入力(敏感なマウスが多いですか)によって発生したか、またはアプリケーションがXScreenSaver拡張アイドルタイマーを積極的にリセットして発生したかを確認できます。
#include <stdio.h>
#include <X11/Xlib.h>
#include <X11/extensions/scrnsaver.h>
/* Report amount of X server idle time. */
/* Build with- */
/* cc xidle.c -o xidle -lX11 -lXext -lXss */
int main(int argc, char *argv[])
{
Display *display;
int event_base, error_base;
XScreenSaverInfo info;
float seconds;
display = XOpenDisplay("");
if (XScreenSaverQueryExtension(display, &event_base, &error_base)) {
XScreenSaverQueryInfo(display, DefaultRootWindow(display), &info);
seconds = (float)info.idle/1000.0f;
printf("%f\n",seconds);
return(0);
}
else {
fprintf(stderr,"Error: XScreenSaver Extension not present\n");
return(1);
}
}
答え2
2022年にこの問題が発生した場合は、$ HOMEで.xsession_errorsを確認し、待機を妨げないものがないかどうかを確認してください。私の場合、ChromeのビデオのためにDPMSがディスプレイをオフにするのを防ぎました。
powerdevil: Enforcing inhibition from ":1.23" "/usr/bin/google-chrome-stable" with cookie 3821 and reason "Video Wake Lock"
powerdevil: Added change screen settings
powerdevil: Added interrupt session
powerdevil: Disabling DPMS due to inhibition
答え3
@ L29Ahの答えを改善するために、GithubにはXが入力イベントなしで歩く時間を印刷するプログラムがあります。https://github.com/g0hl1n/xprintidle
したがって、X入力がモニターの停止を妨げているかどうかを確認するには、次のようにします。
$ xset dpms 3 3 3 # Set your monitor to turn off after 10 seconds:
$ while true; do sleep 1 && xprintidle; done
3秒後も時間が増え続けると、モニターの電源が切れるのを妨げるのはX入力ではありません。
私の場合は焦点が合っていると思いましたが、実際にはそうではない迷子になったSMPlayerウィンドウでした。したがって、詰まりを防ぐことができるウィンドウが見つかるまで、ウィンドウを閉じ続けます。