La luz de fondo del teclado se enciende después de que se enciende la pantalla / pantalla de bloqueo

9

Acabo de actualizar Ubuntu (15.04 a 15.10) y ahora me encuentro con un comportamiento extraño: cada vez que bloqueo la pantalla (usando Ctrl + Alt + L, Win + L o simplemente haciendo clic en "Bloquear" en la barra de tareas menú), la luz de fondo del teclado se enciende, aunque siempre la apago.

No tengo idea de dónde comenzar a investigar esto. No sucedió en Ubuntu 15.04, y no parece que otras personas se hayan encontrado con esto.

Mi computadora portátil es una Dell Inspiron, si me ayuda.

Actualización: más tarde entendí que este problema ocurre cada vez que se enciende la pantalla, lo que sucede justo después de bloquear la pantalla debido a un error . Entonces, estos son eventos relacionados, pero la causa real es que la pantalla se enciende.

dsetton
fuente
¿Quién hace el teclado?
Alex Lowe
Hm, no lo se. ¿Sabes cómo puedo comprobar eso?
dsetton
Tal vez en la parte posterior podría haber un número de modelo o algo así.
Alex Lowe
No hay nada específico del teclado en la parte posterior. Instalé el hardinfopaquete y el vendedor "1" muestra el teclado como "Teclado AT Translated Set 2". ¿Eso ayuda a todos ...?
dsetton
¿Hay algún controlador o software para ese teclado que conozca?
Alex Lowe

Respuestas:

13

Entonces, ¡la Web es realmente una cosa increíble! Después de mucho investigar y sumergirme en muchos enlaces del foro, logré comprender mejor el problema, averiguar qué programa era responsable y, finalmente, desactivar este comportamiento para siempre. Pensé en escribir mis pasos, en caso de que otras personas se encuentren con el mismo problema.

Paso 1. Monitoree el sistema para saber si / cuando se enciende la luz de fondo del teclado

Lo primero es saber que el estado actual de la luz de fondo del teclado se puede verificar leyendo el archivo /sys/devices/platform/dell-laptop/leds/dell\:\:kbd_backlight/brightness. Por lo tanto, nos gustaría recibir notificaciones de cualquier cambio en este archivo e, idealmente, qué proceso invocó el cambio.

Esto se puede hacer usando fanotify . Utilicé el programa de ejemplo que se proporciona en la página de manual y agregué algunas modificaciones * para poder monitorear los cambios en el archivo de brillo. Resulta que el proceso responsable de la modificación fue /usr/lib/upower/upowerd, que es un proceso demonio para UPower .

Paso 2. Descubre por qué UPower está encendiendo la luz de fondo (falla)

Esta fue la parte más difusa de la investigación, y todavía no puedo decir por qué sucede esto. Encontré una persona con un problema muy similar pero sin solución, así que comencé a ver si podía desactivar completamente UPower (y cuáles serían las consecuencias) cuando encontré este enlace . Resulta que UPower tiene un archivo de configuración! Eso es mejor.

Paso 3. Deje de encender la luz de fondo del teclado

Finalmente, edité el archivo de configuración mencionado anteriormente, ubicado en /etc/dbus-1/system.d/org.freedesktop.UPower.conf, y cambié <allow>a <deny>en la siguiente línea:

<allow send_destination="org.freedesktop.UPower"
       send_interface="org.freedesktop.UPower.KbdBacklight"/>

Luego reinicié dbus con sudo service dbus restart(uso systemctl restart dbus.serviceen Ubuntu 16.04 y posterior) y procedí a bloquear mi pantalla para probar el resultado y ... ¡Funcionó! Bueno, más o menos. La pantalla de inicio de sesión no se mostraba, por lo que no pude volver a iniciar sesión y tuve que forzar un reinicio. ¡Pero entonces todo funcionó muy bien!

¡Y eso es! Todavía tengo curiosidad sobre cuál sería la forma correcta de hacer esto. Si lo sabes, deja un comentario, por favor!

* Por ejemplo, el programa de ejemplo solo se configuró para monitorear FAN_OPEN_PERMy FAN_CLOSE_WRITEeventos, pero en este caso fue un FAN_MODIFYevento.

dsetton
fuente
Acabo de editar el archivo org.freedesktop.UPower.conf como lo especificó, y funcionó. Creo que el cambio se aplicó de inmediato.
Vic
1
Gracias hombre :) funcionó. te mereces una cerveza! ¿
Cuál
@TheVOYOU ¡Me alegra que haya funcionado para ti! :)
dsetton
Esta solución también funciona para 16.04, excepto por alguna razón que ya no puedo reiniciar el servicio dbus. Tuve que reiniciar mi computadora portátil.
RoraΖ