¿Cómo cambiar el brillo de la pantalla LCD desde la línea de comando (o vía script)?

136

Para solucionar error # 1005495 ​​ (cambio del brillo de la pantalla LCD a través de teclas de acceso rápido imposibles), me gustaría tener una consulta de línea de comando para aumentar y otra para reducir el brillo de mi LCD. Podría asignar una tecla de acceso directo a cada una de estas consultas.

El problema es: no sé cómo aumentar y reducir el brillo de la pantalla LCD en la línea de comandos. ¿Lo haces?

    
pregunta user69748 10.06.2012 - 19:28

12 respuestas

142

una forma más de hacerlo es con otro nuevo programa llamado xbacklight, abra su terminal y escriba esto

sudo apt-get install xbacklight

luego escribe esto xbacklight -set 50

allí 50 significa rango de brillo que podemos obtener hasta 100 de 0.

también puede aumentar y disminuir el brillo del valor presente al nivel especificado. Como mencionó, si desea aumentar al 10% del valor actual del brillo, puede dar este

xbacklight -inc 10

y para disminuir el 10% puedes dar esto

xbacklight -dec 10 
    
respondido por el Ten-Coin 11.06.2012 - 07:28
131

Abre tu terminal y escribe esto

xrandr -q | grep " connected"

le dará el resultado como LVDS1 conectado 1680x1050 + 0 + 0 (normal izquierdo invertido eje x eje y) 331mm x 207mm

Allí LVDS1 se encuentra para su pantalla.

así que ahora tienes que hacer como

xrandr --output LVDS1 --brightness 0.5

0.5 significa brillo y varía de 0.0 a 1.0. 0.0 - & gt; Completo negro. Así que tiene que elegir el valor requerido de brillo.

    
respondido por el Ten-Coin 11.06.2012 - 07:25
80

Lo siguiente me funciona:

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

Supongo que el valor máximo posible está en el archivo /sys/class/backlight/intel_backlight/max_brightness .

    
respondido por el palacsint 19.05.2014 - 11:51
12

Para computadoras portátiles,
sudo setpci -s 00:02.0 F4.B=80

Cambia 80 por [0-FF] para obtener el brillo más bajo-más alto. El valor especificado está en hexadecimal, por lo que 80 te dará un 50% de brillo máximo.

Para computadoras de escritorio [no probado por mí],
xgamma -gamma .75

    
respondido por el Gaurav Gandhi 10.06.2012 - 19:37
5

Pruebe esto en la terminal:

xrandr --output LVDS1 --brightness 0.9

Puede cambiar el último valor como desee, p. ej. 0.2

    
respondido por el ripu 23.09.2013 - 00:12
3

Aquí hay una línea corta que puede ayudarlo a relajar los ojos. Simplemente crea un crontaab con la línea o crea un script

xrandr --output VGA1 --brightness 0.5; sleep 20; xrandr --output VGA1 --brightness 1
    
respondido por el Cristianpark 07.03.2014 - 21:32
3

Haz este 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"

Ejecútelo como root, con cualquier valor entre 0 y 1.

sudo ./set-brightness.sh 0.5
  • Si su sistema no tiene un /sys/class/backlight/acpi_video0 , debe haber al menos un directorio allí, que puede ser específico del dispositivo (también tengo un radeon_bl0 , por ejemplo).
  • Si tiene otros, tenga en cuenta su pila de valores (de ahí el ciclo, empujando todos los otros valores a 1.0, luego establezca el objetivo a la cantidad deseada).
  • Mientras acpi_video0 debería trabajar siempre, no siempre tiene el rango completo de brillos físicos disponibles. Pruebe cada una y use la que tiene la gama más grande como su "TARGET"
respondido por el Fordi 09.03.2016 - 20:18
2

Como @palacsint dijo, echo 244 > /sys/class/backlight/intel_backlight/brightness path funciona para mí.

Pero los valores máximo y mínimo se vuelven a enviar en archivos /sys/class/backlight/intel_backlight/max_brightness y /sys/class/backlight/intel_backlight/bl_power , respectivamente.

Además, el brillo real que su computadora está ejecutando ahora está presente en /sys/class/backlight/intel_backlight/actual_brightness

    
respondido por el user281989 07.12.2014 - 06:59
2

Utilizando las respuestas anteriores, creé este script (guardado en mi directorio personal como brightness.sh) para modificar el brillo de la pantalla (ya que el teclado del portátil sufrió un problema de té derramado y quedó inutilizable). Siéntase libre de usarlo (si tiene los archivos designados ... de lo contrario, será necesario retocar para señalar que será necesario modificarlos).

#!/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
    
respondido por el Aaron Nichols 26.02.2017 - 01:13
1

KDE 4.12:

qdbus org.kde.Solid.PowerManagement /org/kde/Solid/PowerManagement/Actions/BrightnessControl setBrightness 55
    
respondido por el int_ua 26.03.2014 - 05:54
1

ddccontrol es otra opción para controlar la retroiluminación de los monitores externos. Aquí puedo configurar la retroiluminación de mi monitor externo al 50% de su potencia con:

ddccontrol -p -r 0x10 -w 50

Busqué soluciones posibles para este problema para mejorar la forma en que Redshift maneja cambios de brillo . Allí descubrí que hay un parche para el kernel de Linux para mejorar la compatibilidad en todos los dispositivos, de modo que las computadoras portátiles y las pantallas externas podría funcionar de manera similar, a través de sysfs .

Mientras tanto, ddccontrol es lo único que funciona para mí aquí. Como de costumbre, el wiki de Arch tiene buena documentación general sobre el tema también.

    
respondido por el anarcat 25.01.2018 - 23:14
0

interfaz de usuario similar a ncurses interactiva que utiliza xbacklight

Las ncurses de un pobre. Pulsa h y baja un 10%, pulsa l y sube un 10%. Luego, muestre la luminosidad actual.

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
)
    

Lea otras preguntas en las etiquetas