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

8

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

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

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

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


Вот содержание личинки

# 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содержание

#!/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
BillyJean
источник
попробуй мой ответ, парень, это сработает
nux

Ответы:

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

Swordfish90
источник
Я пробовал эту команду в терминале, и она вообще не меняла подсветку (пробовал много значений, 10, 40, ...). Я также добавил его rc.local, но ничего не изменил после перезагрузки.
BillyJean
Кажется, что-то «блокирует» меня от изменения с помощью команды
BillyJean
Отредактировал ответ, проверьте, решает ли это вашу проблему ...
Swordfish90
У меня нет файла с именем menu.lstв/boot/grub
BillyJean
1
Извините за поздний ответ ... Во всяком случае, по некоторым причинам я думал, что вы используете LST-версию Ubuntu. В последней версии этот файл был перемещен (из-за перехода на GRUB2) в «/ etc / default / grub» ... Вы можете безопасно удалить файл, который вы уже создали. Система будет игнорировать это.
Рыба-меч90
1

Если вы используете 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 утра и 8 вечера, сценарий сделает яркость 75.

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

источник

Maythux
источник
1

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

  1. Запустить

    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. Файл, для которого вычисляемое число в вышеприведенном выводе изменяется после регулировки яркости, является файлом, который контролирует вашу яркость, поэтому вам придется использовать его.

сокольничий
источник
Это полезно! Строка , которая изменяет это /sys/class/backlight/thinkpad_screen/brightness. Как минимум, он отображает 3, как максимум, он отображает 5. Когда я вручную изменяю яркость с помощью горячих клавиш, длина полосы яркости также изменяется только один раз, хотя физическая яркость изменяется на 10 уровней?
BillyJean
1
@BillyJean Тогда тебе просто нужно использовать это rc.local. Вы можете следовать моему связанному ответу для инструкций со всем процессом. Я не знаю, как отображается графическая обратная связь для изменения яркости, это может быть ошибкой. Вы можете echoразрешить значения для этого псевдофайла и посмотреть, как изменяется яркость (просто не отображайте значение выше максимального или ниже 0, но даже если вы сделаете это, я думаю, что это не вызовет никаких проблем.), Это также написано в моем другом ответе.
сокольничий
Просто попытался добавить echo 3 > /sys/class/backlight/thinkpad_screen/brightnessв мой rc.local-файл, но после перезагрузки ничего не изменилось ... при запуске sudo bash -c "echo 3 > /sys/class/backlight/thinkpad_screen/brightness"ничего не происходит. Может быть, есть связь между этими двумя наблюдениями?
BillyJean
@BillyJean Странно, что яркость не изменится. Скажем, что вы увеличиваете яркость до максимума, так что cat /sys/class/backlight/thinkpad_screen/brightnessсообщите 5. Теперь вы делаете sudo bash -c "echo 3 > /sys/class/backlight/thinkpad_screen/brightness". Ничего не меняется? Запустите снова cat /sys/class/backlight/thinkpad_screen/brightness, он по-прежнему сообщает 5 или он изменился на 3?
сокольничий
1
@BillyJean Странно.
сокольничий
0

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

  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

Саурав Кумар
источник
Спасибо, это не сработало. Вставил содержимое моего файла grub в OP
BillyJean
@BillyJean: я не вижу никакой разницы. Ваш файл grub - это то, что и ожидалось. Вы пробовали второй вариант, я заменяю строку GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pcie_aspm=force"? Просто для подтверждения .. Я также хочу, чтобы вы выполнили эту команду после sudo update-grubкоманды: sudo update-initramfs -uи перезагрузите систему. Ответить, что происходит ..
Саурав Кумар
Да я тоже пробовал GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pcie_aspm=force". Также попытался запустить sudo update-initramfs -uпосле sudo update-grub, но все еще ничего после перезагрузки
BillyJean
1
@BillyJean: Я бы хотел, чтобы кто-нибудь сообразил и решил вашу проблему. В свободное время вы можете перейти по этой ссылке . Надеюсь, это сработает для вас ..
Саурав Кумар
0

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

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

xbacklight

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

Dbus путь

$ 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

Увеличить яркость на шаг (~ 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

Тотти
источник
Пробовал первую команду, она дает мне method return sender=:1.7 -> dest=:1.137 reply_serial=2 uint32 100, больше ничего не происходит
BillyJean
Ожидаемый результатmethod return sender=:1.6 -> dest=:1.111 reply_serial=2 uint32 30
всего
Но яркость не изменилась, это только дает мне этот вывод
BillyJean
Ваше последнее предложение с xrandrработами. Например, использование 0,6 снижает его, а 1,0 увеличивает его. Но если я использую 0,5, а затем хочу увеличить его до максимума с помощью горячих клавиш, то он останавливается на ок. 0.8. Таким образом, есть еще фундаментальная проблема, но по крайней мере что-то работает сейчас
BillyJean
Где я должен добавить команду для выполнения при запуске? Я пытался с /etc/rc.local, но это не меняет яркость при запуске
BillyJean
0

У меня была похожая проблема на моем 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. Дать ему шанс.

Шейн Стейнфельд
источник
@BillyJean - Ааа - вам, вероятно, придется избегать кавычек вокруг "! Windows2012" или использовать вместо них одинарные кавычки. (Я н / с!) GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_backlight=\"!Windows2012\""
Шейн Стейнфельд
Спасибо за предложение. Я опробовал оба варианта (с / без кавычек), но, к сожалению, не сработало. Должен был пойти с Mac ... :)
BillyJean