GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Définir la luminosité de l'arrière-plan au démarrage initial en fonction de la journée ?

J'exécute Ubuntu 16.04 sur un ordinateur portable Acer Aspire E5-773G. Malheureusement, je ne peux pas utiliser mes touches de fonction de luminosité sur l'écran de connexion, donc le premier moment où je peux changer la luminosité du rétroéclairage de mon écran est après avoir réussi à saisir mon mot de passe et à me connecter.

Par défaut, Ubuntu démarre avec le niveau de luminosité défini lors du dernier arrêt, mais ce n'est pas très utile, par exemple. parfois j'éteins tard le soir avec un niveau de luminosité autour de 5% et je le redémarre le lendemain où j'aurais besoin d'un niveau de luminosité d'au moins 50% pour tout voir confortablement. À l'inverse, si j'éteins pendant la journée avec peut-être 80 % de luminosité et que je redémarre le soir, je suis presque aveuglé par les lumières…

Comment puis-je configurer Ubuntu pour démarrer avec un niveau de luminosité en fonction de l'heure actuelle ? Je voudrais quelque chose comme 10 % de luminosité de 22h00 à 06h00, 60 % de luminosité de 10h00 à 16h00 et 30 % de luminosité entre les deux. Le lissage de la courbe est correct, tant qu'il reste facilement configurable. Alternativement, si vous trouvez un moyen de le régler en fonction des heures locales de coucher/lever du soleil, ce serait un gros bonus. 🙂

La modification de la luminosité selon ces règles ne doit avoir lieu qu'au démarrage ou éventuellement lors du réveil après une suspension. Il se peut que la luminosité ne change pas automatiquement pendant que je travaille.

Meilleure réponse

Idée de base :

  1. Enregistrer le fichier de configuration /opt/.time_brightness_values :

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

    Faites attention aux valeurs entre guillemets et aux virgules. La première colonne avec des valeurs entre guillemets représente la plage d'heures au format 24 heures, la deuxième colonne est le pourcentage. Par exemple, si vous démarrez de 5 à 7 heures, votre luminosité sera réglée sur 25 %. Si vous démarriez de 8h à 16h, ce serait 50 %.

  2. Enregistrez le script ci-dessous sous /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. Définir greeter-setup-script=/opt/set_timed_brightness.py dans le /etc/lightdm/lightdm.conf dossier. Le script de configuration de greeter s'exécute en tant que root et une fois que votre système atteint l'écran de connexion, le script s'exécute et définit la luminosité dont vous avez besoin.

  4. En ce qui concerne le réveil de la suspension, créez /etc/pm/sleep.d/set_timed_brightness.sh :

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

Rappelez-vous :toutes les règles standards s'appliquent, les scripts doivent être rendus exécutables avec chmod +x , le nommage et les appels à chaque fichier doivent être cohérents.

En relation:Comment configurer deux moniteurs dans Xfce dans Ubuntu ?
Ubuntu
  1. Comment configurer un arrière-plan transparent dans le terminal Xfce ?

  2. Vim :texte noir sur fond noir ?

  3. Définir le réglage Oom Killer pour le processus au démarrage ?

  4. Définir les couleurs d'arrière-plan de Vim

  5. Tomcat 7 :Comment définir correctement la taille initiale du tas ?

Définir les fonds d'écran sur i3wm

Configurer Postman sur Ubuntu 20.04

Script au démarrage ?

Comment définir la couleur/le motif d'arrière-plan dans une fenêtre Nautilus ?

Comment définir le fond d'écran Lightdm dans Ubuntu 14.04 ?

Quelqu'un peut-il expliquer en détail ce que fait set -m ?