J'utilise xset pour éteindre mes écrans comme ceci :
xset dpms force off
Existe-t-il un moyen d'éteindre un seul écran lorsque plusieurs sont associés au même affichage X ?
J'utilise xset pour éteindre mes écrans comme ceci :
xset dpms force off
Existe-t-il un moyen d'éteindre un seul écran lorsque plusieurs sont associés au même affichage X ?
Si vous utilisez le bureau Ubuntu standard, vous devriez pouvoir utiliser Système > Préférences > Moniteurs. Cliquez sur celui que vous souhaitez désactiver, puis utilisez les boutons radio "on/off" pour désactiver ce moniteur spécifique.
Si vous voulez faire cela à partir de la ligne de commande, vous devriez pouvoir utiliser xrandr --output <name> --off
pour désactiver la sortie qui devrait déclencher la mise hors tension du moniteur.
Le problème est que lorsque vous utilisez Nvidia TwinView, les deux écrans apparaissent comme un seul à la fois pour xrandr et xset, et vous ne pouvez donc pas éteindre les moniteurs individuellement. De plus, les préférences de moniteur de Gnome sont désactivées et vous devez utiliser le contrôle du pilote Nvidia à la place. Lorsque vous désactivez un des moniteurs avec nvidia-settings, il désactive complètement le moniteur, bloquant tout votre Windows sur l'autre écran. Je veux juste pouvoir éteindre un moniteur pour regarder un film sur l'autre.
@Neil Il est probablement utile d'ajouter vos informations matérielles à la question et de la taguer avec nvidia également.
@JorgeCastro ce n'est pas lié au matériel et à TwinView : il semble qu'il n'y ait aucun moyen d'éteindre un écran individuellement lorsqu'il se trouve sur le même $DISPLAY, sauf en le supprimant/le désactivant dans la configuration RandR. Nous voulons éteindre l'écran de l'ordinateur portable, par exemple, tout en conservant l'accès à Windows.
Bien qu'il y ait eu une réponse il y a sept ans avec trois votes positifs, elle n'a pas été acceptée parce qu'elle fait migrer toutes les fenêtres ouvertes sur l'écran éteint vers le ou les écrans actifs restants.
Sur un ordinateur portable, vous pouvez contrôler la luminosité grâce à la carte graphique qui contrôle l'écran LCD. Avec les téléviseurs et les moniteurs externes, vous avez besoin d'une solution logicielle pour réduire la luminosité à zéro. La réduction de la luminosité à zéro est ce qui se rapproche le plus de l'illusion de l'éteindre tout en gardant Windows actif sur cet écran externe.
À partir de la ligne de commande (sans scripts), utilisez :
$ xrandr | grep " connected"
HDMI-0 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 1107mm x 623mm
eDP-1-1 connected primary 1920x1080+3840+2160 (normal left inverted right x axis y axis) 382mm x 215mm
DP-1-1 connected 3840x2160+1920+0 (normal left inverted right x axis y axis) 1600mm x 900mm
Cela vous montre la liste des noms de moniteurs attribués par xrandr
. Maintenant, si vous voulez définir DP-1-1
la luminosité hors utilisation :
xrandr --output DP-1-1 --brightness 0
Voici l'un des trois scripts que j'ai écrits :
#!/bin/bash
# NAME: sony
# PATH: /mnt/e/bin
# DESC: Set brightness of Sony TV
# DATE: Dec 9, 2017.
if [[ $# -ne 1 ]]; then
xrandr --verbose | grep -A5 "^HDMI-0" > /tmp/sony
head -n1 /tmp/sony
echo "$(tput setaf 1)" ; tail -n1 /tmp/sony ; echo "$(tput sgr0)"
rm /tmp/sony
echo 'One argument required for brightness level, e.g. "sony .63"'
echo 'will set brightness level of Sony TV to level .63 using xrandr'
exit 1
fi
xrandr --output HDMI-0 --brightness "$1"
Pour éteindre l'affichage, vous devez utiliser sony 0
Lorsque vous appelez le script sans paramètres, il affiche l'écran xrandr
le nom de l'écran ainsi que la luminosité actuelle en rouge. Vous pouvez changer la couleur rouge en une autre en modifiant cette ligne :
echo "$(tput setaf 1)" ; tail -n1 /tmp/sony ; echo "$(tput sgr0)"
Après setaf
changer le 1
à :
2
pour le vert3
pour l'orange4
pour le bleu, etc.Changez les deux occurrences de HDMI-0
pour correspondre à votre pseudonyme. Vous pouvez obtenir une liste de tous vos écrans en tapant xrandr
dans le terminal.
Placez le script dans un répertoire de votre chemin d'accès tel que :
/usr/local/bin/sony
Marquer le script comme exécutable en utilisant :
sudo chmod a+x /usr/local/bin/sony
/usr/local/bin
vs ~/bin
Lorsque vous créez des scripts en /usr/local/bin
vous devez utiliser sudo
pouvoirs. Une meilleure alternative est d'utiliser le répertoire ~/bin
qui est un raccourci pour /home/YourUserID/bin
:
~/bin
~/bin
peuvent être créés avec vos autorisations habituelles.chmod +x
よりも chmod a+x
(le a
c'est-à-dire tous les utilisateurs)
Je vous remercie pour votre réponse. Je ne connaissais pas le xrandr [...] --brightness
option. Notez que vous avez parlé des écrans Sony en particulier, mais --brightness
devrait également fonctionner pour tout autre écran. J'ai testé --brightness
sur mon ordinateur portable, et ça a marché. Cependant, --brightness 0
n'a pas éteint le rétro-éclairage -J'ai également testé --brightness
sur mon ordinateur de bureau : malheureusement, les écrans sont restés noirs. seulement pendant 1 ou 2 secondes . Après ces 1 ou 2 secondes, la luminosité se réinitialise automatiquement. Je suppose que le fait que cela fonctionne dépend fortement de la combinaison gpu+pilote+écran.
@myrdd J'ai en fait trois scripts. sony , toshiba y extraterrestre pour deux écrans externes et l'écran intégré de l'ordinateur portable. Oui, le rétroéclairage ne s'éteint pas et vous n'obtenez pas un "noir pur", mais c'est une solution proche. La réinitialisation automatique de 1 à 2 secondes n'affecte aucun de mes écrans mais j'utilisais les pilotes nVidia pour le port HDMI nVidia câblé et le pilote nVidia prenant le contrôle de l'Intel HD530 iGPU pour deux écrans : Thunderbolt3 et intégré.
Aucun script n'est nécessaire, il suffit de lancer xrandr pour trouver l'id de sortie et ensuite xrandr --output HDMI-1 --brightness 0
s'il vous plaît, simplifiez la réponse
SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.
0 votes
@myrdd : Pourriez-vous expliquer ce que vous souhaiteriez voir améliorer spécifiquement ?
0 votes
J'aimerais connaître les détails : (a) La fonction souhaitée est-elle techniquement possible, c'est-à-dire qu'il est possible de "désactiver" des écrans individuels (je ne le fais pas) ? no moyenne
xrandr [...] --off
)- (b) Existe-t-il des dépendances ? En d'autres termes, le chipset de la carte graphique et/ou le pilote doivent-ils posséder une fonctionnalité spécifique ? (c) Étant donné que la fonctionnalité souhaitée n'est pas encore disponible (en tant que commande CLI), quelles seraient les prochaines étapes ?