Bueno este script lo hice para mi pero por que no compartirlo puede que a alguien le sirva. mas que nada lo cree por que como uso awesome wm no tengo un manager de brillo y ademas al hacer xbacklight -inc o -dec con la tecla fin
muchas veces se me apagaba la pantalla y cosas por el estilo y tambien para tener las notificaciones con notyfy-osd.
Primero que nada abecés xbacklight no funciona en todos los equipos (como me paso a mi) ,bueno esto tiene solución:
Si usas Grub1:
- edita el archivo:
/boot/grub/menu.lst
- donde dice:
kernel /boot/vmlinuz-linux root=....
- al final de la linea poner esto:
acpi_backlight=vendor
- Quedando algo así:
kernel /boot/vmlinuz-linux root=.... acpi_backlight=vendor
- finalmente reinicia y listo.
Si usas Grub2:
- edita el archivo:
/etc/default/grub
- donde dice:
GRUB_CMDLINE_LINUX
- al final de la linea poner esto:
acpi_backlight=vendor
- Quedando algo así:
GRUB_CMDLINE_LINUX=".... acpi_backlight=vendor"
- actualizamos el grub:
grub2-mkconfig -o /boot/grub2/grub.cfg
- finalmente reinicia y listo.
Ahora mi script:
#!/bin/bash
v_inc_dec=$1
v_cambio=0
if [[ $v_inc_dec == "+" || $v_inc_dec == "-"
|| $v_inc_dec == "++" || $v_inc_dec == "--" ]]; then
v_light=$(xbacklight -get | cut -d "." -f1)
case $v_inc_dec in
+)
if [[ $v_light -lt 100 ]]; then
xbacklight -inc 15
v_cambio=1
else
echo "ADVERTENCIA: El brillo esta al maximo"
fi ;;
++)
if [[ $v_light -lt 100 ]]; then
xbacklight -inc 30
v_cambio=1
else
echo "ADVERTENCIA: El brillo esta al maximo"
fi ;;
-)
if [[ $v_light -gt 25 ]]; then
xbacklight -dec 15
v_cambio=1
elif [[ $v_light -gt 10 ]]; then
xbacklight -set 10
v_cambio=1
elif [[ $v_light -le 10 ]]; then
echo "ADVERTENCIA: El brillo esta al minimo"
fi ;;
--)
if [[ $v_light -gt 40 ]]; then
xbacklight -dec 30
v_cambio=1
elif [[ $v_light -gt 10 ]]; then
xbacklight -set 10
v_cambio=1
elif [[ $v_light -le 10 ]]; then
echo "ADVERTENCIA: El brillo esta al minimo"
fi ;;
esac
fi
if [[ $v_cambio -eq 1 ]]; then
level=$(xbacklight -get | cut -d "." -f1)
if [[ level -ne 100 ]]; then
level=$( expr $level + 1)
fi
if [[ $level -eq 100 ]]; then
v_icon=notification-display-brightness-full
elif [[ $level -ge 70 ]]; then
v_icon=notification-display-brightness-high
elif [[ $level -lt 70 && $level -ge 40 ]]; then
v_icon=notification-display-brightness-medium
else
v_icon=notification-display-brightness-low
fi
notify-send --icon=$v_icon "Brightness $level %"
fi
Versión mejorada del script:
Necesitan de tener instalado notify-osd y xbacklight
La ejecución del script es bien simple supongamos que al script le pusimos como nombre:
backlight
ejecutamos en una terminal:
(para subir el brillo en un 15 %)
sh backlight +
(para subir el brillo en un 30 %)
sh backlight ++
(para bajar el brillo en un 15 %)
sh backlight -
(para bajar el brillo en un 30 %)
sh backlight --
Estos atajos de teclados los puedes usar con obkey (openbox) o por ejemplo en awesome en el rc.lua lo tengo así:
awful.key({ }, "XF86MonBrightnessUp", function () awful.util.spawn("sh /home/daes/.scripts/bklght ++" ) end),
awful.key({ }, "XF86MonBrightnessDown", function () awful.util.spawn("sh /home/daes/.scripts/bklght --" ) end),