Die Steuerung einzelner Monitore ist mit xset (und X11 tatsächlich) nicht möglich.
Wie der Titel schon sagt, ist dies aus Gründen des Aufbaus xset
und der verwendeten X11-Funktionen nicht möglich . Wenn wir uns den Quellcode ansehen, xset
ruft DPMSForceLevel(dpy,DPMSModeSuspend)
( Zeile 557 ) auf, und die Anzeigevariable dpy
stammt von der XOpenDisplay()
Funktion ( Zeile 203 ), und das ist per Definition :
Ein Server wird zusammen mit seinen Bildschirmen und Eingabegeräten als Anzeige bezeichnet.
Mit anderen Worten, werden xset
Einstellungen global auf die gesamte Anzeige angewendet, nicht auf einzelne Bildschirme. Es wäre notwendig, den xset
Quellcode zu ändern , damit dies funktioniert. DPMS-Erweiterungen selbst scheinen meist nur die gesamte Anzeige aufzurufen, nicht einzelne Bildschirme. Daher ist es nicht möglich, mit der X11-Bibliothek benutzerdefinierten Code zu schreiben.
Die manuelle Steuerung dieser Einstellung über das /sys
Subsystem scheint ebenfalls nicht zu funktionieren
$ 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
Bildschirme werden auch aus dem DPMS-Modus entfernt, wenn Tasten- oder Mausereignisse auftreten. Wenn Sie also Ihre Maus bewegen oder die Tastatur verwenden möchten, führt eine dieser Aktionen dazu, dass der Monitor den DPMS-Modus verlässt.
Alternative Problemumgehungen
Die beste Alternative (und tatsächlich physisch funktionierende Lösung) ist xrandr
- sie könnte verwendet werden, um die einzelnen "Ausgänge" zu steuern. Im Speziellen,
xrandr --output VGA-1 -off
schaltet diesen Ausgang aus. Ja, Sie haben erwähnt, dass Sie diese Lösung nicht verwenden möchten, da sie nicht schnell genug ist. Bisher ist sie jedoch die beste auf dem Markt. Es hat einige Vorteile:
- immun gegen Schlüssel- und Mausereignisse
- steuert im Gegensatz zu Outpus unabhängig
xset
Das xrandr --output VGA-1 --brightness 0.1
wird der Bildschirm in einer solchen Art und Weise einfärben , dass es scheint, aber sich selbst --brightness
eine Software - Lösung ist, so dass die Anzeige tatsächlich nicht auf Hardware - Ebene gedimmt, noch ist es auf Hardware - Ebene aus. Es macht jedoch die Aufgabe, einen Bildschirm auszublenden, und ist auch resistent gegen Schlüssel- / Mausereignisse.
Ich habe mir den Quellcode von Mate- und Budgie-Bildschirmschonern angesehen, die beide Gabeln von GNOME-Bildschirmschonern sind. In beiden Fällen scheinen sie jedoch eine Softwarelösung zu sein, da DPMS im Quellcode nicht erwähnt wird.