GNU/Linux >> Tutoriales Linux >  >> Ubuntu

¿Establecer el brillo de fondo de inicio inicial según el día?

Ejecuto Ubuntu 16.04 en una computadora portátil Acer Aspire E5-773G. Desafortunadamente, no puedo usar mis teclas de función de brillo en la pantalla de inicio de sesión, por lo que el primer momento en que puedo cambiar el brillo de la luz de fondo de mi pantalla es después de ingresar mi contraseña e iniciar sesión.

De forma predeterminada, Ubuntu arranca con el nivel de brillo que se configuró en el último apagado, pero esto no es muy útil, p. a veces apago tarde en la noche con un nivel de brillo de alrededor del 5% y lo vuelvo a encender al día siguiente, donde necesitaría un nivel de brillo de al menos el 50% para ver todo cómodamente. Al revés, si lo apago durante el día con quizás un 80 % de brillo y lo enciendo por la noche, las luces casi me ciegan...

¿Cómo puedo configurar Ubuntu para que arranque con un nivel de brillo según el día actual? Me gustaría algo como 10% de brillo de 22:00 a 06:00, 60% de brillo de 10:00 a 16:00 y 30% de brillo en el medio. Suavizar la curva está bien, siempre y cuando sea fácilmente configurable. Alternativamente, si encuentra una manera de configurarlo en función de las horas locales de puesta y salida del sol, sería una gran ventaja. 🙂

La modificación del brillo de acuerdo con estas reglas solo debe realizarse durante el arranque u, opcionalmente, al despertar de la suspensión. Es posible que no cambie automáticamente el brillo mientras estoy trabajando.

Mejor respuesta

Idea básica:

  1. Guarde el archivo de configuración /opt/.time_brightness_values :

    {
      "5,7": 0.25,
      "8,16": 0.50,
      "17,22": 0.75
    }
    

    Preste atención a los valores entrecomillados y las comas. La primera columna con valores citados representa el intervalo de horas en formato de 24 horas, la segunda columna es un porcentaje. Por ejemplo, si arrancó de 5 a 7 en punto, su brillo se establecería en un 25 por ciento. Si arrancara de 8 a 16 en punto, sería el 50 por ciento.

  2. Guarde el script a continuación como /opt/set_timed_brightness.py

    #!/usr/bin/env python3
    from __future__ import print_function
    from collections import OrderedDict
    import json
    import time
    import sys
    import os
    
    def read_config():
        dir = '/opt'
        filename = '.time_brightness_values'
        conf_file = os.path.join(dir,filename)
        brightness = None
        with open(conf_file) as f:
             try:
                  data = json.load(f)
                  data = OrderedDict(sorted(data.items()))
             except Exception as e:
                  print(e)
                  sys.exit(1)
             else:
                  keys = [ key.split(',') for key,value in data.items()]
                  keys.sort()
    
                  hour =  time.localtime().tm_hour
                  for key in keys:
                      if int(key[0]) <= hour and int(key[1]) >= hour:
                         brightness = data[','.join(key)]  
    
        return brightness
    
    def set_percentage(pcent):
        dir = os.listdir('/sys/class/backlight')
        dev = os.path.join('/sys/class/backlight',dir[0])   
    
        max = None
        with open(os.path.join(dev,'max_brightness')) as f:
            max = f.readline().strip()
    
        new = int(float(max)*pcent)
        new = str(new)
        with open(os.path.join(dev,'brightness'),'w') as f:
             f.write(new)
    
    def main():
        percentage = read_config()
        if percentage:
            set_percentage(percentage)
    
    
    if __name__ == '__main__':
        main()
    
  3. Establecer greeter-setup-script=/opt/set_timed_brightness.py en el /etc/lightdm/lightdm.conf expediente. La secuencia de comandos de configuración de saludo se ejecuta como root y una vez que su sistema llega a la pantalla de inicio de sesión, la secuencia de comandos se ejecutará y establecerá el brillo que necesita.

  4. En cuanto a despertar de la suspensión, cree /etc/pm/sleep.d/set_timed_brightness.sh :

    #!/bin/bash
    
    case "${1}" in
            resume|thaw) python3 /opt/set_timed_brightness.py
        ;;
    esac
    

Recuerda :se aplican todas las reglas estándar, los scripts deben hacerse ejecutables con chmod +x , los nombres y las llamadas a cada archivo deben ser coherentes.

Relacionado:¿Cómo configurar monitores duales en Xfce en Ubuntu?
Ubuntu
  1. ¿Cómo configurar una red Nfs?

  2. ¿No hay sonido de inicio en Ubuntu 11.10?

  3. ¿Establecer las preferencias de Setxkbmap al inicio?

  4. ¿Cómo configurar un fondo transparente en la terminal Xfce?

  5. Vim:¿Texto negro sobre fondo negro?

Establecer fondos de pantalla de fondo en i3wm

Configurar Postman en Ubuntu 20.04

Ubuntu - ¿Cómo configurar una IP estática en Ubuntu?

¿Script al inicio?

¿Cómo establecer el color/patrón de fondo en una ventana de Nautilus?

¿Cómo configurar el fondo de pantalla de Lightdm en Ubuntu 14.04?