GNU/Linux >> Belajar Linux >  >> Ubuntu

Atur Kecerahan Latar Belakang Startup Awal Tergantung Pada Siang Hari?

Saya menjalankan Ubuntu 16.04 pada notebook Acer Aspire E5-773G. Sayangnya, saya tidak dapat menggunakan tombol fungsi kecerahan di layar masuk, jadi saat pertama saya dapat mengubah kecerahan lampu latar layar adalah setelah berhasil memasukkan kata sandi dan masuk.

Secara default, Ubuntu melakukan booting dengan tingkat kecerahan yang telah disetel pada shutdown terakhir, tetapi ini tidak terlalu berguna seperti mis. kadang-kadang saya mematikan larut malam dengan tingkat kecerahan sekitar 5% dan memulainya lagi keesokan harinya di mana saya membutuhkan tingkat kecerahan minimal 50% untuk melihat semuanya dengan nyaman. Sebaliknya, jika saya mematikan di siang hari dengan kecerahan mungkin 80% dan menyalakannya di malam hari, saya hampir dibutakan oleh lampu…

Bagaimana saya bisa mengkonfigurasi Ubuntu untuk boot dengan tingkat kecerahan tergantung pada siang hari saat ini? Saya ingin sesuatu seperti kecerahan 10% dari 22:00 hingga 06:00, kecerahan 60% dari 10:00 hingga 16:00 dan kecerahan 30% di antaranya. Menghaluskan kurva tidak apa-apa, asalkan tetap mudah dikonfigurasi. Atau, jika Anda menemukan cara untuk mengaturnya berdasarkan waktu matahari terbenam/terbit setempat, itu akan menjadi bonus besar.

Memodifikasi kecerahan menurut aturan ini hanya boleh dilakukan saat boot atau opsional saat bangun dari penangguhan. Ini mungkin tidak secara otomatis mengubah kecerahan saat saya bekerja.

Jawaban Terbaik

Ide dasar:

  1. Simpan file konfigurasi /opt/.time_brightness_values :

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

    Perhatikan nilai yang dikutip dan koma. Kolom pertama dengan nilai kutipan mewakili rentang jam dalam format 24 jam, kolom kedua adalah persentase. Misalnya, jika Anda mem-boot dari jam 5 hingga 7, kecerahan Anda akan diatur ke 25 persen. Jika Anda mem-boot dari jam 8 hingga 16, itu akan menjadi 50 persen.

  2. Simpan skrip di bawah ini sebagai /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. Setel greeter-setup-script=/opt/set_timed_brightness.py di /etc/lightdm/lightdm.conf mengajukan. Skrip penyiapan penyambut berjalan sebagai root dan setelah sistem Anda membuka layar login, skrip akan berjalan dan mengatur kecerahan yang Anda butuhkan.

  4. Sejauh bangun dari penangguhan, buat /etc/pm/sleep.d/set_timed_brightness.sh :

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

Ingat :semua aturan standar berlaku, skrip harus dibuat dapat dieksekusi dengan chmod +x , penamaan dan panggilan ke setiap file harus konsisten.

Terkait:Bagaimana Cara Mengatur Dual Monitor di Xfce di Ubuntu?
Ubuntu
  1. Bagaimana Cara Mengatur Jaringan Nfs?

  2. Tidak Ada Suara Startup Di Ubuntu 11.10?

  3. Jadikan Preferensi Setxkbmap Ditetapkan Saat Startup?

  1. Setel Penyesuaian Pembunuh Oom Untuk Proses Saat Memulai?

  2. Mengatur warna latar belakang Vim

  3. Atur gambar latar belakang di xmonad

  1. Mengatur warna latar belakang di gvim

  2. Adakah yang bisa menjelaskan secara rinci apa yang dilakukan set -m?

  3. Jalankan serempak di latar belakang saat startup?