GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Impostare la luminosità dello sfondo all'avvio iniziale in base al giorno?

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:

  1. 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.

  2. 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()
    
  3. 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.

  4. 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.

Correlati:come configurare i due monitor in Xfce in Ubuntu?
Ubuntu
  1. Come impostare una rete NFS?

  2. Nessun suono di avvio in Ubuntu 11.10?

  3. Fare le preferenze di Setxkbmap impostate all'avvio?

  4. Impostare la regolazione Oom Killer per il processo all'avvio?

  5. Tomcat 7:come impostare correttamente la dimensione dell'heap iniziale?

Imposta sfondi di sfondo su i3wm

Configura postino su Ubuntu 20.04

Script all'avvio?

Come impostare il colore/motivo di sfondo in una finestra di Nautilus?

Come impostare lo sfondo di Lightdm in Ubuntu 14.04?

Impostare i colori di sfondo di Vim