Tout en ayant deux ou plusieurs moniteurs travaillant ensemble, existe-t-il un moyen de mettre un seul d'entre eux en veille / suspendre en émettant une commande comme xset dpms force suspend
:? ou avoir un temps défini à cet effet comme: xset dpms 100 0 0
qui fonctionne sur ces moniteurs séparément?
J'ai deux moniteurs qui fonctionnent ensemble, eDP1 (Mon ordinateur portable) et VGA1 (Un moniteur externe).
Je veux que chacun d'eux passe en mode suspension / veille séparément si je n'interagis pas directement avec eux, supposons que je regarde un film sur VGA1, et pendant une heure et demie, eDP1 ne fait rien.
Je ne suis pas intéressé à utiliser xrandor --off --output eDP1
car ce n'est pas assez rapide pour travailler avec.
Je veux que mon moniteur soit prêt à fonctionner, avec un simple mouvement de souris pour pouvoir basculer rapidement entre eux.
- En cours d'exécution: Ubuntu 18.04
- Gestionnaire de fenêtres: OpenBox
Réponses:
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, lesxset
appelsDPMSForceLevel(dpy,DPMSModeSuspend)
( ligne 557 ), et la variable d'affichagedpy
vient de laXOpenDisplay()
fonction ( ligne 203 ), et c'est par définition :En d'autres termes,
xset
applique les paramètres globalement à l'ensemble de l'affichage, pas aux écrans individuels. Il serait nécessaire de changerxset
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 fonctionnerLes é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,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:
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.
la source
xrandr --off
pour l'instantxrandr -off
même éteint le moniteur. Il pourrait être identiquebrightness
à zéro? Ce qui est un autre problème, j'ai un programme fonctionnant 24h / 24 et 7j / 7 qui définit la luminosité et le gamma individuellement pour 3 moniteurs, ce que même Windows ne peut pas faire. Je ne sais pas si la lumière de nuit, le décalage vers le rouge ou le flux le font. Quoi qu'il en soit, ces programmes pourraient être gâchés par xrandr off. Désolé d'avoir détourné votre réponse en spéculant :)Pendant des années, j'ai installé mon ordinateur portable de telle sorte que lorsque le couvercle est fermé, l'ordinateur portable se suspend et les moniteurs externes deviennent vides.
Pour votre raison de vouloir regarder une vidéo pendant 90 minutes sur un moniteur externe et que l'écran de l'ordinateur portable se vide, j'ai changé l'option de fermeture du couvercle en "Ne rien faire":
Je n'utilise pas DPMS pour les moniteurs externes mais vous pouvez vérifier vos paramètres avec la
xset q
commande:Remarquez ces lignes:
prefer blanking: no
Notez également ces lignes:
DPMS is enabled
régler le moniteur sur votreStandby
choix.J'espère que d'autres utilisateurs ont utilisé ces options et publié une réponse détaillée pour vous.
la source
Que diriez-vous de simplement fermer l'ordinateur portable?
Pourquoi?
Ces deux moniteurs sont une zone d'affichage, donc la désactivation de l'un créera un certain nombre de problèmes tels que le redessin de l'écran, le déplacement des applications vers le moniteur principal, ...
(J'ai emprunté cette voie il y a quelques années et le seul moyen fiable que j'ai trouvé de faire ce que vous voulez faire est d'appuyer sur le bouton du moniteur externe ou de fermer l'ordinateur portable)
Assurez-vous simplement de définir ces paramètres d'alimentation avec
gsettings set
:la source
Commentaire temporaire
xrandr
. Sur un test plus long, cela a très mal fonctionné. Non pas que la mise hors tension ait échoué, mais lors de la réactivation de l'écran, la disposition de l'écran était complètement foirée. Je serais heureux de le poster pour voir si cela fonctionne dans votre cas, mais mon conseil est de ne pas l'utiliser.Dans le script, je suis retourné à la mise à zéro de la luminosité.
Alors qu'est-ce que j'ai changé dans cette version?
Le temps d'inactivité est désormais défini par l'activité du clavier et de la souris par défaut. Le réveil se fait également par l'un ou l'autre.
Tamiser automatiquement l'écran inactif
Comme l'ont dit mes collègues répondeurs, éteindre les écrans de cli séparément est au mieux un défi, et je n'ai pas trouvé d'option non plus.
Ce que j'ai trouvé est un moyen de réduire automatiquement tous les écrans, sauf celui où se trouve la souris, après x fois.
Et c'est parti
Comment installer
La configuration est simple:
Assurez-vous d'avoir les deux
python3-gi
etxprintidle
installésCopiez le script ci-dessus dans un fichier vide, enregistrez-le sous
dim_inactive
et rendez-le exécutableExécutez-le par la commande:
un exemple:
assombrit tous les écrans où la souris n'est pas au bout de deux minutes
Informations supplémentaires / explication
la source
xrandr --off
je suppose.xrandr --off
c'est ce que je préférerais dans ce cas. D'autant plus que le rétroéclairage VGA ne peut pas être contrôlé par logiciel.1
en aucun cas la luminosité . Lorsque j'interagis avec un écran externe à l'aide du clavier et lorsque la souris est dans l'écran principal, celui-ci devient noir après une période d'inactivité. Lorsque je n'ai aucune interaction avec l'écran principal mais que la souris est là, elle n'y fait rien et lorsque je déplace la souris vers un autre écran principal, le noir devient imminent.