mi laptop Dell está sujeta a este error con el kernel 3.14. Como solución, escribí un script simple
/ usr / bin / brillo-arreglo:
#!/bin/bash
echo 0 > /sys/class/backlight/intel_backlight/brightnes
(y hecho ejecutable: chmod +x /usr/bin/brightness-fix
)
y un servicio systemd que lo llama que se ejecuta al inicio:
/etc/systemd/system/brightness-fix.service
[Unit]
Description=Fixes intel backlight control with Kernel 3.14
[Service]
Type=forking
ExecStart=/usr/bin/brightness-fix
TimeoutSec=0
StandardOutput=syslog
#RemainAfterExit=yes
#SysVStartPriority=99
[Install]
WantedBy=multi-user.target
y habilitado: systemctl enable /etc/systemd/system/brightness-fix.service
Eso funciona de maravilla y puedo controlar el brillo de mi pantalla como lo desee. El problema se produce cuando la computadora portátil se reanuda después de ir al modo de suspensión (por ejemplo, al cerrar el borde de la computadora portátil): el control de brillo ya no funciona a menos que ejecute manualmente mi primer script anterior:/usr/bin/brightness-fix
¿Cómo puedo crear otro servicio systemd como el anterior para que se ejecute a la hora de reanudar?
EDITAR:
Según los comentarios a continuación, he modificado mi brightness-fix.service
como este:
[Unit]
Description=Fixes intel backlight control with Kernel 3.14
[Service]
Type=oneshot
ExecStart=/usr/local/bin/brightness-fix
TimeoutSec=0
StandardOutput=syslog
[Install]
WantedBy=multi-user.target sleep.target
También he agregado echo "$1 $2" > /home/luca/br.log
a mi script para verificar si realmente se ejecuta. El script se ejecuta realmente también en resume ( post suspend
) pero no tiene ningún efecto (la retroiluminación es del 100% y no se puede cambiar). También intenté iniciar sesión $DISPLAY
y $USER
, en el momento de reanudar, están vacíos. Entonces, supongo que el script se ejecuta demasiado temprano cuando se despierta. Alguna pista?
/usr/local/bin
no es /usr/bin
. ese directorio está reservado solo para el administrador de paquetes.
sleep.target
unidad ejecutará la unidad cuando la computadora duerma, en lugar de cuando se reanude. Vea mi respuesta a continuación para obtener un archivo de unidad que funcionó para mí con un problema similar.
WantedBy=sleep.target
...