Ajustar automáticamente la iluminación de la pantalla

Hace poco mas de un mes escribí un artículo sobre como “Ajustar el brillo en Ubuntu de forma automática”. En este artículo escribía en particular sobre WildGuppy, y en él indicaba que iba a implementar un fork sobre esta aplicación. Comencé con ello, pero poco a poco, la diferencia entre una aplicación y la otra fué tan grande que decidía crear una solución nueva, ajustada a lo que realmente hacía, y así nació Backlight Indicator, un indicador que permite ajustar automáticamente la iluminación de la pantalla del portátil.

Ajustar automáticamente la iluminación de la pantalla - acerca de

Ajustar automáticamente la iluminación de la pantalla del portatil

Backlight Indicator es una sencilla aplicación que te permite ajustar automáticamente la iluminación de la pantalla de tu portátil. Para ello, cada cierto tiempo, según lo que hayas configurado, toma una fotografía, y calcula el brillo de la imagen, estableciendo este mismo valor para la retroiluminación de la pantalla.

Tengo que indicar que esta aplicación, trabaja exclusivamente con la retroiluminación de la pantalla del portátil.

Uso y funcionamiento

Puedes iniciar Backlight Indicator en Ubuntu para ajustar automáticamente la iluminación de la pantalla del portátil desde el Tablero o Dash, en el caso de que utilices Unity en Ubuntu,

Ajustar automáticamente la iluminación de la pantalla - dash

o bien desde cualquier otro de los lanzadores habituales, ya sea el menú clásico de Gnome, desde Plank, o desde Synapse.

Ajustar automáticamente la iluminación de la pantalla - synapse

Una vez iniciada la aplicación, esa si sitúa en el área de indicadores desde donde puedes realizar diferentes operaciones,

Ajustar automáticamente la iluminación de la pantalla - menu

  • La primera de las opciones es la de ajustar automáticamente la iluminación de la pantalla del portátil. Esta primera opción te permite iniciar y detener el proceso de ajuste automático; opción que puedes hacer también con el scroll sobre el propio indicador. Esta opción toma una fotografía cada cierto tiempo, según le hayas programado, calcula el brillo de la fotografía y establece en función de este la retroiluminación de la pantalla.
  • La segunda de las opciones te permite realizar la misma operación, pero en un solo instante. Es decir, solo realiza una captura, y en base a ella, establece la iluminación de la pantalla.
  • La tercera de las opciones te permite ajustar la iluminación de forma manual. Al seleccionar la opción, aparecerá un cuadro de diálogo como el que ves en la siguiente imagen,

Ajustar automáticamente la iluminación de la pantalla - manual

Configuración

Backlight Indicator es fácilmente configurable, y permite seleccionar el tema de los iconos, entre claro y oscuro, o iniciarla de forma automática cuando arranca Ubuntu

Ajustar automáticamente la iluminación de la pantalla - configuracion

Por otro lado, también te permite definir la retroiluminación mínima y la máxima, para que en ningún caso esté fuera de los límites marcados. Así como el intervalo en minutos para calcular el brillo y ajustar automáticamente la iluminación de la pantalla.

Ajustar automáticamente la iluminación de la pantalla - configuracion

Instalación

Para instalar esta aplicación en Ubuntu solo tienes que ejecutar las siguientes órdenes en un emulador de terminal,

sudo add-apt-repository ppa:atareao/atareao
sudo apt-get update
sudo apt-get install backlight-indicator

43 comentarios en “Ajustar automáticamente la iluminación de la pantalla

  1. Hola!!

    Es estupendo que hayas decidido crear Backlight Indicator, a mi WildGuppy nunca me ha funcionado. Sin embargo, B.I. si que funciona, haciendo junto a Redshift un combo imbatible para aliviar los ojos!! 🙂

    Llevo toda la mañana probándolo y funciona perfecto. Sólo una cosa que creo que tal vez se podría mejorar, a ver que te parece: Las notificaciones, tengo todo «default» por lo que cada cinco minutos me aparece la notificación del cambio de brillo, lo que creo que es demasiado ya que me distrae de lo que estoy haciendo.

    Soluciones posibles que veo:
    – Ofrecer una opción para desactivarlas
    – Notificar cada determinado tiempo
    – Notificar sólo cuando hay variaciones importantes en el nivel de brillo.

    Por lo demás, perfecto!!

    Muchísimas gracias por compartir tu trabajo y un saludo desde Tarragona!!

      1. Hola!!

        Me encantan las nuevas opciones, las veo muy útiles. Sin embargo, encuentro la aplicación más inestable que antes. Tengo los siguientes fallos:
        – Cuando capturo la luz manualmente el brillo se queda siempre al 100%.
        – Cuando activo la opción de brillo determinado al estar enchufado a la corriente el brillo se queda siempre al 100%.
        – Después de hacer varias pruebas con diferentes ajustes la aplicación siempre peta y no puedo acceder a las preferencias. He de reiniciar.

        En el apartado de ahorro de energía, a lo mejor quedaría un poco más claro si usas la palabra «battery» en vez de «power». Me costó entender que te referías al porcentaje de batería, pensaba que era el nivel de brillo.

        ¿Podrías activar la aplicación en Launchpad? Nos sería más fácil ayudarte…

        Salu2!! 🙂

  2. Sorry for posting this here, but there’s no launchpad project where I can report bugs. In Ubuntu 16.04, the app doesn’t seem to work. When I click «Capture backlight» from the indicator, this is the output:
    Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.
    Traceback (most recent call last):
    File "/opt/extras.ubuntu.com/backlight-indicator/share/backlight-indicator/backlightindicator.py", line 292, in on_capure_backlight_menu
    self.backlight = self.webcam.get_backlight()
    File "/opt/extras.ubuntu.com/backlight-indicator/share/backlight-indicator/webcam.py", line 74, in get_backlight
    im = Image.open(self.temp_file).convert('L')
    File "/usr/lib/python3/dist-packages/PIL/Image.py", line 2258, in open
    fp = builtins.open(filename, "rb")
    FileNotFoundError: [Errno 2] No such file or directory: '/tmp/tmp_calculate_backlight_1ldn54pl.jpg'

    So it looks like it can’t find the image used to calculate the backlight.

          1. By the way, my /tmp is on tmpfs, so I have this in my /etc/fstab file:
            tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0
            tmpfs /var/tmp tmpfs defaults,noatime,mode=1777 0 0

            Maybe it’s related to that? Other apps that use /tmp don’t seem to have issues with it though.

  3. Hola, no sé si es porque tengo Ubuntu 14.04 y no es para ésta versión….
    Pero aparentemente se instaló correctamente. Me creó un icono de acceso directo. Le doy click al icono y enseguida aparece un mensaje que dice: «La aplicación Blacklight se cerró inesperadamente».
    Le doy al boton de ‘Mostrar detalles’ y me aparece esto:
    …..Bueh, no lo puedo copiar……..
    Qué solucion me dan? Desde ya, Gracias

          1. Hola, perdon la demora. Soy novato en Ubuntu-Linux…. ese comando me da error. Me dice que ‘El programa «opt» no está instalado. Puede instalarlo escribiendo:

            sudo apt-get install llvm’ (le quite todas las y la / de antes del opt)

          2. Hola Gustavo,

            El comando se encuentra en el directorio /opt/extras… y es «backlight-indicator», te dejo una imagen con lo que debes escribir en el terminal.
            Si tienes cualquier duda me dices.

            Saludos

          3. :/ Me da este error:

            /opt/extras.ubuntu.com/backlight-indicator/bin/backlight-indicator

            [Errno 2] No translation file found for domain: ‘backlight-indicator’

            Traceback (most recent call last):

            File «/opt/extras.ubuntu.com/backlight-indicator/bin/backlight-indicator», line 38, in

            from backlightindicator import main

            File «/opt/extras.ubuntu.com/backlight-indicator/share/backlight-indicator/backlightindicator.py», line 40, in

            from webcam import Webcam

            File «/opt/extras.ubuntu.com/backlight-indicator/share/backlight-indicator/webcam.py», line 26, in

            from PIL import Image

            ImportError: No module named ‘PIL’

          4. Hola Gustavo,

            Vaya, me he dejado algunas dependencias, he subido una nueva versión, que espero esté disponible en unas horas. Si quieres probarlo, puedes instalar la dependencia que te falta.

            sudo apt-get install python3-pil

            Muchas gracias y disculpa por las molestias. Un saludo

  4. Con la actualización de hoy me da error y se me cierra. Este es el mensaje de la terminal:

    [Errno 2] No translation file found for domain: ‘backlight-indicator’

    (backlight-indicator:4178): Gtk-WARNING **: Can’t set a parent on widget which has a parent

    ‘show-notifications’
    ‘show-value’
    ‘autoworking’
    ‘change-backlight-on-ac’
    ‘backlight-on-ac’
    ‘reduce-backlight-on-low-power’
    ‘backlight-on-low-power’
    0
    Traceback (most recent call last):
    File «/opt/extras.ubuntu.com/backlight-indicator/bin/backlight-indicator», line 40, in
    main()
    File «/opt/extras.ubuntu.com/backlight-indicator/share/backlight-indicator/backlightindicator.py», line 479, in main
    bi = BacklightIndicator()
    File «/opt/extras.ubuntu.com/backlight-indicator/share/backlight-indicator/backlightindicator.py», line 112, in __init__
    self.read_preferences()
    File «/opt/extras.ubuntu.com/backlight-indicator/share/backlight-indicator/backlightindicator.py», line 178, in read_preferences
    self.start_automatically()
    File «/opt/extras.ubuntu.com/backlight-indicator/share/backlight-indicator/backlightindicator.py», line 357, in start_automatically
    self.do_the_work()
    File «/opt/extras.ubuntu.com/backlight-indicator/share/backlight-indicator/backlightindicator.py», line 390, in do_the_work
    self.battery.get_percentage() < 20:
    File "/opt/extras.ubuntu.com/backlight-indicator/share/backlight-indicator/battery.py", line 94, in get_percentage
    return float(self.__get('Percentage'))
    File "/opt/extras.ubuntu.com/backlight-indicator/share/backlight-indicator/battery.py", line 84, in __get
    return self.iface.Get(DBUS_PROPS['method-info'], variable)
    File "/usr/lib/python3/dist-packages/dbus/proxies.py", line 70, in __call__
    return self._proxy_method(*args, **keywords)
    File "/usr/lib/python3/dist-packages/dbus/proxies.py", line 145, in __call__
    **keywords)
    File "/usr/lib/python3/dist-packages/dbus/connection.py", line 651, in call_blocking
    message, timeout)
    dbus.exceptions.DBusException: org.freedesktop.DBus.Error.UnknownMethod: Method "Get" with signature "ss" on interface "org.freedesktop.DBus.Properties" doesn't exist

          1. Arreglado, muchas gracias por la rapidez. Mis ojos te lo agradecerán. ¿Al final integraste la posibilidad de reducir la notificaciones a oscilaciones de más de un 5% del brillo?, solo veo la posibilidad de quitar o poner la notificaciones.

  5. Hola, estoy en Xubuntu 16.04 y al ejecutarlo me da este error:

    [Errno 2] No translation file found for domain: ‘backlight-indicator’
    Traceback (most recent call last):
    File «/opt/extras.ubuntu.com/backlight-indicator/bin/backlight-indicator», line 40, in
    main()
    File «/opt/extras.ubuntu.com/backlight-indicator/share/backlight-indicator/backlightindicator.py», line 492, in main
    bi = BacklightIndicator()
    File «/opt/extras.ubuntu.com/backlight-indicator/share/backlight-indicator/backlightindicator.py», line 96, in __init__
    self.backlightManager = BacklightManager()
    File «/opt/extras.ubuntu.com/backlight-indicator/share/backlight-indicator/backlight.py», line 54, in __init__
    properties = DBUS_PROPS[desktop]
    KeyError: ‘xubuntu’

    Excelente blog. Saludos!

    1. Yo estoy con ubuntu 16.04 en entorno xfce y me da este mismo error

      [Errno 2] No translation file found for domain: ‘backlight-indicator’
      Traceback (most recent call last):
      File «/opt/extras.ubuntu.com/backlight-indicator/bin/backlight-indicator», line 40, in
      main()
      File «/opt/extras.ubuntu.com/backlight-indicator/share/backlight-indicator/backlightindicator.py», line 492, in main
      bi = BacklightIndicator()
      File «/opt/extras.ubuntu.com/backlight-indicator/share/backlight-indicator/backlightindicator.py», line 96, in __init__
      self.backlightManager = BacklightManager()
      File «/opt/extras.ubuntu.com/backlight-indicator/share/backlight-indicator/backlight.py», line 54, in __init__
      properties = DBUS_PROPS[desktop]
      KeyError: ‘xfce’

  6. Hola, yo tengo Ubuntu Gnome 16.04 y me sale este error:

    [Errno 2] No translation file found for domain: ‘backlight-indicator’

    (backlight-indicator:8287): Gtk-WARNING **: Can’t set a parent on widget which has a parent

    Traceback (most recent call last):
    File «/opt/extras.ubuntu.com/backlight-indicator/bin/backlight-indicator», line 40, in
    main()
    File «/opt/extras.ubuntu.com/backlight-indicator/share/backlight-indicator/backlightindicator.py», line 492, in main
    bi = BacklightIndicator()
    File «/opt/extras.ubuntu.com/backlight-indicator/share/backlight-indicator/backlightindicator.py», line 118, in __init__
    self.read_preferences()
    File «/opt/extras.ubuntu.com/backlight-indicator/share/backlight-indicator/backlightindicator.py», line 173, in read_preferences
    backlight = self.backlightManager.get_backlight()
    File «/opt/extras.ubuntu.com/backlight-indicator/share/backlight-indicator/backlight.py», line 68, in get_backlight
    return int(self.get_value())
    File «/usr/lib/python3/dist-packages/dbus/proxies.py», line 70, in __call__
    return self._proxy_method(*args, **keywords)
    File «/usr/lib/python3/dist-packages/dbus/proxies.py», line 145, in __call__
    **keywords)
    File «/usr/lib/python3/dist-packages/dbus/connection.py», line 651, in call_blocking
    message, timeout)
    dbus.exceptions.DBusException: org.freedesktop.DBus.Error.UnknownMethod: No existe tal método «GetPercentage»

    Gran trabajo.

    ¡¡¡Un saludo!!!

  7. Señor Atareao… Esta aplicación es una maravilla!!! es usted un GENIO!!! Saludos desde México!!!
    Llevo siguiendote y usando tus apps desde hace muchos años, yo empece a usar Ubuntu desde el 2004 y casí enseguida te conocí, no recuerdo exactamente la fecha, sin embargo tu trabajo desde siempre es excelente!!!

  8. Hola Atareao!

    En Ubuntu 16.04 con Unity esto funciono perfectamente, sin embargo ahora que estoy usando Ubuntu Budgie 16.04, al ejecutarlo me sale esto en la terminal:
    [Errno 2] No translation file found for domain: ‘backlight-indicator’
    Traceback (most recent call last):
    File «/opt/extras.ubuntu.com/backlight-indicator/bin/backlight-indicator», line 40, in
    main()
    File «/opt/extras.ubuntu.com/backlight-indicator/share/backlight-indicator/backlightindicator.py», line 492, in main
    bi = BacklightIndicator()
    File «/opt/extras.ubuntu.com/backlight-indicator/share/backlight-indicator/backlightindicator.py», line 96, in __init__
    self.backlightManager = BacklightManager()
    File «/opt/extras.ubuntu.com/backlight-indicator/share/backlight-indicator/backlight.py», line 54, in __init__
    properties = DBUS_PROPS[self.desktop]
    KeyError: ‘budgie-desktop’

    De ante mano muchas gracias por tu trabajo!

  9. Hola Atareado

    En Budgie desktop 16.04 me da este error.

    [Errno 2] No translation file found for domain: ‘backlight-indicator’
    === starting Backlight Indicator ===
    Traceback (most recent call last):
    File «/opt/extras.ubuntu.com/backlight-indicator/bin/backlight-indicator», line 40, in
    main()
    File «/opt/extras.ubuntu.com/backlight-indicator/share/backlight-indicator/backlightindicator.py», line 514, in main
    BacklightIndicator()
    File «/opt/extras.ubuntu.com/backlight-indicator/share/backlight-indicator/backlightindicator.py», line 95, in __init__
    self.backlightManager = BacklightManager()
    File «/opt/extras.ubuntu.com/backlight-indicator/share/backlight-indicator/backlight.py», line 74, in __init__
    properties = DBUS_PROPS[self.desktop]
    KeyError: ‘budgie-desktop’

    que hago?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *