Uno de los mayores problemas al utilizar alguna distribución de linux en conjunto con el manejador de ventanas i3 se trata de algunos drivers, los cuales dependiendo de la distribución, pueden o no venir incluidos, o simplemente no son los adecuados para el protocolo X11.
Lo anterior puede o no ser un problema dependiendo de las necesidades y características del equipo, pero en laptops, las teclas de “Función” tienen una gran utilidad al ser prácticas y cómodas, permitiendo entre otras cosas el control del volumen, el brillo de la pantalla y extensión de monitores.
De forma predeterminada y dependiendo de la configuración utilizada en i3wm, se encontrarán que muchas de esas funciones, tales como el volúmen o touchpad, pueden funcionar a la perfección, sin embargo, debido a la gran variedad de pantallas, controladores gráficos y procesadores –al menos en mi experiencia– el control del brillo suele ser defectuoso, independientemente de la distribución que se elija, ya que, aunque se encuentren correctamente configuradas las teclas en el archivo de i3, dichos comandos pueden no funcionar.
Por todo lo anterior, a continuación se deja una serie de comandos y configuraciones las cuales pueden solucionar tal problema en distribuciones derivadas de Debian.
Antes de proceder, es necesario establecer los siguientes supuestos:
Tienes instalado el programa para el control de brillo, si no, lo puedes instalar con:
sudo apt install brightnessctl
La configuración que tienes en i3 para el control del brillo es la siguiente (ignorando por supuesto que todos podemos preferir distintos valores base para el ajuste del brillo):
bindsym XF86MonBrightnessDown exec brightnessctl set 5%-
bindsym XF86MonBrightnessUp exec brightnessctl set +5%
El problema y solución
El problema aún teniendo correctamente instalado el programa de control del brillo es que no se puede ejecutar brightnessctl
sin privilegios de superusuario, esto lo puedes comprobar cambiando el brillo de la pantalla con los siguientes comandos, brightnessctl 75%
, el cual no podrás ejecutar sin sudo brightnessctl 75%
.
Por tanto para solucionar el problema, es necesario ejecutar el comando con privilegio de superusuario, lo cual se realiza agregando una nueva regla al archivo sudoers con el usuario que lo ejecuta y la ubicación del mismo.
- Abrir sudoers de forma segura:
sudo visudo
- Agregar la siguiente linea al final del archivo, modificando tu usuario, cambiando el nombre del usuario por el tuyo en particular:
usuariox ALL=(ALL) NOPASSWD: /usr/bin/brightnessctl
- Agregando tu usuario al grupo de video
sudo usermod -aG video usuariox