Controlar monitores individuais não é possível com o xset (e o X11, na verdade)
Como o título sugere, não é possível por razões de como xset
é construído e devido às funções do X11 que ele usa. Se olharmos para o código-fonte, xset
chamadas DPMSForceLevel(dpy,DPMSModeSuspend)
( linha 557 ) e a variável DISPLAY dpy
vem de XOpenDisplay()
função ( linha 203 ), e que é por definição :
Um servidor, junto com suas telas e dispositivos de entrada, é chamado de exibição.
Em outras palavras, xset
aplica configurações globalmente a toda a exibição, não a telas individuais. Seria necessário alterar o xset
código fonte para que isso funcionasse. As próprias extensões DPMS parecem chamar apenas a exibição inteira, não telas individuais, portanto, não é possível nem escrever código personalizado com a biblioteca X11.
O controle manual dessa configuração via /sys
subsistema também não parece estar funcionando
$ sudo bash -c 'echo Off > /sys/class/drm/card0-VGA-1/dpms'
[sudo] password for admin:
bash: /sys/class/drm/card0-VGA-1/dpms: Permission denied
As telas também são retiradas do modo DPMS quando ocorrem eventos de tecla ou mouse; portanto, considerando que você pode mover o mouse ou usar o teclado, qualquer uma dessas ações faria o monitor sair do modo DPMS.
Soluções alternativas
A melhor alternativa (e a solução que realmente funciona fisicamente) é xrandr
- ela poderia ser usada para controlar as "saídas" individuais. Em particular,
xrandr --output VGA-1 -off
irá definir essa saída. Sim, você mencionou que não deseja usar esta solução, pois ela não é rápida o suficiente, mas até agora é a melhor disponível. Tem algumas vantagens:
- imune a eventos de chave e mouse
- controla independentemente o outpus ao contrário
xset
A xrandr --output VGA-1 --brightness 0.1
tela será colorida de maneira que apareça, mesmo que --brightness
seja uma solução de software, para que a tela não fique realmente esmaecida no nível do hardware, nem no nível do hardware. No entanto, ele faz o trabalho de apagar uma tela e também é resistente a eventos de tecla / mouse.
Eu olhei o código fonte dos protetores de tela Mate e Budgie, que são bifurcações do protetor de tela GNOME, no entanto, em ambos os casos, eles parecem ser uma solução de software, já que não há menção de DPMS no código fonte.