Невозможно изменить яркость в ноутбуке Lenovo

40

Клавиши регулировки яркости < Fn + / > не имеют эффекта (хотя они распознаются средой), и я не могу изменить яркость с помощью инструментов графического интерфейса. Это похоже на проблему в самой Linux, а не на окружение рабочего стола.

Я могу изменить яркость в ОС Windows, так что это не какая-то аппаратная ошибка.

Детали:
Lenovo B570 (Название модели: 20093)
Встроенная графическая карта Intel HD
Kubuntu 11.04 (Linux 2.6.38-10-generic, KDE 4.7.0), все актуальное
Нет проприетарных графических драйверов (только для Wi-Fi)

Что я пробовал:

  • Изменить /etc/default/grubGRUB_CMDLINE_LINUX_DEFAULT : acpi_osi=Linux , acpi_backlight=vendor , nomodeset . И да, я сделал update-grub
  • Изменить /etc/X11/xorg.conf (нет такого файла, даже после sudo dpkg-reconfigure xserver-xorg )
  • Изменить /proc/acpi/video/VGA/LCD/brightness (нет такого файла)
  • sudo setpci -s 00:02.0 F4.B=XX (без эффекта)
  • xbacklight -set XX (" No outputs have backlight property ")

Как я могу исправить эту проблему?

    
задан Oleh Prypin 15.08.2011 в 22:33
источник

14 ответов

10

Попробуйте это . Он работал на моем Ubuntu 14, Lenovo B570, Intel Graphics.

Откройте терминал и создайте следующий файл конфигурации, если он не существует:

sudo touch /usr/share/X11/xorg.conf.d/20-intel.conf

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

sudo gedit /usr/share/X11/xorg.conf.d/20-intel.conf

Добавьте следующие строки в этот файл:

Section "Device"
        Identifier  "card0"
        Driver      "intel"
        Option      "Backlight"  "intel_backlight"
        BusID       "PCI:0:2:0"

EndSection

Сохраните его. Выйдите из системы и войдите в систему.     

ответ дан Ignacio 18.07.2014 в 03:33
источник
32

Если инструменты GUI не работают, попробуйте использовать терминал .

  1. Откройте терминал

  2. Выполнить: ls /sys/class/backlight/*/brightness . Пример вывода:

    /sys/class/backlight/acpi_video0/brightness
    
  3. Если ничего не найдено, ядро не поддерживает управление яркостью (отсутствующие драйверы?). В противном случае вы можете использовать приведенные ниже команды (замените acpi_video0 соответственно):

    • Получить текущий уровень яркости:

      cat /sys/class/backlight/acpi_video0/brightness
      
    • Получите максимальный уровень яркости:

      cat /sys/class/backlight/acpi_video0/max_brightness
      

    Эти команды возвращают уровни яркости, которые колеблются от нуля до max_brightness (см. выше).

  4. Чтобы изменить уровень яркости, вам нужно записать число в файл brightness . Этого нельзя сделать с помощью редактора, например gedit . Предположим, вы хотите изменить яркость на 5, вам нужно запустить:

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

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

    sudo tee /sys/class/backlight/acpi_video0/brightness < /sys/class/backlight/acpi_video0/max_brightness
    
ответ дан Lekensteyn 18.08.2011 в 14:20
9
  1. Установите linux-kamal-mjgbacklight - патч для ядра Linux.

    • Проверьте, будет ли он работать для вас:
      lsmod | grep ^i915
      Должно появиться что-то вроде i915 331519 3 . Если выход отсутствует, это не сработает.
    • sudo add-apt-repository ppa:kamalmostafa/linux-kamal-mjgbacklight
    • Установить обновления ( sudo apt-get update; sudo apt-get upgrade )
  2. Reboot.

  3. Теперь вы можете использовать терминал для настройки яркости, поскольку предлагаемый Lekensteyn .
    Если это нормально, вы можете изменить яркость с помощью терминала + sudo , это конец ответа.
    Если вы работаете на рабочем столе GNOME, яркость может даже функционировать уже полностью.

  4. Загрузите мой сценарий смены яркости , разрешите его выполнить и поместите его в / usr / local / бен / :
    wget -O brightness http://ideone.com/plain/yPlo5
    chmod +x brightness
    sudo mv brightness /usr/local/bin

  5. Мы должны разрешить редактирование файла яркости, так что sudo не требуется везде.
    Кроме того, мы хотим, чтобы настройка яркости восстанавливалась до предыдущей настройки при загрузке системы (к сожалению, она не сохраняется по умолчанию).

    Указанный скрипт brightness может обрабатывать все (с параметром restore ), просто добавьте его в автозапуск.
    Для этого мы отредактируем /etc/rc.local ( sudo nano /etc/rc.local или любой редактор вместо nano).
    Добавьте следующую строку до строки exit 0 :
    /usr/local/bin/brightness restore

  6. Лучше перезагрузиться сейчас.

  7. Таким образом работает скрипт brightness . Вы можете перейти на терминал в любое время и набрать их:

    • brightness - установить текущую настройку яркости
    • brightness value - установите яркость значение
    • brightness inc step , brightness dec step - увеличение или уменьшение яркости на шаг (если это не указано, значение по умолчанию используется из файла конфигурации, обычно 10% от максимальной яркости)
  8. Теперь вам может потребоваться сопоставить изменение яркости с вашими горячими клавишами.

    • Установите XF86BrightnessUp на brightness inc
    • Установите XF86BrightnessDown на brightness dec
  9. Если вы хотите что-то изменить, обязательно посмотрите /etc/bx_brightness.conf
    Вы можете изменить шаг изменения яркости с помощью brightness inc / dec

Благодаря Toz за бесценную помощь в этот поток .

    
ответ дан Oleh Prypin 21.08.2011 в 15:29
4

Я думаю, что я нашел легкий и наименее влияющий на способ существовавших вещей для настройки intel_backlight с использованием правил udev.

Я заметил «изменение» действия подсистемы «подсветки», когда я нажимаю Fn + Вверх / Вниз на моем ноутбуке Lenovo G360 с ядром 3.2. Поэтому я написал правила /etc/udev/rules.d/99-writeintelbacklight.rules , как показано ниже:

ACTION=="change", SUBSYSTEM=="backlight", RUN+="/usr/sbin/writeintelbacklight.sh"

Сделать сценарий оболочки /usr/sbin/writeintelbacklight.sh содержать:

#!/bin/bash

intelmaxbrightness='cat /sys/class/backlight/intel_backlight/max_brightness'
acpimaxbrightness='cat /sys/class/backlight/acpi_video0/max_brightness'
scale='expr $intelmaxbrightness / $acpimaxbrightness'
acpibrightness='cat /sys/class/backlight/acpi_video0/brightness'
newintelbrightness='expr $acpibrightness \* $scale'
curintelbrightness='cat /sys/class/backlight/intel_backlight/actual_brightness'
if [ "$newintelbrightness" -ne "$curintelbrightness" ]
then
  echo $newintelbrightness > /sys/class/backlight/intel_backlight/brightness
fi
exit 0

Конечно, вам нужно сделать sudo chmod +x /usr/sbin/writeintelbacklight.sh .

    
ответ дан littlebat 08.06.2012 в 08:00
4

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

Я попробовал несколько из этих решений, но ничего не работал для меня, пока не нашел эту маленькую программу индикаторов Ссылка . С его помощью вы можете настроить горячие клавиши для управления яркостью, использовать колесико мыши или выбрать из выпадающего списка в индикаторе. Я заменил «Fn» на «Win + Alt», который очень похож на мои руки, и теперь я также могу использовать его с внешней клавиатурой!

Чтобы добавить PPA и установить:

sudo add-apt-repository ppa:indicator-brightness/ppa
sudo apt-get update && sudo apt-get install indicator-brightness

Горячие клавиши должны быть назначены:

/opt/extras.ubuntu.com/indicator-brightness/indicator-brightness-adjust --up

и

/opt/extras.ubuntu.com/indicator-brightness/indicator-brightness-adjust --down

Сноска: из коробки индикатор яркости распознает 7 уровней яркости в моей системе. Добавив acpi_backlight=vendor к строке GRUB_CMDLINE_LINUX_DEFAULT в /etc/default/grub , это число сбивается до 16!

    
ответ дан joelostblom 21.04.2014 в 04:55
4

У меня есть lenovo ideapad z400.

Я пробовал все перечисленные выше TIPS, не добился успеха.

Итак, я нашел отличный, который работал очень хорошо:

Поместите следующую строку в / etc / default / grub

GRUB_CMDLINE_LINUX="acpi_backlight=vendor acpi_osi=Linux resume=/dev/sdYY"

YY = область подкачки, используйте swapon -s, чтобы увидеть, как вы меняете устройство.

Выполнить обновление-grub как root

После перезагрузки проблема была решена.

    
ответ дан Douglas Mugnos 17.08.2015 в 16:44
2

У меня есть Thinkpad T450 с графикой Nvidia и бинарными драйверами на Ubuntu 14.04. Чтобы получить работу подсветки, мне пришлось отредактировать файл /etc/X11/xorg.conf, добавив следующую строку в определение устройства intel (файл xorg.conf создается при установке двоичных драйверов):

Option      "Backlight"  "intel_backlight"

Теперь полный раздел:

Section "Device"
    Identifier "intel"
    Driver "intel"
    BusID "PCI:[email protected]:2:0"
    Option "Backlight" "intel_backlight"
    Option "AccelMethod" "SNA"
EndSection
    
ответ дан Tor Berg 05.02.2016 в 09:46
1

Это не работает для пользователей KDE, как написано в Ссылка

NOTES FOR KDE DESKTOP USERS

KDE desktop users: This PPA may NOT fix your backlight control hotkeys: This fix requires a kernel module to supply the new /sys/class/backlight/intel_backlight interface (which will work regardless of your desktop) and also a desktop module to access that interface. For Gnome, the updated gnome-power-manager in this PPA supplies that, but the equivalent for KDE has not yet been developed."

Однако вы можете попробовать обходное решение, найденное .

Это говорит о типе в терминале echo XXX | sudo tee /sys/class/backlight/intel_backlight/brightness , где XXX - целочисленное значение.

В моем случае XXX может быть значением от 0 до 4882, но будьте осторожны: если вы напишете 0, экран будет полностью черным, и вы ничего не увидите.

    
ответ дан Álvaro 21.11.2011 в 19:37
1

Вот патч, который вы можете сделать.

Создайте этот скрипт с именем .modificarBrillo.sh (в моем случае я создал его в своей домашней папке: ~ / .modificarBrillo.sh)

#!/bin/bash
if [ -z "$1" ]; then
    echo "ERROR: Tiene que introducir un parámetro: \"a\" para aumentar o \"d\" para disminuir"
    exit
else
    if [ "$1" != "a" ] && [ "$1" != "d" ]; then
        echo "ERROR: el parámetro de entrada sólo puede ser o \"a\" para aumentar el brillo o \"d\" para disminuirlo"
        exit
    fi
fi
MAX_BRILLO='cat /sys/class/backlight/intel_backlight/max_brightness'
MIN_BRILLO_ABSOLUTO="0"
MIN_BRILLO="100" #el brillo mínimo puede ser 0 pero eso deja la pantalla completamente a oscuras
INTERVALO='expr $MAX_BRILLO - $MIN_BRILLO_ABSOLUTO'
INTERVALO='expr $INTERVALO / 10'
brillo='cat /sys/class/backlight/intel_backlight/actual_brightness'
if [ "$1" = "a" ]; then
    let "brillo = brillo + INTERVALO"
    if [ "$brillo" -gt "$MAX_BRILLO" ]; then
    let "brillo = MAX_BRILLO"
    fi
else
    let "brillo = brillo - INTERVALO"
        if [ "$brillo" -lt "$MIN_BRILLO" ]; then
            let "brillo = MIN_BRILLO"
        fi
fi
echo "$brillo" | tee /sys/class/backlight/intel_backlight/brightness

Однако, поскольку предыдущий скрипт нуждается в разрешении на выполнение, а / sys / class / backlight / intel_backlight / яркость может быть отредактирована только root, и вы должны выполнить в терминале:

chmod a+x ~/.modificarBrillo.sh
sudo chmod a+w /sys/class/backlight/intel_backlight/brightness'

Последняя команда должна выполняться при каждом запуске, так как разрешения файла яркости обновляются при запуске. Для этого sudo vim /etc/rc.local и добавьте команду sudo chmod a+w /sys/class/backlight/intel_backlight/brightness до строки «exit 0»

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

В моем случае я добавляю строки в файл конфигурации ~ / .xbindkeysrc

#Aumentar brillo
"/home/alvaro/.modificarBrillo.sh a"
    m:0x0 + c:233
    XF86MonBrightnessUp 

#Disminuir brillo
"/home/alvaro/.modificarBrillo.sh d"
   XF86MonBrightnessDown

Но вы также можете установить программу xbindkeys-config для графического выполнения процесса.

    
ответ дан Álvaro 24.11.2011 в 14:15
1

Отредактируйте файл /etc/default/grub и добавьте pcie_aspm=force acpi_backlight=vendor после того, как GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

Тогда вся строка будет выглядеть так:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pcie_aspm=force acpi_backlight=vendor"

Подробнее см. эту ссылку .

    
ответ дан chirag Hz 13.02.2015 в 21:18
1

У меня была такая же проблема, я использую Gnome3.10 в ubuntu 14.04 (Unity). Я установил tlp для контроля температуры в своем ноутбуке. Я просто удалил «tlp», и я перезагрузил свою систему, и я могу настроить яркость экрана с помощью кнопок функций (fn) +.

Это может помочь проверить его один раз.

    
ответ дан Cool Tiger 24.11.2015 в 07:39
1

Была такая же проблема (по-видимому) с Lenovo IP G50-70. - На самом деле ни одна из функциональных клавиш «не появилась» для работы. В конечном итоге в Bios я нашел функцию включения / выключения «горячих клавиш». Парадоксально, но это было «Включено», но на самом деле это позволяет выполнять одно нажатие клавиши для функциональных клавиш. Фактически, если вы используете традиционную технику «Fn + Function KeyX», они не работают.

Если вы отключите функцию горячих клавиш в Bios, функциональные клавиши работают «как ожидалось» (Fn + Function Keyx). - После этого все функциональные клавиши работали нормально. Так много для прогресса

    
ответ дан an_other 27.01.2016 в 19:03
1

Мне пришлось добавить эти строки в grub:

acpi_backlight=vendor acpi_osi=linux thinkpad-acpi.brightness_enable=1

Обратите внимание, что последний. Именно это заставило клавиши яркости работать.

    
ответ дан Charles Goodwin 06.07.2016 в 12:54
-1

Вы можете использовать этот пакет для работы с яркостью из командной строки (терминала) с помощью xbacklight .

xbacklight может быть установленных в Центре программного обеспечения. Или в терминале:

sudo apt-get update && sudo apt-get install xbacklight

вы можете использовать

  • xbacklight -inc <range from 0 to 100> для увеличения яркости со значением < ... >

  • xbacklight -dec <range from 0 to 100> для уменьшения яркости со значением < ... >

ответ дан Mohamed Hassan 16.01.2012 в 23:55