Waayland에서 모니터를 끄거나 켜곤 했는데 busctl --user set-property org.gnome.Mutter.DisplayConfig /org/gnome/Mutter/DisplayConfig org.gnome.Mutter.DisplayConfig PowerSaveMode off
Wayland를 사용할 수 없어서 X11로 돌아가야 했던 후에 이 명령은 dpms 강제 종료와 동일하게 작동합니다.
X11을 사용하면 실행할 수 있지만 sleep 1; xset dpms force off
모니터를 대기 모드로 전환하고 입력(예: 마우스 움직임)이 감지되자마자 깨어납니다. 이는 원치 않는 동작이므로 특정 단축키를 사용하여 디스플레이를 깨우는 기능을 선호합니다. 이렇게 하면 모니터가 저절로 또는 실수로 켜지지 않도록 할 수 있습니다.
그렇다면 사용자 입력이 디스플레이를 다시 깨우지 못하도록 X11에서 디스플레이를 강제로 끄려면 어떻게 해야 할까요?
답변1
DPMS "off"가 무엇을 의미하는지 오해하신 것 같습니다. 테이블을 봐위키피디아, DPMS가 실제로 수행하는 작업은 수평 동기화 및 수직 동기화 신호(또는 HDMI 등가)를 끄고 그래픽 카드의 DAC를 비활성화하는 동시에 그래픽 카드의 나머지 부분은 계속 실행되어 절전 상태를 알리는 것입니다. 그래서 당신은아니요모든 것을 완전히 끄면 가능한 "가장 깊은" 절전 모드로 들어갑니다.
OTOH를 사용하면 xrandr --off
출력이 완전히 꺼지고 마치 모니터가 아무 것도 연결되지 않은 것처럼 출력을 생성하는 데 사용된 그래픽 카드의 모든 것이 비활성화됩니다. 물론 이것이 유일한 모니터인 경우에는 작동하지 않습니다. 그 이후에는 아무것도 그릴 수 있는 그래픽 모니터가 더 이상 없기 때문입니다. 이는 기본적으로 연결된 두 번째 또는 세 번째 모니터를 활성화 및 비활성화하기 위한 것입니다.
따라서 "완전 꺼짐"이 아닌 "꺼짐"이라고 불리는 가장 깊은 DPMS 절전 상태를 원합니다.
귀하의 busctl
명령은 Wayland에게 PowerSaveMode
DPMS를 사용하도록 지시합니다. Wayland는 마우스나 키보드 입력을 감지해도 DPMS를 다시 활성화하지 않는 것 같아서 꺼진 상태로 유지됩니다.
xset dpms
X 서버에도 같은 방식으로 DPMS를 사용하도록 지시합니다. 그것은 똑같은 것입니다. 차이점은 입력이 감지되면 X 서버가 DPMS를 다시 활성화한다는 것입니다.
"이유"에 관해서는 개발자가 작동 방식을 결정한 방식입니다. X에서는 xset dpms
별도의 화면 보호기가 없어도 작동하므로 화면을 다시 켜는 방법이 X 서버에 통합되어 있습니다. Wayland를 사용하면 디자이너는 항상 추가 화면 보호기가 필요하다고 결정한 것 같습니다( PowerSaveMode
원하는 내용을 Wayland에 전달하는 것이 그 임무임). 이를 통해 화면 보호기가 입력을 모니터링하고 화면을 다시 켤 수 있습니다. 화면 보호기를 가장하는 능력은 busctl
어느 정도 우연입니다.
이건 버그가 아니고 단지 디자인의 차이일 뿐입니다.
evtest --grab /dev/input/eventX
제가 말했듯 이 마우스 및 키보드 입력 화면 보호기를 사용해 evtest
보세요 . ioctl
특정 입력 조합을 모니터링하려면 어쨌든 이 작업을 수행해야 합니다.