Настройка яркости в Ubuntu 14.04

в 22:45, , рубрики: Песочница, метки:

На днях мне довелось приобрести нетбук Asus x200ma. Естественно, я поставил ubuntu. Вот проблемы, с которыми мне пришлось столкнуться:

  1. Мерцающая полоска в верхнем левом углу;
  2. Не регулирующаяся яркость экрана.

С первым пунктом все было просто благодаря публикации «Ubuntu 14.04 на Asus X200MA».

А вот регулировка яркости доставила достаточно хлопот. У меня не получалось ее изменить ни через fn+f5/f6, ни в параметрах системы, ни с помощью Brightness Indicator.

На просторах интернета кто-то рассказал про acpi_listen, который поможет определить загадочные эвенты кнопок, которые в дальнейшем нужно будет прописать в некоем acpi конфиге. Но и это не помогло, так как acpi_listen наотрез отказался воспринимать нажатия кнопок fn+f5/f6. Но мысль о более тусклом экране меня не покидала и я начал искать другие решения. Ползая по просторам директории, набрел на этот файл:

/sys/class/backlight/intel_backlight/brightness

Внутри файла было только 7812. Дабы подтвердить свои догадки, решил изменить это число на меньшее, и экран наконец-то потускнел. Я мог бы остановиться и на этом, но мне было лень постоянно лезть в этот файл и менять его параметры.

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

Для удобства ввода обозвал скрипт qq.sh:

sudo nano /usr/bin/qq.sh

И тут понеслось…

#!/bin/bash
echo "Введите параметр яркости от 1 до 10"
echo -n ">> "
read X
z=10;
cd /sys/class/backlight/intel_backlight/

if [[ "$X" -eq 1 ]]
then
echo 300 > /sys/class/backlight/intel_backlight/brightness #Изменение параметра
echo "Уровень яркости экрана - 1"
fi

if [[ "$X" -eq 2 ]]
then
echo 812 > /sys/class/backlight/intel_backlight/brightness
echo "Уровень яркости экрана - 2"
fi

if [[ "$X" -eq 3 ]] 
then
echo 1200 > /sys/class/backlight/intel_backlight/brightness
echo "Уровень яркости экрана - 3"
fi

if [[ "$X" -eq 4 ]] 
then
echo 1812 > /sys/class/backlight/intel_backlight/brightness
echo "Уровень яркости экрана - 4"
fi

if [[ "$X" -eq 5 ]]
then
echo 3000 > /sys/class/backlight/intel_backlight/brightness
echo "Уровень яркости экрана - 5"
fi
if [[ "$X" -eq 6 ]] 
then
echo 4000 > /sys/class/backlight/intel_backlight/brightness
echo "Уровень яркости экрана - 6"
fi

if [[ "$X" -eq 7 ]] 
then
echo 5000 > /sys/class/backlight/intel_backlight/brightness
echo "Уровень яркости экрана - 7"
fi

if [[ "$X" -eq 8 ]] 
then
echo 6000 > /sys/class/backlight/intel_backlight/brightness
echo "Уровень яркости экрана - 8"
fi

if [[ "$X" -eq 9 ]] 
then
echo 7000 > /sys/class/backlight/intel_backlight/brightness
fi

if [[ "$X" -eq 0 ]] 
then
echo 7812 > /sys/class/backlight/intel_backlight/brightness
echo "Уровень яркости экрана - 10"
fi
if [[ "$X" -gt "$z" ]] 
then
echo "Не верное значение"
fi

Затем сделал:

sudo chmod +x /usr/bin/qq.sh

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

Открыть rc.local:

sudo nano /etc/rc.local

И дописать в конец:

sleep 40 && chmod 777 /sys/class/backlight/intel_backlight/brightness

Вот что получилось:
image

На этом я и остановился, надеюсь, что кому-нибудь пригодиться эта информация.

Буду рад услышать советы по доработке этого скрипта.

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


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