Простое решение проблемы с подсветкой экрана нетбука Samsung n143

…или xrandr — великая вещь.

Нетбук Samsung n143 (как я понимаю — аналогичный по начинке и всему прочему Samsung n150) считают бюджетной и дешевой моделью, но меня он вполне устраивает. Экономичный, легкий, хорошо сбалансированный по фичам. К тому же — матовые поверхности крышки и корпуса. Как мобильная рабочая система — самое то.

Однако есть мелочь, которая портит все впечатление — под линуксом не работают клавиши управления подсветкой. То есть они работают, но не из коробки. Обычно предлагают решение в виде инсталяции пакетов samsung-tools и samsung-backlight — но, как на мой вкус, это не самый лучший путь. Во-первых, у меня стоит CrunchBang в debian-инкарнации, соответственно нужно предпринять множество нетривиальных шагов по подключению репа из launchpad’а (я поступаю проще — скачиваю пакет напрямую и втыкаю его в систему при помощи dpkg -i). Кроме того, это решение с некоторого момента перестало работать. То есть все прочие функции (например, отключение веб-камеры когда она не нужна и я работаю в режиме экономии) работают прекрасно, но подсветка отваливается.

Поиск по дебиановской, арчеводной и убунтовской документации мало что прояснил, поскольку большинство решений сводится, как я написал выше, к установке пакетов из launchpad’а, а они у меня не работают. Тогда я сделал то, что нужно было сделать с самого начала — забрался на «родной» форум CrunchBang и почти сразу наткнулся на решение проблемы. Оно сводилось к созданию скрипта, который опрашивает xrandr на предмет доступных режимов яркости и если он был запущен с ключом + — повышает яркость, а с ключом - — соответственно понижает. Ну и конфиг, который завязывает нужные кнопки на запуск скрипта с + или с — на входе в зависимости от того, что было нажата. Работает, как швейцарские часы.

Однако, мне захотелось чего-то попроще. Кроме того, раз есть числовая шкала градаций — а мне удобнее сказать машине «подсветку в ноль» или «подсветку на максимум», чем регулировать ее многократным тыканьем по кнопкам.

Посему был написан и положен в ~/bin следующий однострочник:

#!/bin/bash
# на входе подаются значения от 0 до 8
xrandr --output LVDS1 --set BACKLIGHT $@

Полный диапазон значений можно посмотреть через:

xrandr --prop

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

Screen 0: minimum 320 x 200, current 1024 x 600, maximum 4096 x 4096
LVDS1 connected 1024x600+0+0 (normal left inverted right x axis y axis) 223mm x 125mm
EDID:
00ffffffffffff004ca3303000000000
0014010380160d780a859599574f8f26
21505400000001010101010101010101
0101010101012c150040415846201888
3600df7d000000190000000f00000000
00000000002387026400000000fe0053
414d53554e470a2020202020000000fe
004c544e3130314e54303631303100cf
BACKLIGHT: 5 (0x00000005) range: (0,8)
Backlight: 5 (0x00000005) range: (0,8)
scaling mode: Full aspect
supported: None Full Center Full aspect
1024x600 60.2*+
800x600 60.3 56.2
640x480 59.9
VGA1 disconnected (normal left inverted right x axis y axis)

Нам нужна строка BACKLIGHT — где указывается текущее значение яркости (в моем случае — 5) и диапазон возможных значений (в моем случае 0 — min, 8 — max).

Теперь в консоли или, скажем, через gmrun я всегда могу быстро выставить себе нужную яркость — xbm 0 — для минимума, xbm 8 — для максимума и так далее.

Реклама

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

%d такие блоггеры, как: