Le contrôle de moniteurs individuels n'est pas possible avec xset (et X11 en fait)
Comme le titre l' indique, il est impossible pour des raisons de la façon dont xset
est construit et en raison des fonctions qu'il utilise X11. Si nous regardons le code source, les xset
appels DPMSForceLevel(dpy,DPMSModeSuspend)
( ligne 557 ), et la variable d'affichage dpy
vient de la XOpenDisplay()
fonction ( ligne 203 ), et c'est par définition :
Un serveur, avec ses écrans et ses périphériques d'entrée, est appelé affichage.
En d'autres termes, xset
applique les paramètres globalement à l'ensemble de l'affichage, pas aux écrans individuels. Il serait nécessaire de changer xset
le code source pour que cela fonctionne. Les extensions DPMS elles-mêmes ne semblent généralement appeler que l'affichage entier, pas les écrans individuels, il n'est donc pas possible même d'écrire du code personnalisé avec la bibliothèque X11.
Le contrôle manuel de ce paramètre via le /sys
sous-système ne semble pas non plus fonctionner
$ 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
Les écrans sont également retirés du mode DPMS lorsque des événements de touches ou de souris se produisent, de sorte que si vous souhaitez déplacer votre souris ou utiliser le clavier, l'une de ces actions entraînerait la sortie du moniteur du mode DPMS.
Solutions de rechange
La meilleure alternative (et réellement la solution qui fonctionne physiquement) est xrandr
- elle pourrait être utilisée pour contrôler les "sorties" individuelles. En particulier,
xrandr --output VGA-1 -off
désactivera cette sortie. Oui, vous avez mentionné que vous ne vouliez pas utiliser cette solution car elle n'est pas assez rapide, mais jusqu'à présent, c'est la meilleure disponible. Il présente deux avantages:
- insensible aux événements des touches et des souris
- contrôle indépendamment l'outpus contrairement
xset
Le xrandr --output VGA-1 --brightness 0.1
colorisera l'écran de telle sorte qu'il apparaît éteint, même s'il --brightness
s'agit d'une solution logicielle, de sorte que l'affichage n'est pas réellement atténué au niveau matériel, ni éteint au niveau matériel. Cependant, il fait le travail de masquer un écran et résiste également aux événements de touches / souris.
J'ai regardé le code source des économiseurs d'écran Mate et Budgie, qui sont tous deux des fourches de l'économiseur d'écran GNOME, mais dans les deux cas, ils semblent être une solution logicielle, car il n'y a aucune mention de DPMS dans le code source.