Habilite las luces de fondo del teclado en Lenovo compatible (por ejemplo, Carbon X1) con el comando


18

Algunas computadoras portátiles Lenovo tienen retroiluminación del teclado y se pueden encender con Fn+ Space. Hay tres estados: apagado, normal y brillante.

Cuando inicio Ubuntu, estas computadoras portátiles siempre vuelven al brillo de la pantalla solar y el teclado se apaga.

Quiero un brillo medio y las luces del teclado encendidas de forma predeterminada, porque generalmente uso esta computadora portátil en entornos oscuros.

La luz de fondo es fácil. Internet está lleno de información sobre esto.
echo 10 > /sys/class/backlight/acpi_video0/brightness

Pero, ¿cómo enciendo las luces de fondo del teclado con un comando? He estado buscando aquí pero parece que no hace nada:
/sys/class/leds/tpacpi\:\:thinklight


Actualizaciones

Lo intenté for i in {1..32}; do xset led $i; donepero nada cambia. ¿Quizás la retroiluminación del teclado para las computadoras portátiles Lenovo tiene un controlador propietario y solo se puede controlar tpacpi?

También intentado for i in $(find /sys/devices/platform/thinkpad_acpi/leds/ | grep /brightness\); do echo 255 > $i; doneen vano.


Ya sea xset led (es casi 100% probable que sea Bloq Mayús, etc., pero lo agregaré de todos modos) o setleds. Editar: Encontré esto
Wilf

No funciona Lo intenté for i in {1..32}; do xset led $i; donepero nada cambia.
Redsandro

Respuestas:


8

Parece que esto se ha actualizado, mi X1C con ubuntuMATE 16.04 LTS tiene

/sys/class/leds/tpacpi\:\:kbd_backlight/brightness

que funciona como se esperaba, es decir:

# echo 2 > /sys/class/leds/tpacpi\:\:kbd_backlight/brightness

Trae a la luz :)


Oye, sí, de hecho! Gracias por tomarse el tiempo para compartir esto con una vieja pregunta. :)
Redsandro

1
No hubieron problemas, fue el primer golpe cuando yo estaba buscando, pensó que no puede ser que dura, por lo que pensé que debería actualizar éste con mis resultados :)
wuxmedia

14

¡Esto es realmente necesario para solucionarlo!

Creo que este es un error común en los nuevos thinkpads. Si enciende el teclado manualmente fn + space, ejecute:

echo 0 > /sys/class/leds/tpacpi\:\:thinklight/brightness

el teclado se desvanecerá. Consulte el siguiente enlace si le ayuda:

http://www.spinics.net/lists/ibm-acpi-devel/msg03090.html


Hola tienes razón, no lo sabía. Dado que podemos apagarlo, 'se siente' como si fuera muy fácil arreglar esto para los desarrolladores. ¿Ya hay un informe de errores?
Redsandro

El correo electrónico sugirió esta solución alternativa: gist.github.com/hadess/6847281 ¿ Alguna idea de cómo podemos implementarlo?
rashad

4

Este es el script bash que uso:

https://gist.github.com/vzaliva/0adba7bc40e2f31a0b5f802af2a63267

Funciona en IBM ThinkPad X260 con Ubuntu 16.04.


IBM? ¡Esa computadora portátil debe tener al menos 10 años! ¡Pero también funciona en mi Carbon X1! Para ser justos, el código de hadess respondido por rashad hizo lo mismo, pero no quiero seguir 5 pasos e instalar compiladores. Estaba buscando un simple comando bash. Y esto es algo que puedo usar. Gracias por responder a mi pregunta de 3 años. Aceptado.
Redsandro

Me alegra que lo hayas encontrado útil. Por supuesto, me refería a Lenovo Thinkpad y mi X260 es completamente nuevo. Simplemente tuve el mismo problema y encontré esta respuesta, pero no me gustó el programa C, que también requiere modprobe manual, así que lo reescribí como un script. Los autores originales del programa C hicieron todo el trabajo pesado.
krokodil

3

Ok, funciona bien conmigo con esta esencia:

https://gist.github.com/hadess/6847281

  • En primer lugar, descargue la esencia anterior, le cambié el nombre a en ThinkLight.clugar detmp.c .
  • Asegúrese de tener instalado glib-2.0:

    sudo apt-get install libglib2.0-dev
    
  • Compilar de ThinkLight.cla siguiente manera:

    gcc -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include ThinkLight.c -o ThinkLight -lglib-2.0
    
  • Cargar ec_sysmódulo (esto se puede agregar al /etc/modulesinicio):

    sudo modprobe ec_sys
    
  • Finalmente ejecutar ThinkLightcon argumento de nivel (0, 1 o 2):

     sudo ./ThinkLight 0
     sudo ./ThinkLight 1
     sudo ./ThinkLight 2
    

¡Un agradecimiento especial a hadess por hacer que esto suceda!


¿Alguna idea de cómo ejecutar esto sin sudo? Intento ejecutar esto dentro de otro script, y eso se ejecuta como mi usuario.
zsquare

Intenté esto y obtuve algunos errores :( ThinkLight.c: En la función 'main': ThinkLight.c: 56: 6: advertencia: declaración implícita de la función 'lseek' [-Wimplicit-function-declaración] if (lseek (fd, 0xd, SEEK_CUR) <0) {^ ~~~~ ThinkLight.c: 60: 6: advertencia: declaración implícita de función 'write' [-Wimplicit-function-declaración] if (write (fd, & niveles [nivel], 1 ) <0) {^ ~~~~
Heriberto Juarez

@HeribertoJuarez esta es una respuesta anterior, puede manipular esto directamente con los nuevos núcleos de Linux. Verifique la respuesta de
wuxmedia

1

Mi T450s no volvería a habilitar la retroiluminación del teclado al reanudar con núcleos anteriores a 4.6. FWIW, con 4.6 ahora, la luz de fondo del teclado está configurada con el brillo que tenía antes de suspender.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.