GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Hintergrundhelligkeit beim ersten Start abhängig von der Tageszeit einstellen?

Ich verwende Ubuntu 16.04 auf einem Acer Aspire E5-773G-Notebook. Leider kann ich meine Helligkeitsfunktionstasten auf dem Anmeldebildschirm nicht verwenden, daher kann ich die Helligkeit der Hintergrundbeleuchtung des Bildschirms zum ersten Mal ändern, nachdem ich mein Passwort erfolgreich eingegeben und mich angemeldet habe.

Standardmäßig bootet Ubuntu mit der beim letzten Herunterfahren eingestellten Helligkeitsstufe, was aber nicht sehr sinnvoll ist, da z.B. Manchmal schalte ich spät nachts mit einer Helligkeitsstufe von etwa 5 % ab und starte es am nächsten Tag wieder, wo ich eine Helligkeitsstufe von mindestens 50 % benötigen würde, um alles bequem sehen zu können. Umgekehrt, wenn ich tagsüber mit vielleicht 80% Helligkeit herunterfahre und abends hochfahre, werde ich fast von den Lichtern geblendet…

Wie kann ich Ubuntu so konfigurieren, dass es mit einer Helligkeitsstufe startet, die von der aktuellen Tageszeit abhängt? Ich möchte so etwas wie 10% Helligkeit von 22:00 bis 06:00 Uhr, 60% Helligkeit von 10:00 bis 16:00 Uhr und 30% Helligkeit dazwischen. Das Glätten der Kurve ist in Ordnung, solange es einfach konfigurierbar bleibt. Alternativ wäre es ein großer Bonus, wenn Sie einen Weg finden, es basierend auf den lokalen Sonnenuntergangs- / Sonnenaufgangszeiten einzustellen. 🙂

Die Anpassung der Helligkeit nach diesen Regeln sollte nur während des Bootens oder optional beim Aufwachen aus dem Suspend erfolgen. Die Helligkeit ändert sich möglicherweise nicht automatisch, während ich arbeite.

Beste Antwort

Grundidee:

  1. Speichern Sie die Konfigurationsdatei /opt/.time_brightness_values :

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

    Achten Sie auf Werte in Anführungszeichen und Kommas. Die erste Spalte mit Werten in Anführungszeichen stellt den Stundenbereich im 24-Stunden-Format dar, die zweite Spalte ist der Prozentsatz. Wenn Sie beispielsweise von 5 bis 7 Uhr gebootet haben, wird Ihre Helligkeit auf 25 Prozent eingestellt. Würdest du von 8 bis 16 Uhr booten, wären es 50 Prozent.

  2. Speichern Sie das folgende Skript als /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. Setzen Sie greeter-setup-script=/opt/set_timed_brightness.py in der /etc/lightdm/lightdm.conf Datei. Das Greeter-Setup-Skript wird als Root ausgeführt und sobald Ihr System zum Anmeldebildschirm gelangt, wird das Skript ausgeführt und stellt die gewünschte Helligkeit ein.

  4. Was das Aufwachen aus dem Suspend betrifft, erstellen Sie /etc/pm/sleep.d/set_timed_brightness.sh :

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

Denken Sie daran :Es gelten alle Standardregeln, die Skripte müssen mit chmod +x ausführbar gemacht werden , Benennung und Aufrufe jeder Datei müssen konsistent sein.

Verwandte:Wie richte ich zwei Monitore in Xfce in Ubuntu ein?
Ubuntu
  1. Wie richte ich ein NFS-Netzwerk ein?

  2. Setxkbmap-Einstellungen beim Start festlegen?

  3. Festlegen der Vim-Hintergrundfarben

  4. Hintergrundbild in xmonad einstellen

  5. Hintergrundfarbe in gvim einstellen

Legen Sie Hintergrundbilder auf i3wm fest

Richten Sie Postman unter Ubuntu 20.04 ein

Skript beim Start?

Wie stelle ich die Hintergrundfarbe/das Muster in einem Nautilus-Fenster ein?

Wie stelle ich das Lightdm-Hintergrundbild in Ubuntu 14.04 ein?

Tomcat 7:Wie stellt man die anfängliche Heap-Größe richtig ein?