Problème avec la réponse existante
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 car elle provoque la migration de toutes les fenêtres ouvertes sur l'écran d'arrêt vers les écrans actifs restants.
Luminosité basée sur le logiciel
Sur un ordinateur portable, vous pouvez contrôler la luminosité via la carte graphique contrôlant le panneau LCD. Avec les téléviseurs et les moniteurs externes, vous avez besoin d'une solution logicielle pour réduire la luminosité à 0. La ramener à zéro est la plus proche. J'ai eu l'illusion de l'éteindre tout en gardant les fenêtres actives sur cet écran externe.
Version courte
À 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 moniteur attribués par xrandr
. Maintenant, si vous souhaitez DP-1-1
désactiver la luminosité, utilisez:
xrandr --output DP-1-1 --brightness 0
Sony TV bash script
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 désactiver l'affichage, vous utiliseriez sony 0
Script d'appel sans paramètres
Lorsque vous appelez le script sans paramètres, il affiche le xrandr
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 avoir setaf
changé le 1
en:
2
pour le vert
3
pour l'orange
4
pour le bleu, etc.
Modification et installation du script
Modifiez les deux occurrences de HDMI-0
pour correspondre à votre nom d'écran. 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 tel que:
/usr/local/bin/sony
Marquez le script comme exécutable en utilisant:
sudo chmod a+x /usr/local/bin/sony
Choisir quel répertoire: /usr/local/bin
vs~/bin
Lorsque vous créez des scripts, /usr/local/bin
vous devez utiliser des sudo
pouvoirs. Une meilleure alternative consiste à utiliser le répertoire ~/bin
qui est un raccourci pour /home/YourUserID/bin
:
- créer le répertoire
~/bin
- fermez votre terminal et rouvrez-le.
- le répertoire nouvellement créé est maintenant dans votre chemin.
- tous les scripts que vous créez
~/bin
peuvent être créés avec vos autorisations habituelles.
- pour activer l'exécution de vos scripts, il vous suffit d'utiliser
chmod +x
plutôt que chmod a+x
(ce qui a
signifie tous les utilisateurs)