Para el usuario de GNU/Linux con portátil, netbooks o algún tipo de aparato similar, es fundamental el uso óptimo de su batería que nos permita su utilización por un mayor tiempo. Por ello es importante el ahorro de energía de todos los dispositivos que dependan de esta.

El monitor posiblemente sea el que mayor consuma y por ello se deberá controlar el brillo y la intensidad del mismo. Este deberá ser el adecuado, dependiendo claro esta,  del entorno en que nos encontremos, configurándolo adecuadamente para su uso.

Para entornos más avanzados como KDE, Unity, Gnome, etc..contamos con mini aplicaciones, applet, extensiones, indicadores,etc..que con facilidad podremos graduar nuestro nivel de brillo e intensidad.

indicadoresPara aquellos que disfrutan de entornos más livianos tipo Openbox, deberemos hacer uso del terminal y de comandos. Algunos de estos comandos que tenemos disponibles para realizar esta tarea, serian los siguientes:

xrandr

Comando de propósito general que maneja todos los aspectos de nuestra pantalla, incluyendo el brillo.

$ xrandr --properties

En un principio para manejar este comando deberemos de conocer el hardware a manejar y los parámetros disponibles para su uso. En especial en el ejemplo, el nombre del dispositivo(LVDS1) a que va destinado, sus parámetros para el brillo(BACKLIGHT) y el rango de valores que soporta(0-8).

$ xrandr --output LVDS1 --set BACKLIGHT 8

Siendo en el ejemplo, el valor 8 como el mayor nivel de intensidad y el 0 el valor más bajo.

setpci

Comando para la consulta y configuración de los dispositivo que tengamos conectados.

Para uso es necesario también conocer algunos datos sobre las características que nuestra tarjeta gráfica, para ello podemos utilizar el siguiente comando:

$ sudo lspci | grep VGA

Obteniendo un resultado parecido esto:

00:02.0 VGA compatible controller: Intel Corporation N10 Family Integrated Graphics Controller

De esta información nos quedamos con la dirección (00:02.0) que utilizaremos para dirigirnos a nuestra tarjeta gráfica, y para manejar la intensidad del brillo esta vez, usaremos los valores con un rango de (0-99).

$ sudo setpci -s 00:02.0 F4.B=99

Siendo en el ejemplo, el valor 99 como el de mayor intensidad y el 0 el de menos.

xbacklight

El comando mas fácil de manejar, ya que no es necesario recabar ningún tipo de información, y que en su ejecución hace uso de xrandr que ya hemos visto anteriormente. Antes de su uso es necesario instalarlo ya que en  ubuntu no lo tiene instalado por defecto.

$ sudo apt-get install xbacklight

El rango de valores que maneja para establecer la intensidad del brillo esta entre (0-100).

$ xbacklight -set 100

Brillo indicator

Basado en este ultimo comando, este indicador, algo mas modesto respecto a los que ya existe en otros entornos, pero totalmente funcional pensando especialmente en los usuarios que utilizan Openbox con tint2, carente de este tipo de elementos y que sin duda nos puede facilitar esta tarea. Aunque evidentemente como cualquier otro indicador lo podemos utilizar en cualquier otro entorno.

#!/usr/bin/env python
#
# [NAME: Indicador para cambiar el brillo] 
# [CATEGORIES: Indicador]
# [DESCRIPTION: Nos permite cambiar el brillo de nuestro monitor]
# [AUTHOR: yunn ]
# [DOCS: http://ubuntutoday.com/]
# [LICENSE: GPL]
# 

import sys
import gtk
import appindicator
import os

class BrilloIndicador:

    def __init__(self):
        self.evento = False
        self.ind = appindicator.Indicator("brillo-indicador",
                                          "display-brightness-symbolic",
                                          appindicator.CATEGORY_APPLICATION_STATUS)
        self.ind.set_status(appindicator.STATUS_ACTIVE)

        self.ind.set_attention_icon ("display-brightness-symbolic")
        self.ind.set_icon("display-brightness-symbolic")

        self.menuSetup()
        self.ind.set_menu(self.menu)

    def menuSetup(self):
        self.menu = gtk.Menu()

        self.menuItems()

        self.separator = gtk.SeparatorMenuItem()
        self.separator.show()
        self.menu.append(self.separator)

        self.salirItem = gtk.MenuItem("Salir")
        self.salirItem.connect("activate", self.salir)
        self.salirItem.show()
        self.menu.append(self.salirItem) 

        self.readItem()

    def menuItems(self):
        intI = 10
        while intI > 0:
          strLabel = "  %d  " % (intI * 10)
          TItem    = gtk.CheckMenuItem(strLabel)
          TItem.connect("toggled", self.menuItemChange, strLabel)
          TItem.show()
          self.menu.append(TItem)
          intI = intI - 1 

    def menuItemChange(self, widget, strLabel):
        if not self.evento:
          for TItem in self.menu.get_children():
            if TItem.get_name() == "GtkCheckMenuItem":
              if TItem <> widget and TItem.get_active():
                self.evento = True
                TItem.set_active(False)
                break

          self.evento = False
          self.menuItemRun(widget, strLabel)

    def menuItemRun(self, widget, strLabel):
        os.system("xbacklight -set " + strLabel)

    def readItem(self):
        try:
          hF = open(os.getenv("HOME") + "/.config/.brilloindicator",'r')
          strLabel = hF.read()
          hF.close()
        except:
          strLabel = "  100  "

        if strLabel == "":
          strLabel = "  100  "

        for TItem in self.menu.get_children():
          if TItem.get_name() == "GtkCheckMenuItem":
            if TItem.get_label() == strLabel:
               TItem.set_active(True)
               break

    def writeItem(self):
        for TItem in self.menu.get_children():
          if TItem.get_name() == "GtkCheckMenuItem":
            if TItem.get_active():
               try:
                 hF = open(os.getenv("HOME") + "/.config/.brilloindicator",'w')
                 hF.write(TItem.get_label())
                 hF.close()
               except:
                 print "Error de escritura."
               break

    def main(self):
        gtk.main()

    def salir(self, widget):
        self.writeItem()
        sys.exit(0)

if __name__ == "__main__":
    indicador = BrilloIndicador()
    indicador.main()

Instalación

Basta con copiar y pegar el código anterior en nuestro editor y lo salvamos por ejemplo con el nombre de brilloindicator.py. Ahora accedemos al terminal y lo movemos a /usr/bin, dándole los correspondientes permisos de ejecución.

$ sudo mv brilloindicator.py /usr/bin
$ sudo chmod +x /usr/bin/brilloindicator.py

Tras esto basta incluir el indicador en el fichero autostart para su ejecución, cuando se inicie la sesión de Openbox.

$ gedit $HOME/.config/openbox/autostart

E insertamos al final del fichero,

#Brilloindicator
brilloindicator.py &

Pues nada más, para otras distros que no sean ubuntu o basadas en Debian, solo hay que tener en cuenta de tener instalado tanto xbacklight como python, necesarios para la ejecución de este indicador.

Brillo indicator

 

Fuente: ubuntutoday

¿Quién está en línea?

Hay 14294 invitados y ningún miembro en línea