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:
-
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.
-
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()
-
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. -
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.