Comment changer la luminosité de l'écran LCD en ligne de commande (ou via un script)?

135

Pour contourner bogue n ° 1005495 ​​ (modification de la luminosité de l'écran LCD via Hotkeys impossible), je voudrais avoir une requête en ligne de commande pour augmenter et une pour réduire la luminosité de mon écran LCD. Je pourrais ensuite mapper un raccourci clavier à chacune de ces requêtes.

Le problème est le suivant: je ne sais pas comment augmenter et réduire la luminosité de l'écran LCD sur la ligne de commande. Est-ce que vous?

    
posée user69748 10.06.2012 - 19:28
la source

12 réponses

141
Une autre façon de procéder est d'utiliser un autre nouveau programme nommé xbacklight, ouvrez votre terminal et tapez ceci

sudo apt-get install xbacklight

alors tapez this xbacklight -set 50

50 correspond à la plage de luminosité que nous pouvons obtenir jusqu'à 100 à partir de 0.

vous pouvez également augmenter et diminuer la luminosité de la valeur actuelle au niveau spécifié.Si vous avez mentionné si vous souhaitez augmenter la valeur de luminosité actuelle de 10%, vous pouvez donner cette valeur

xbacklight -inc 10

et pour diminuer 10%, vous pouvez donner ceci

xbacklight -dec 10 
    
réponse donnée Ten-Coin 11.06.2012 - 07:28
la source
130

Ouvrez votre terminal et tapez ceci

xrandr -q | grep " connected"

il vous donnera la sortie comme LVDS1 connecté 1680x1050 + 0 + 0 (normal gauche inversé droit x axe y axe) 331mm x 207mm

Il y a LVDS1 pour votre affichage.

alors maintenant vous devez faire comme

xrandr --output LVDS1 --brightness 0.5

0.5 représente la luminosité et varie de 0.0 à 1.0. 0.0 - & gt; Full black .si vous devez choisir la valeur de luminosité requise.

    
réponse donnée Ten-Coin 11.06.2012 - 07:25
la source
79

Ce qui suit fonctionne pour moi:

echo 400 > /sys/class/backlight/intel_backlight/brightness

Je suppose que la valeur maximale possible se trouve dans le fichier /sys/class/backlight/intel_backlight/max_brightness .

    
réponse donnée palacsint 19.05.2014 - 11:51
la source
11

Pour les ordinateurs portables,
sudo setpci -s 00:02.0 F4.B=80

Modifiez 80 par [0-FF] pour obtenir la luminosité la plus faible. La valeur spécifiée est en hexadécimal, donc 80 vous donnera un 50% de luminosité maximale.

Pour les ordinateurs de bureau [non testés par moi],
xgamma -gamma .75

    
réponse donnée Gaurav Gandhi 10.06.2012 - 19:37
la source
5

Essayez ceci dans le terminal:

xrandr --output LVDS1 --brightness 0.9

Vous pouvez modifier la dernière valeur à votre guise, par exemple. 0.2

    
réponse donnée ripu 23.09.2013 - 00:12
la source
3

Voici une ligne courte qui peut vous aider à détendre vos yeux. Créez simplement un crontaab avec la ligne ou créez un script

xrandr --output VGA1 --brightness 0.5; sleep 20; xrandr --output VGA1 --brightness 1
    
réponse donnée Cristianpark 07.03.2014 - 21:32
la source
3

Faites ce script:

set-brightness.sh

#!/bin/bash
TARGET="acpi_video0"
cd /sys/class/backlight
MAX="$(cat "${TARGET}/max_brightness")"
# The '/1' at the end forced bc to cast the result 
# to an integer, even if  is a float (which it 
# should be)
LOGIC="$(echo "( * ${MAX})/1" | bc)"
for i in */; do
    if [[ "${TARGET}/" != "$i" && -e "${i}brightness" ]]; then
        cat "${i}max_brightness" > "${i}brightness"
    fi
done
echo "$LOGIC" > "${TARGET}/brightness"

Exécutez-le en tant que root, avec une valeur comprise entre 0 et 1.

sudo ./set-brightness.sh 0.5
  • Si votre système n’a pas /sys/class/backlight/acpi_video0 , il doit y avoir au moins un répertoire, qui peut être spécifique à l’appareil (j’ai également un radeon_bl0 , par exemple).
  • Si vous en avez d’autres, gardez à l’esprit leur pile de valeurs (d’où la boucle, en poussant toutes les autres valeurs à 1.0, puis en définissant la valeur cible sur la valeur souhaitée).
  • Alors que acpi_video0 devrait toujours fonctionner, il n’a pas toujours toute la gamme de luminosité physique disponible. Essayez chacune d’elles et utilisez celle dont la «gamme» est la plus large.
réponse donnée Fordi 09.03.2016 - 20:18
la source
2

Comme l'a dit @palacsint, echo 244 > /sys/class/backlight/intel_backlight/brightness path fonctionne pour moi.

Mais les valeurs max et min sont renvoyées respectivement dans les fichiers /sys/class/backlight/intel_backlight/max_brightness et /sys/class/backlight/intel_backlight/bl_power .

En outre, la luminosité réelle de votre ordinateur est maintenant présente dans /sys/class/backlight/intel_backlight/actual_brightness

    
réponse donnée user281989 07.12.2014 - 06:59
la source
2

En utilisant les réponses ci-dessus, j'ai créé ce script (enregistré dans mon répertoire personnel sous le nom luminosité.sh) pour modifier la luminosité de l'écran (le clavier de l'ordinateur portable ayant été renversé et étant devenu inutilisable). N'hésitez pas à l'utiliser (si vous avez les fichiers désignés, il sera nécessaire de les bricoler pour indiquer votre variation).

#!/bin/bash
function main_menu
{
    sudo clear
    cursetting=$(cat /sys/class/backlight/intel_backlight/brightness)
    maxsetting=$(cat /sys/class/backlight/intel_backlight/max_brightness)
    powersave=$((maxsetting/5))
    conservative=$((powersave*2))
    medium=$((powersave*3))
    performance=$((powersave*4))
    echo ""
    echo "----------------------- Brightness -----------------------"
    echo " 1. Set Display to Minimum (Powersave) brightness setting."
    echo " 2. Set Display to Low (Conservative) brightness setting."
    echo " 3. Set Display to Medium brightness setting."
    echo " 4. Set Display to High (Performance) brightness setting."
    echo " 5. Set Display to Maximum brightness setting."
    echo " 6. Exit."
    echo "----------------------------------------------------------"
    if [ $cursetting -eq $powersave ]; then
     cursetting='Minimum'
    else
     if [ $cursetting -eq $conservative ]; then
      cursetting='Conservative'
     else
      if [ $cursetting -eq $medium ]; then
       cursetting='Medium'
      else
       if [ $cursetting -eq $performance ]; then
        cursetting='Performance'
       else
        if [ $cursetting -eq $maxsetting ]; then
         cursetting='Maximum'
        fi
       fi
      fi
     fi
    fi
    echo "        Current Display Setting - "$cursetting;
    choice=7
    echo ""
    echo -e "Please enter your choice: \c"
}

function press_enter
{
    echo ""
    echo -n "Press Enter to continue."
    read
    main_menu
}

main_menu
while [ $choice -eq 7 ]; do
read choice

if [ $choice -eq 1 ]; then
 echo $powersave | sudo tee /sys/class/backlight/intel_backlight/brightness
 main_menu
else
 if [ $choice -eq 2 ]; then
  echo $conservative | sudo tee /sys/class/backlight/intel_backlight/brightness
  main_menu
 else
  if [ $choice -eq 3 ]; then
   echo $medium | sudo tee /sys/class/backlight/intel_backlight/brightness
   main_menu
  else
   if [ $choice -eq 4 ]; then
    echo $performance | sudo tee /sys/class/backlight/intel_backlight/brightness
    main_menu
   else
    if [ $choice -eq 5 ]; then
     echo $maxsetting | sudo tee /sys/class/backlight/intel_backlight/brightness
     main_menu
    else
     if [ $choice -eq 6 ]; then
      exit;
     else
      echo -e "Please enter the NUMBER of your choice: \c"
      choice = 7
     fi
    fi
   fi
  fi
 fi
fi
done
    
réponse donnée Aaron Nichols 26.02.2017 - 01:13
la source
1

KDE 4.12:

qdbus org.kde.Solid.PowerManagement /org/kde/Solid/PowerManagement/Actions/BrightnessControl setBrightness 55
    
réponse donnée int_ua 26.03.2014 - 05:54
la source
1

ddccontrol est une autre option pour contrôler le rétroéclairage des moniteurs externes. Ici, je peux régler le rétroéclairage de mon moniteur externe à 50% de sa puissance avec:

ddccontrol -p -r 0x10 -w 50

J'ai cherché des solutions possibles à ce problème pour améliorer la façon dont Redshift gère changements de luminosité Grâce à cet outil, il existe un jeu de patch pour le noyau Linux pour améliorer la compatibilité entre les périphériques, de sorte que les ordinateurs portables et les écrans externes pourrait fonctionner de manière similaire, via sysfs .

En attendant, ddccontrol est la seule chose qui fonctionne pour moi ici. Comme d'habitude, le wiki Arch a une bonne documentation générale sur le sujet.

    
réponse donnée anarcat 25.01.2018 - 23:14
la source
0

Interface utilisateur interactive de type ncurses utilisant xbacklight

Un homme pauvre. Hit h et il diminue de 10%, atteint l et augmente de 10%. Ensuite, montrez la luminosité actuelle.

xback() (
  done=false;
  echo "less: h, more: l, quit: q"
  while ! $done; do
    read -rsn1 key
    if [ "$key" = h ]; then
      xbacklight -dec 10
    elif [ "$key" = l ]; then
      xbacklight -inc 10
    elif [ "$key" = q ]; then
      done=true
    fi
    printf "\r$(xbacklight -get) "
  done
)
    
la source

Lire d'autres questions sur les étiquettes