Как установить яркость дисплея по умолчанию?

Можно ли установить яркость дисплея по умолчанию, чтобы вам не приходилось настраивать ее каждый раз при перезагрузке? Дисплей моего ноутбука уже убивает меня взглядом на экране входа в систему, потому что он каждый раз запускается с яркостью 100%.

6 ответов

Обзор решений и предложение (надеюсь) лучшего

Предыдущие решения

/sys/на основе: хорошо для консоли

@gan

Это работает echo 5 > /sys/class/backlight/acpi_video0/brightness но не очень хорошо работает с X. Более конкретно, X не знает о ваших предпочтительных настройках, и вам может понадобиться снова установить яркость вручную хотя бы один раз, аналогично ошибке # 1042359.

setpciна основе: системно-зависимый, опасный

@erickjohncuevas

Решения, основанные на таких вещах, как setpci -s 01:00.0 F4.B=50 опасны Там, 01:00.0 на самом деле это идентификатор, предназначенный для конкретной платы на шине PCI. И это зависит от системы. Это означает, что слепое следование этому может записывать регистры конфигурации на некоторых других платах, где это может означать что угодно, от просто ничего до сбоя системы в какой-то момент в будущем. Во всяком случае, это не очень хорошо с X тоже.


Предложенное решение

Преимущества / недостатки

Решение ниже имеет следующие преимущества:

  • хорошо играет с X, который полностью осведомлен о выбранных настройках
  • является более читабельным, таким образом, ремонтопригодным
  • не содержит системно-зависимый адрес и т. д., и в результате может работать на более широком диапазоне аппаратного обеспечения (например, если ядро ​​не знает о подсветке или даже не использует видеоплату на основе PCI, подумайте Ubuntu для ARM)

Предполагается: Ubuntu использует lightdm (то есть 11.10 и выше)

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

Решение

Копирование-вставка этих команд должно делать то, что вам нужно (sudo вероятно, спросит ваш пароль).

  1. устанавливать xbacklight если он еще не установлен (это небольшой пакет).

    sudo apt-get install xbacklight
    

    Вы должны проверить xbacklight в командной строке, чтобы увидеть, если это работает. Например:

    xbacklight = 100 ; sleep 2 ; xbacklight = 30
    

    Попробуйте найти подходящее значение для вашего оборудования и условий освещения.

  2. Создать небольшой скрипт xbacklight,
    Вы можете изменить =30 в другое значение, если хотите.
    || true гарантирует, что если xbacklight не удается по любой причине, X все еще может начать.

    sudo bash -c '{
        echo "#!/bin/bash"
        echo "xbacklight =30 || true"
    } >> /etc/lightdm/display-setup-script.sh '
    
  3. Сделайте скрипт исполняемым

    sudo chmod a+rx /etc/lightdm/display-setup-script.sh
    
  4. инструктировать lightdm запустить скрипт при запуске X.
    В частности, это добавляет строку display-setup-script в файл конфигурации lightdm, но только если его еще нет.

    if grep -ri ^display-setup-script /etc/lightdm/
    then 
      echo "There may be already a display-setup-script. It may already do what you need. Else please adjust manually" ; 
    else 
      if [[ -d /etc/lightdm/lightdm.conf.d ]]
      then
        # Ubuntu 13.10 and above have lightdm.conf.d. 14.04 *only* has lightdm.conf.d.
        DEST_CONF_FILE=/etc/lightdm/lightdm.conf.d/20-default-brightness.conf
      else
        # Ubuntu 12.04, 12.10, 14.10 do not have lightdm.conf.d, so we change main configuration file
        DEST_CONF_FILE=/etc/lightdm/lightdm.conf
      fi
      echo "Writing into $DEST_CONF_FILE"
      sudo bash -c "{ 
          echo '[SeatDefaults]' ; 
          echo display-setup-script=/etc/lightdm/display-setup-script.sh ; 
      } >> $DEST_CONF_FILE" ; 
    fi
    

Может быть проверен путем перезапуска lightdm из корневого сеанса на консоли. Или, проще говоря, перезагрузкой.

Проверено на Ubuntu 12.04, 12.10, 13.10, 14.04, 14.10, 16.04.

Пожалуйста, оставьте отзыв о вашем опыте.

источник

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

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

Теперь иди в /sys/class/backlight/<folder> (моя папка intel_backlight)

снимок экрана папки

В этой папке вы можете увидеть actual_brightness файл и max_brightness файл. (Если вы сделали какие-либо изменения в яркости после открытия этого файла, не забудьте обновить (используя Ctrl+R или F5), чтобы увидеть текущие текущие настройки.)

Теперь нам нужно то же значение, что и в яркости, каждый раз, когда мы запускаем нашу систему. Это можно сделать, каждый раз меняя значение в этой папке при запуске. Нам нужно изменить файл rc.local.

Сначала введите эти команды в терминале (который можно открыть, выполнив поиск терминала в тире или нажав Ctrl+Alt+T):

sudo -i
gedit /etc/rc.local

и добавьте строку

echo 900 > /sys/class/backlight/intel_backlight/brightness

Замените 900 на любое нужное вам значение (то есть значение, полученное в результате вышеописанной процедуры). Также замените intel_backlight с именем папки из /sys/class/backlight/,

Например, мой /etc/rc.local:

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
rfkill block bluetooth
echo 900 > /sys/class/backlight/intel_backlight/brightness

exit 0

В сторону я добавил строку rfkill block bluetooth в мой файл rc.local, так как я вообще не использую Bluetooth, но Ubuntu запускает Bluetooth каждый раз, когда перезагружается (даже если Bluetooth был отключен раньше). Вы также можете добавить его, и на всякий случай, если вы хотите использовать Bluetooth, вы всегда можете запустить его снова, даже если эта строка находится в вашем rc.local).

Не меняйте значение exit 0 в финале. Если эта строка не существует, добавьте ее.

Теперь, даже если вы перезапустили систему, вы получите то же значение, что и вам.

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

Это не по умолчанию. Всякий раз, когда я перезагружаюсь, моя яркость установлена ​​на 100%. Затем я установил яркость с помощью команды:

$ echo 5 | sudo tee /sys/class/backlight/acpi_video0/brightness

После того, как вы установили предпочитаемую яркость, вы можете следить за ответом N0rbert здесь: Яркость сбрасывается до Максимума при каждом перезапуске. В итоге:

sudo add-apt-repository ppa:nrbrtx/sysvinit-backlight
sudo apt-get update
sudo apt-get install sysvinit-backlight

sudo service sysvinit-backlight status # Show current brightness levels and values saved in files
sudo service sysvinit-backlight start # Set saved levels from files
sudo service sysvinit-backlight stop # Save current levels to files

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

Установить:

sudo apt-get install redshift

Мой конфигурационный файл (~/.config/redshift.conf):

[redshift]
;temp-day=5700
;temp-night=4600
brightness-day=1.0
brightness-night=0.75
gamma=0.8
adjustment-method=vidmode
location-provider=manual

[manual]
lat=63.81415
lon=20.41742

Если вы измените яркость день и яркость на значение, которое вам нравится, и установите для параметра день / день и ночь одинаковое значение, вы будете эффективно использовать красное смещение, чтобы установить только свою яркость.

Делать redshift автозапуск при входе в систему, выберите Приложения / Системные инструменты / Предпочтения / Запуск приложений / Добавить. Название: красное смещение. Команда: / usr / bin / redshift.

Это должно сделать трюк:

System settings -> Screen -> Brightness

Используйте ползунок, чтобы изменить настройки по умолчанию.

введите описание здесь

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