Керування окремими моніторами неможливо за допомогою xset (а фактично X11)
Як видно з назви, це не представляється можливим з причин , як xset
будуються і з - за функції X11 він використовує. Якщо ми подивимось на вихідний код, xset
дзвінки DPMSForceLevel(dpy,DPMSModeSuspend)
( рядок 557 ) та змінна відображення dpy
походить від XOpenDisplay()
функції ( рядок 203 ), і це за визначенням :
Сервер разом із його екранами та пристроями введення називається дисплеєм.
Іншими словами, xset
застосовує налаштування глобально до всього екрана, а не до окремих екранів. Це потрібно було б змінитиxset
вихідний код для того, щоб він працював. Самі розширення DPMS, схоже, викликають лише весь дисплей, а не окремі екрани, тому неможливо навіть записати спеціальний код з бібліотеки X11.
Ручне управління цим параметром через /sys
підсистему також не працює
$ 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
Екрани також виймаються з режиму DPMS, коли відбуваються ключові або мишачі події, тому, враховуючи, що ви можете перенести мишу або використовувати клавіатуру, будь-яка з цих дій призведе до того, що монітор вийде з режиму DPMS.
Альтернативні шляхи вирішення
Найкраща альтернатива (і фактично фізично працююче рішення) xrandr
- це може бути використане для контролю окремих «результатів». Зокрема,
xrandr --output VGA-1 -off
буде вимкнено цей вихід. Так, ви згадали, що не хочете використовувати це рішення, оскільки воно недостатньо швидко, однак поки що це найкраще. Він має кілька переваг:
- несприйнятливий до ключових і мишачих подій
- незалежно контролює відхід на відміну від
xset
xrandr --output VGA-1 --brightness 0.1
Буде розфарбувати екран таким чином , що він з'являється геть, навіть якщо --brightness
це програмне рішення, так що дисплей не власне недоступний на апаратному рівні, і він вимкнений на апаратному рівні. Однак він виконує роботу з вимивання екрану, а також стійкий до подій клавіш / миші.
Я переглянув вихідний код заставки Mate і Budgie, які є обома вилками заставки GNOME, однак в будь-якому випадку вони здаються програмним рішенням, оскільки DPMS у вихідному коді не згадуються.