Изменение яркости при запуске

Мой Lenovo T440s запускается с максимальной яркостью. Следуя этой теме , я попытался изменить rc.local, но это не работает.

Когда я выполняю команду cat /sys/class/backlight/acpi_video0/brightness, я получаю вывод 851. Затем я вручную уменьшаю яркость с помощью горячих клавиш и снова выполняю команду - она ​​ все еще показывает 851.

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

Есть ли что-нибудь еще, что я могу попробовать?


Вот это grub content

# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'

GRUB_DEFAULT="0"
GRUB_HIDDEN_TIMEOUT="0"
GRUB_HIDDEN_TIMEOUT_QUIET="true"
GRUB_TIMEOUT="2"
GRUB_DISTRIBUTOR="`lsb_release -i -s 2> /dev/null || echo Debian`"
#GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_backlight=vendor"
GRUB_CMDLINE_LINUX=""

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL="console"

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE="640x480"

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID="true"

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"

GRUB_DISABLE_OS_PROBER="true"

Здесь это rc.local content

#!/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.

#echo 2 > /sys/class/backlight/acpi_video0/brightness
#echo 2 > /sys/class/backlight/intel_backlight/brightness

#xrandr --output eDP1 --brightness 0.3
rfkill block bluetooth
#echo 3 > /sys/class/backlight/thinkpad_screen/brightness
exit 0
8
задан 13 April 2017 в 15:24

6 ответов

Вы пытались использовать какое-то программное обеспечение, чтобы избежать ручного обращения с файловой системой sys? Я предлагаю использовать xbacklight.

xbacklight -set 10

Эта команда установит яркость экрана на 10%. Вы можете добавить это в свой rc.local.

Редактировать : Если описанная выше процедура не работает, могут возникнуть некоторые проблемы между ядром и bios acpi. Отредактируйте файл: /boot/grub/menu.lst

Добавьте следующие параметры в конфигурацию по умолчанию: thinkpad-acpi.brightness_enable=1 acpi_backlight=vendor

Строка по умолчанию должна выглядеть примерно так:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash thinkpad-acpi.brightness_enable=1 acpi_backlight=vendor"

Сохранить модифицированный файл и запустите:

sudo update-grub

Перезагрузитесь и проверьте, работает ли xbacklight

0
ответ дан 13 April 2017 в 15:24

Если вы используете Gnome 3 или Unity -

Извлеките главную ветку из https://github.com/ishanthilina/setBrightness .

Если вы используете Gnome 2 -

Извлеките ветку Gnome2 из https://github.com/ishanthilina/setBrightness .

Это скрипт на python, решающий вашу проблему.

Команда для запуска приложений: «python ////setBrightness.py < Уровень яркости> ».

Примером может служить python /home/ishan/.setBrightness/setBrightness.py 20. Если вы не укажете уровень яркости, сценарий изменит уровень яркости в зависимости от времени суток. Если это между 7:00 и 20:00, сценарий установит яркость на 75.

Если это между 8:00 и 7:00, сценарий установит яркость на 20. Вы можете редактировать эти уровни яркости, изменив переменные day_level и night_level соответственно.

источник

0
ответ дан 13 April 2017 в 15:24

Судя по формулировке вашего вопроса, вы пытались управлять яркостью только с помощью /sys/class/backlight/acpi_video0/brightness, но, возможно, в вашей файловой системе /sys/ есть и другие псевдофайлы, управляющие яркостью. См. Мой ответ здесь , который я суммирую ниже:

  1. Run

    tail /sys/class/backlight/*/brightness
    

    выведет что-то вроде

    ==> /sys/class/backlight/acpi_video0/brightness <==
    7
    
    ==> /sys/class/backlight/radeon_bl/brightness <==
    255
    
    ==> /sys/class/backlight/toshiba/brightness <==
    -5
    
  2. Теперь уменьшите или увеличьте уровень яркости, как вы это обычно делаете, и после этого запустите снова: tail /sys/class/backlight/*/brightness, выведет новые значения, например:

    ==> /sys/class/backlight/acpi_video0/brightness <==
    6
    
    ==> /sys/class/backlight/radeon_bl/brightness <==
    255
    
    ==> /sys/class/backlight/toshiba/brightness <==
    -5
    
  3. Файл, для которого после регулировки яркости изменяется вычисляемое число в приведенном выше выводе, является файлом, который контролирует вашу яркость, поэтому вам придется использовать его.

0
ответ дан 13 April 2017 в 15:24

Это, очевидно, проблема совместимости ядра с некоторыми аппаратными средствами , и я просто хочу, чтобы вы попробовали этот обходной путь:

  1. Резервное копирование и открытие grub файл. Откройте терминал ( Ctrl + Alt + T ) и введите:

    sudo cp /etc/default/grub /etc/default/grub.bak
    sudo gedit /etc/default/grub
    
  2. . найдите эту строку в новом открытом окне: GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

    Измените ее на:

    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_backlight=vendor"
    
  3. Сохраните и закройте окно и обновите свой grub:

    sudo update-grub
    
  4. Перезагрузите систему:

    sudo reboot
    

, если описанная выше процедура не работает, повторите тот же шаг, но на этот раз попробуйте изменить строка в шаг 2 с этим:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pcie_aspm=force"

Ответить, если что-то идет не так. Если это не работает, отредактируйте ваш вопрос и вставьте содержимое файла grub : cat /etc/default/grub

0
ответ дан 13 April 2017 в 15:24

Затем я вручную уменьшаю яркость с помощью горячих клавиш и снова выполняю команду ...

Поскольку вы можете уменьшить яркость, используя Hokeys, следующий метод dbus или xdotool должен работать

xbacklight

$ xbacklight +30% # increases brightness by 30 percent
$ xbacklight -30% # decreases brightness by 30 percent

dbus way

$ dbus-send --session --print-reply \
      --dest="org.gnome.SettingsDaemon" \
      /org/gnome/SettingsDaemon/Power \
      org.gnome.SettingsDaemon.Power.Screen.SetPercentage \
      uint32:<percentage>
Пример

Установите яркость 30%:

$ dbus-send --session --print-reply \
      --dest="org.gnome.SettingsDaemon" \
      /org/gnome/SettingsDaemon/Power \
      org.gnome.SettingsDaemon.Power.Screen.SetPercentage \
      uint32:30 

Или
Для уменьшения яркости на шаг (~ 7)

$ dbus-send --session --print-reply \
      --dest="org.gnome.SettingsDaemon" \
      /org/gnome/SettingsDaemon/Power \
      org.gnome.SettingsDaemon.Power.Screen.StepDown

Для увеличения яркости на step (~ 7)

$ dbus-send --session --print-reply \
      --dest="org.gnome.SettingsDaemon" \
      /org/gnome/SettingsDaemon/Power \
      org.gnome.SettingsDaemon.Power.Screen.StepUp

Если говорится следующее, ваша ОС может быть слишком старой. Затем используйте xdotool:

Error org.freedesktop.DBus.Error.UnknownMethod: 
Method "SetPercentage" with signature "u" on interface 
"org.gnome.SettingsDaemon.Power.Screen" doesn't exist

xdotool

  • Увеличьте яркость:

    $ xdotool key XF86MonBrightnessUp
    
  • Уменьшите яркость:

    $ xdotool key XF86MonBrightnessDown
    

После успешно протестированного муравья вышеуказанного метода вы можете добавить его в /etc/rc.local

Программным способом
Если Вы не можете использовать любой из следующих методов, чтобы отрегулировать яркость задней части вашего оборудования, а затем отрегулировать программную яркость вашего дисплея.
xrandr --output OUTPUT --brightness VALUE
Например,
xrandr --output LVDS1 --brightness 0.9
Вы можете найти подключенные дисплеи, используя xrandr | grep connected

0
ответ дан 13 April 2017 в 15:24

У меня была похожая проблема на моем t430s после того, как я обновил OpenSuse 12.3 (ядро 3.7) до 13.1 (ядро 3.11). При загрузке дисплей всегда был на максимальной яркости, но меня больше беспокоило то, что функциональные клавиши яркости (обычно) не работают. Xbacklight будет (обычно) работать, но не всегда. Если бы я изменил яркость на 80 с помощью xbacklight, это бы сработало. Если бы я изменил его на 70, ничего бы не случилось, пока я не нажму функциональную клавишу уменьшения яркости. Тогда это снизится до (около?) 70%. Это было действительно странно.

По несвязанным причинам я перешел на Mint 16 Cinnamon, прежде чем нашел решение. Функциональные клавиши теперь работают нормально, поэтому я не стал вдаваться в подробности. (Я НЕ предлагаю переключение дистрибутивов в качестве решения, кстати!) Прежде чем я переключился, вот что я узнал:

Я прочитал (где-то ??), что ядра 3.8 + обращаются к аппаратной тенденции, связанной с Windows 8 : Win8 требует аппаратного обеспечения, чтобы сообщить 101 уровень яркости; t430 поддерживает только 16. Я предполагаю, что ядро ​​«запрашивает» аппаратное обеспечение, которое «думает» в 1/16 об изменении яркости в 1/101! (Пожалуйста, не цитируйте меня об этом.)

Вместо использования acpi_backlight=vendor в / etc / default / grub, вы можете попробовать acpi_backlight="!Windows 2012" - то есть сказать: «Я не использую Windows 8!» Некоторые из пользователей OpenSuse имели успех с этим, хотя никто из них не использовал Thinkpad. Дайте ему шанс.

0
ответ дан 13 April 2017 в 15:24

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

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