Il controllo dei singoli monitor non è possibile con xset (e X11 in realtà)
Come suggerisce il titolo, non è possibile per motivi di come xset è costruito e a causa delle funzioni X11 che utilizza. Se osserviamo il codice sorgente, le xsetchiamate DPMSForceLevel(dpy,DPMSModeSuspend)( linea 557 ) e la variabile di visualizzazione dpyproviene dalla XOpenDisplay()funzione ( linea 203 ), ed è per definizione :
Un server, insieme ai suoi schermi e dispositivi di input, è chiamato display.
In altre parole, xsetapplica le impostazioni a livello globale all'intero display, non alle singole schermate. Sarebbe necessario cambiare xsetil codice sorgente affinché funzioni. Le stesse estensioni DPMS sembrano chiamare solo l'intero display, non singole schermate, quindi non è nemmeno possibile scrivere codice personalizzato con la libreria X11.
Anche il controllo manuale di tale impostazione tramite /syssottosistema non sembra funzionare
$ 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
Le schermate vengono inoltre eliminate dalla modalità DPMS quando si verificano eventi del tasto o del mouse, pertanto, considerando che è possibile spostare il mouse o utilizzare la tastiera, una di queste azioni farebbe uscire il monitor dalla modalità DPMS.
Soluzioni alternative
La migliore alternativa (e la soluzione effettivamente funzionante) è xrandr- potrebbe essere utilizzata per controllare i singoli "output". In particolare,
xrandr --output VGA-1 -off
imposterà quell'uscita. Sì, hai detto che non vuoi utilizzare questa soluzione poiché non è abbastanza veloce, tuttavia finora è la migliore disponibile. Ha un paio di vantaggi:
- immune agli eventi chiave e del mouse
- controlla indipendentemente l'outpus diversamente
xset
Il xrandr --output VGA-1 --brightness 0.1sarà Colorize schermo in modo tale che risulta spento, anche se --brightnessè una soluzione software, quindi il display non è effettivamente inattivo a livello hardware, né è spento a livello hardware. Tuttavia, svolge il compito di oscurare uno schermo ed è anche resistente agli eventi chiave / mouse.
Ho cercato il codice sorgente degli screensaver Mate e Budgie, che sono entrambi fork di screensaver GNOME, tuttavia in entrambi i casi sembrano essere una soluzione software, dal momento che non c'è menzione di DPMS nel codice sorgente.