¿Cómo apago la luz de fondo pero dejo la pantalla LCD encendida?

¿Cómo apago la luz de fondo pero dejo la pantalla LCD encendida?

¿Cómo configuro el brillo cero en computadoras portátiles que tienen un brillo mínimo distinto de cero en el control de brillo?

La solución debería funcionar independientemente de XIe, también debería funcionar en las terminales virtuales.

Respuesta1

En el ámbito de las computadoras portátiles con chipsets Intel, parece haber una división entre los paneles conectados LVDS y eDP:

eDP:

echo 4 > /sys/class/backlight/intel_backlight/bl_power

…debe apagar la luz de fondo.

echo 0 > /sys/class/backlight/intel_backlight/bl_power

debería encenderlo nuevamente.

LVDS:

Descubrí que no es posible apagar la luz de fondo de mis tabletas Thinkpad X201 y X201 a través de sysfs (bl_power no hace nada; aparentemente, es específico de eDP).

Esta páginatiene una descripción muy extensa de la complicada historia del control de retroiluminación en el kernel de Linux. TL;DR:

i915 ha admitido bl_power para paneles eDP (pero no LVDS) a partir de v3.18.

SIN EMBARGO,He podido apagar la luz de fondo usando una herramienta llamada intel_backlightdesdeherramientas-intel-gpu. Esto requiere root, ya que aparentemente escribe en un registro sin formato.

intel_backlight 0

...me apagó la luz de fondo. Aumentarlo con controles de ajuste de brillo lo volvió a habilitar aquí.

También escribí un script que conecté para activar un evento ACPI generado por el teclado (en mi caso, fn+espacio o button/zoom. Si su sistema no usa ese evento ACPI, necesita usar acpi_listen para encontrar uno que su el sistema sí tiene.

Para activarlo, creé un archivo fnspace-backlightllamado /etc/acpi/events:

# Wyatt Ward
# hook for magnify acpi event (fn+space)
# toggle LCD backlight on/off
event=button/zoom
action=/etc/acpi/actions/toggle-lcd-light.sh

También hice un archivo llamado /etc/acpi/actions/toggle-lcd-light.sh, marcado como ejecutable. Esto me permite alternar la luz de fondo sin cambiar el nivel de brillo establecido previamente, almacenando el valor temporal en formato /brightness. Dado que los eventos ACPI ejecutan acciones como root, tenga cuidado.

#! /bin/bash
BRIGHTSAVEFILE="/brightness"
BRIGHTSYSFS="/sys/class/backlight/acpi_video0/brightness"

# is the light on or off?
INTEL_BACKLIGHT="/usr/bin/intel_backlight"
light_state=$("$INTEL_BACKLIGHT" | sed 's/current backlight value: //g'|sed 's/%//g')
echo "light: ""$light_state"
if [ "$light_state" -eq 0 ]; then
  cat "$BRIGHTSAVEFILE" > "$BRIGHTSYSFS"
else
  # back up current brightness level
  cat "$BRIGHTSYSFS" > "$BRIGHTSAVEFILE"
  # turn off backlight
  "$INTEL_BACKLIGHT" 0
fi

Como nota adicional divertida, puedes controlar la luz de fondo con una increíble cantidad de granularidad modificando ligeramente intel_backlight. Cambiarlo para leer argumentos como números de punto flotante en lugar de enteros, y para hacer aritmética de punto flotante, solo requiere ajustar unas pocas líneas de código y le permite realizar cambios de brillo ridículamente precisos, incluidos aquellos inferiores al mínimo que puede obtener a través de sysfs.

Respuesta2

Desde X-Windows

Desde X Windows puede utilizar la aplicación xbacklightpara obtener y configurar el porcentaje de brillo de su pantalla.

Ejemplo

nivel actual

$ xbacklight -get
100.000000

establecido en 75%

$ xbacklight -set 75
$ xbacklight -get
73.333333

volver al 100%

$ xbacklight -set 100
$ xbacklight -get
100.000000

Desde la consola

Para lograr algo similar para una terminal virtual, probablemente necesitará interactuar con la configuración ACPI a través del /syssistema de archivos.

Ejemplo

lo atenúa

$ echo "10" | sudo tee /sys/class/backlight/acpi_video0/brightness 
10

brillo total

$ echo "15" | sudo tee /sys/class/backlight/acpi_video0/brightness 
15

Tendrás que jugar con este, el rango de brillo puede ser de 0-9 o 0-15, creo que en última instancia depende de tu computadora portátil.

¿Nada de esto funciona?

Si ninguna de estas 2 opciones satisface sus necesidades, eche un vistazo al tema de ArchLinux Wiki titulado:Iluminar desde el fondo. ¡Ese artículo contiene todos los métodos que he visto empleados para lograrlo!

Referencias

información relacionada