Eseguo Ubuntu 16.04 su un notebook Acer Aspire E5-773G. Sfortunatamente, non posso utilizzare i miei tasti funzione di luminosità nella schermata di accesso, quindi il primo momento in cui sono in grado di modificare la luminosità della retroilluminazione dello schermo è dopo aver inserito correttamente la mia password e aver effettuato l'accesso.
Per impostazione predefinita, Ubuntu si avvia con il livello di luminosità impostato all'ultimo spegnimento, ma questo non è molto utile poiché ad es. a volte spengo a tarda notte con un livello di luminosità intorno al 5% e lo riavvio il giorno successivo dove avrei bisogno di un livello di luminosità di almeno il 50% per vedere tutto comodamente. Al contrario, se spengo durante il giorno con una luminosità forse dell'80% e lo riaccendo la sera, vengo quasi accecato dalle luci...
Come posso configurare Ubuntu per l'avvio con un livello di luminosità a seconda della giornata corrente? Vorrei qualcosa come il 10% di luminosità dalle 22:00 alle 06:00, il 60% di luminosità dalle 10:00 alle 16:00 e il 30% di luminosità nel mezzo. Smussare la curva va bene, purché rimanga facilmente configurabile. In alternativa, se trovi un modo per impostarlo in base agli orari di tramonto/alba locali, sarebbe un grande vantaggio. 🙂
La modifica della luminosità in base a queste regole dovrebbe avvenire solo durante l'avvio o facoltativamente al risveglio dalla sospensione. Potrebbe non cambiare automaticamente la luminosità mentre lavoro.
Migliore risposta
Idea di base:
-
Salva il file di configurazione
/opt/.time_brightness_values
:{ "5,7": 0.25, "8,16": 0.50, "17,22": 0.75 }
Prestare attenzione ai valori e alle virgole tra virgolette. La prima colonna con i valori tra virgolette rappresenta l'intervallo di ore nel formato 24 ore, la seconda colonna è la percentuale. Ad esempio, se hai avviato dalle 5 alle 7, la tua luminosità sarebbe stata impostata sul 25 percento. Se avviassi dalle 8 alle 16, sarebbe il 50 percento.
-
Salva lo script di seguito come
/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()
-
Imposta
greeter-setup-script=/opt/set_timed_brightness.py
nel/etc/lightdm/lightdm.conf
file. Lo script di configurazione del greeter viene eseguito come root e una volta che il tuo sistema raggiunge la schermata di accesso, lo script verrà eseguito e imposterà la luminosità di cui hai bisogno. -
Per quanto riguarda il risveglio dalla sospensione, crea
/etc/pm/sleep.d/set_timed_brightness.sh
:#!/bin/bash case "${1}" in resume|thaw) python3 /opt/set_timed_brightness.py ;; esac
Ricorda :valgono tutte le regole standard, gli script devono essere resi eseguibili con chmod +x
, la denominazione e le chiamate a ciascun file devono essere coerenti.