Начальная буква набора запускает яркость фона в зависимости от дневного времени

Я запускаю Ubuntu 16.04 на ноутбуке Acer Aspire E5-773G. К сожалению, я не могу использовать свои функциональные клавиши яркости на экране входа в систему, таким образом, первый момент, когда я могу изменить свою экранную яркость подсветки, после успешно вводит мой пароль и вход в систему.

По умолчанию Ubuntu загружается с уровнем яркости, который был установлен на последнем завершении работы, но это не очень полезно как, например, иногда я закрывал поздно вечером с уровнем яркости приблизительно 5% и запускаю его снова на следующий день, где мне был бы нужен уровень яркости по крайней мере 50% для удобного наблюдения всего. Наоборот, если я закрылся в течение дня с, возможно, 80%-й яркостью и загружаю ее вечером, я почти ослеплен световыми сигналами...

Как я могу настроить Ubuntu для начальной загрузки с уровнем яркости в зависимости от текущего дневного времени? Я хотел бы что-то как 10%-я яркость с 22:00 до 6:00, 60%-я яркость с 10:00 до 16:00 и 30%-я промежуточная яркость. Сглаживание кривой хорошо, пока это остается легко настраивающимся. С другой стороны, если бы Вы находите способ установить его на основе локальных времен заката/восхода солнца, которые были бы большой премией.:)

Изменение яркости согласно этим правилам должно только произойти во время начальной загрузки или дополнительно когда пробуждение от приостанавливает. Это не может автоматически изменить яркость, в то время как я работаю.

8
задан 29 September 2016 в 15:31

2 ответа

Основная идея:

  1. Сохраните конфигурационный файл /opt/.time_brightness_values:

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

    Обратите внимание на заключенные в кавычки значения и запятые. Первый столбец с заключенными в кавычки значениями представляет диапазон часа в 24-часовом формате, вторая колонна является процентом. Например, если бы Вы загрузились с 5 до 7 часов, то Ваша яркость была бы установлена на 25 процентов. Если бы Вы загрузились с 8 до 16 часов, то это были бы 50 процентов.

  2. Сохраните сценарий ниже как /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. Набор greeter-setup-script=/opt/set_timed_brightness.py в /etc/lightdm/lightdm.conf файл. Выполнения сценария установки зазывалы как корень и однажды Ваша система занимаются экраном входа в систему, сценарий выполнит и установит яркость, в которой Вы нуждаетесь.

  4. До пробуждения от приостанавливают, идет, создать /etc/pm/sleep.d/set_timed_brightness.sh:

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

Помните: все стандартные правила применяются, сценарии должны быть сделаны исполняемым файлом с chmod +x, именование и вызовы в каждый файл должно быть последовательным.

4
ответ дан 23 November 2019 в 05:50

привлекательный

Привлекательный сценарий удара, работающий как deamon и спящий большую часть времени 24/7. Это автоматически корректирует яркость экрана (и дополнительно гамма также) для Вашего дисплея портативного компьютера через аппаратный интерфейс и до двух других мониторов с помощью программного управления xrandr.

В восходе солнца (время автоматически получается из Интернета каждый день), Ваша яркость экрана (и дополнительно гамма также) постепенно корректируется. Постепенная корректировка определяется Вами, но, работы 120 минут для меня. Сохранять корректировки незначимым набором интервал сна между корректировками. Где угодно между 15 и 60 секундами является, вероятно, лучшим, и значение по умолчанию равняется 60.

После того, как переход восхода солнца завершен, привлекательный демон спит много часов, пока переход восхода солнца не запускается. Я использую за 90 минут до восхода солнца, но можно установить любой период, который Вы любите.

Обратно пропорционально к переходу восхода солнца, переход заката постепенно уменьшает яркость экрана (и дополнительно гамма также), таким образом, это непримечательно.

Примечание, которое во время ночной гаммы перехода может быть определено для увеличения. Например, Красная гамма может быть определена как 1,0 в течение дня и 1.2 в течение ночи для сокращения чрезмерного напряжения зрения. Синяя гамма в свою очередь может быть определена как 1,0 в течение дня и.8 в течение ночи, таким образом, она уменьшится вместо этого.

Для сокращения ресурсов, привлекательные сны весь период между закатом и восходом солнца. В зависимости от того, где Вы живете и сезон года, средний сон составит 12 часов.

Привлекательная Установка - Главное меню

Для конфигурирования привлекательный главное меню предоставлено:

eyesome main menu.png

Конфигурация Редактирования - вкладка "Общие"

, Когда Вы нажимаете Редактирование кнопка из главного меню, вкладка "Общие" конфигурации редактирования первоначально появляется как показано ниже.

eyesome configuration general tab.png

Ваша страна/название города должна автоматически появиться. При необходимости можно переопределить его.

вкладка

Edit Configuration - Monitor 1, Нажимающая на вкладку Monitor 1 выше, покажет эту панель в моей конфигурации (Ваша может отличаться):

eyesome-edit-configuration-monitor-1.png

не укрощены этими настройками, они по большей части автоматически получены привлекательным. Необходимо будет установить дневную и ночную яркость/уровни все же.

Конфигурация Редактирования - Монитор 3 Monitor 3 Tab Нажатия Вкладки

показывает эту панель в моей конфигурации (Ваша может отличаться):

Монитор 2 Вкладки не показывают, потому что это - новое ТВ с адаптивной яркостью и Умной ОС. Это не требует никаких переопределений Привлекательным.

enter image description here

, Если после привлекательный установлен, Вы присоединяете другой монитор к своей системе, которую Вам, вероятно, придется ввести xrandr название монитора.

Привлекательная Установка - 5-секундный тест

Из главного меню можно протестировать дневную и ночную яркость и гамма настройки в течение 5 секунд путем нажатия Daytime и Ночное время кнопки соответственно. Можно изменить продолжительность теста с 5 секунд до 20 секунд из Конфигурации Редактирования - вкладка "Общие".

Вот то, на что похож 5-секундный Ночной тест:

eyesome nighttime test.gif

Необычная обработка событий

Предполагает приостановку ноутбука, когда это - утро перед работой, и экран в тусклом полном. Вы приходите домой после работы, когда солнце высоко в небе и открывает Ваш ноутбук. Экран так тускл, Вы не можете считать его.

Для обращения к этому сценарию файл управления systemd обеспечивается:

  • /etc/systemd/system-sleep/systemd-wake-eyesome файл управления называют каждый раз, когда система приостанавливает или возобновляется.
  • файл управления называет сценарий /usr/local/bin/wake-eyesome.sh удара, чтобы сбросить яркость к полному и затем спать до перехода заката.

Вы смотрите кино по своему внешнему телевизору ночью и закрываете Вашу крышку ноутбука для лучшего просмотра. Ubuntu / Lightdm / xrandr занимает несколько секунд и затем сбрасывает Ваше внешнее ТВ к полной максимальной яркости. АЙ к Вашим глазам.

Для обращения к этому сценарию acpi файл управления событием обеспечивается:

  • /etc/acpi/event/lid-event-eyesome файл управления называют каждый раз, когда крышка ноутбука открыта или закрыта.
  • файл управления называет сценарий /etc/acpi/acpi-lid-eyesome.sh удара для обработки открытия крышки и закрытия.
  • В свою очередь привлекательные вызовы сценария удара /usr/local/bin/wake-eyesome.sh для сброса яркости для просмотра nighttive и затем спит до перехода заката.

    Приостанавливают/Крышка яркость/питание завершения/Теста прочь/заменять в горячем режиме

Сводка

, Этот ответ составляет почти два года до дня после того, как вопрос был отправлен. Была ранняя версия этого ответа, удаленного в феврале 2017, который я только что восстановил после удаления и пересмотрел.

Привлекательный может быть загружен с: https://github.com/WinEunuuchs2Unix/eyesome

, Эта программа была просто выпущена в сентябре 2018 поэтому, сообщил мне, находите ли Вы какие-либо проблемы или имеете предложения для улучшения.

фаза документации только запускается, поэтому задайте любые вопросы. Ваши вопросы могут даже привести к улучшениям документации.

1
ответ дан 23 November 2019 в 05:50

Другие вопросы по тегам:

Похожие вопросы: