Ложка дегтя в бочке меда Linux Mint: или как я яркость поборол

в 11:05, , рубрики: linux, mint, изменение яркости

Доброго времени суток читатели!

На хабре было много обзоров и статей с впечатлениями от перехода на ОС Linux, в которых раскрывались все плюсы и минусы, мнения и решения некоторых проблем при работе с данной ОС. Не оказался исключением и я. О том, как я перешел на Linux Mint и о том, как решал проблему с яркостью подсветки, читайте под катом.

В жизни каждого айтишника порой наступает момент, когда он решает попробовать что-то новое и, собравшись с волей, сделав бэкап всего важного, записывает на болванку или флешку образ с так долго отобранным дистрибутивом (в моем случае я выбрал Linux Mint 17 x64 Cinnamon) Linux. И с ожиданием чуда загружается с нее.

Не буду описывать процесс установки, он и так везде описан по несколько раз. Скажу лишь что установка, на удивление прошла безболезненно. После перезагрузок меня встретил экран приветствия с приглашением ввода ввести логин и пароль пользователя, что я незамедлительно и проделал. После входа меня встретил приятных тонов рабочий стол и на мгновенье мне показалось, что я им пользовался сто лет! Все такое родное и понятное, что заставляет забыть о существовании Windows.

Первое впечатление оказалось весьма позитивными, я потихоньку начал осваивать новую для меня ОС. Прочитал руководство, заглянул на тематический форум, начал исследовать систему. На хабре были обзоры этого дистрибутива и у меня было представление о ней. Все компоненты ноутбука заработали с первого раза, wifi, bluetooth, веб-камера, даже USB-модем без установки драйверов сразу же определился системой, и после простых действий по указанию точки доступа заработал в полной мере.

Понравилась идея репозиториев, Менеджер программ с тысячами программ в одном месте. Так я начал осваиваться. Первым делом поставил нужное ПО, чтобы не было скучно; я включил музыку в плейере (кстати, Audacious заменил мне AIMP) и в какой-то момент захотел увеличить громкость. Нажал заветную комбинацию Fn+курсор вправо и задел пальцем клавишу курсор вниз, то есть понижение яркости. На мое удивление, это не оказало никакого эффекта на уровень подсветки. Я попробовал еще раз, индикатор показал изменение, но яркость не поменялась.

Начал гуглить это явление. Из результатов поиска понял, что не у меня одного не меняется яркость и стал искать решение. К слову, конфигурацию ноутбука Lenovo B570e с процессором Core i5 2450m/ 4Gb RAM/ 500Gb HDD/ Intel HD Graphics 3000. Как оказалось, другие модели ноутбуков данного и других производителей также имеют проблему с регулированием яркости подсветки. Первым решением, которое я испробовал, было редактирование файла загрузчика grub. Выполнялось это таким порядком действий:

В терминале набирал команду:

sudo gedit /etc/default/grub

И в открывшемся окне текстового редактора нашел две строчки и привел их в такой вид:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_backlight=vendor"
GRUB_CMDLINE_LINUX="acpi_osi=Linux"

Сохранил произведенные мною изменения и выполнил обновление загрузчика:

sudo update-grub

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

Вторым методом я испробовал следующую команду в терминале:

sudo setpci -s 00:02.0 F4.B=xx

Где хх является значение от нуля до 100. На эту команду ноутбук не среагировал никак.

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

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX="acpi_backlight=vendor"

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

Вторым решением, которое нашлось на просторах интернета, было следующее.

В домашнем каталоге нужно было создать файл, с любым именем, но с форматом *.sh и внутри его прописать следующие значения:

#!/bin/bash
sudo echo -n 0 >/sys/class/backlight/acpi_video1/brightness 

Где 0 - яркость, а /sys/class/backlight/acpi_video1/brightness - путь к файлу, в котором сохраняется текущее значение яркости из параметров системы. После сохранения файла нужно было настроить его права доступа таким образом:

chmod +x ~/bin/brightness.sh

И запускать данный скрипт из терминала:

sudo sh ~/bin/brightness.sh

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

Запустить терминал и выполнить следующую команду:

ls /sys/class/backlight/

В результате мы увидим такой вывод команды:

kibis@kibis-Lenovo-B570e ~ $ ls /sys/class/backlight/
acpi_video0  intel_backlight

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

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

Сохраняем. Перезагружаем. И — вуаля! В результате клавиши управления яркостью подсветки работают, индикатор уровня яркости отображается.

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

Автор:

Источник

  1. Vyacheslav:

    Спасибо большое, всё получилось!

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js