Яркость дисплея увеличивается при приостановке

Название говорит само за себя. Когда я блокирую, он остается прежним, но если я приостанавливаю, я бы сказал, что яркость увеличивается на 100% или не знаю, как это назвать. Если я установлю яркость на 0, я получу серый экран, если я установлю на 1, я получу экран с массивным белым оттенком.

Кстати, при загрузке он тоже отлично работает. ТОЛЬКО при приостановке он ломается

2 ответа

Я провел некоторое тестирование и обнаружил, что ответ @user1091774 частично верен. Я хотел поделиться этим в качестве комментария, но недостаточно репутации.

В Ubuntu 22.04 вам необходимо сохранить такой скрипт в/lib/systemd/system-sleep(взял эту подсказку отсюда ) и сделайте его исполняемым. Вам также необходимо изменить падежи, так как у сна будет post и pre вместо сна и оттаивания . Вам не нужно сохранять значение в переменной, достаточно просто прочитать и сохранить то же значение в файл.

Этот скрипт работает для меня:

      #!/bin/sh
# Description: Set brightness upon awakening
case "$1" in
    post)
        sleep 0.33 && cat /sys/class/backlight/nv_backlight/brightness | tee /sys/class/backlight/nv_backlight/brightness
        ;;
esac

У меня есть Dell XPS 13, у которого была эта проблема пару лет назад. Решение состояло в том, чтобы написать сценарий, который сохранял бы текущую настройку яркости во время сна или гибернации, а затем повторно применял бы эту яркость при пробуждении.

Вот как вы можете сделать то же самое:

  1. Откройте терминал (если он еще не открыт)

  2. Создайте файл в /etc/pm/sleep.dкак с помощью предпочитаемого вами текстового редактора:

            sudo vi /etc/pm/sleep.d/10_brightness_control
    
  3. Вставьте следующее:

            #!/bin/bash
    # Description: Save the brightness before sleeping and set after waking
    
    case "${1}" in
        hibernate|sleep) before_suspend=$(cat /sys/class/backlight/*/brightness)
    ;;
        resume|thaw) sleep 0.33 && echo "$before_suspend" > /sys/class/backlight/*/brightness
    ;;
    esac
    

  4. Установите файл как исполняемый:

     

Вот и все. Теперь, когда система переходит в режим гибернации или сна, уровень яркости будет зафиксирован и сохранен в $before_suspend. Когда система выйдет из этого состояния, это значение будет записано во все brightnessфайлы, которые существуют под /sys/class/backlight/*(у большинства компьютеров будет только один) через 0,33 секунды. Задержка учитывает ситуации, когда этот скрипт запускается до того, как среда рабочего стола установит свой уровень яркости. В результате у вас может быть доля секунды ослепительного света, за которой следует что-то читаемое.

Этот метод был протестирован и подтвержден для работы в Ubuntu Desktop 18.04, Ubuntu MATE 18.04, Ubuntu MATE 18.10, Ubuntu Desktop 19.10 и Ubuntu Desktop 20.04.

Примечания к 10_brightness_controlфайл:

  • имя файла может быть любым, но в идеале оно должно иметь две цифры впереди 10
  • файл должен быть в /etc/pm/sleep.d/
  • файл должен принадлежать root
            sudo chown root:root /etc/pm/sleep.d/10_brightness_control
    
  • файл должен быть исполняемым
            sudo chmod +x /etc/pm/sleep.d/10_brightness_control
    

Надеюсь, это даст вам то, что вам нужно

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