Корисні штучки →  Керуємо монітором через ddccontrol

Утиліта мамонтячого типу вагою у 300 мегабайт лише для того, щоб покрутити на екрані повзунками яскравість чи контрастність монітору?! Нічого особливо дивного — ви ж здогадуєтеся, про яку операційку йде мова? Віндовз, він такий віндовз .)

Пінгвін цілком заслужено вважається вельми гнучкою системою — у грамотних руках. Тому давайте розберемось, як можна легко управляти параметрами монітору програмно, причому тулзою об’ємом менше за мегабайт. За умови, що ваш монітор підтримує DDC/CI, звичайно.

Утиліта gddccontrol

Сподіваюся, що вона у вас вже встановлена, і ви вже запросто вмієте совати повзунками налаштування вашого монітору — як душі заманеться. Чи вже маєте кілька готових готових пресетів конфігурацій, які можна зручно міняти через ddcc-applet з панелі завдань.



Якщо ж ще ні, то вас виручить Великий Ґугл або офіційна документація: ddccontrol.sourceforge.net.

Управляємо параметрами через командний рядок

Спочатку перевіряємо, які параметри наш монітор підтримує, і в яких саме регістрах вони записані. Наступною командою:

$ ddccontrol -p

Вивід досить великий, тому наводжу лише його частину, що нас цікавить:
= VESA standard monitor
> Color settings
    > Brightness and Contrast
        > id=brightness, name=Brightness, address=0x10, delay=-1ms, type=0
          supported, value=20, maximum=100
        > id=contrast, name=Contrast, address=0x12, delay=-1ms, type=0
          supported, value=60, maximum=100
Отже, ми отримали регістри address=0x10 та address=0x12, за допомогою яких можемо покерувати яскравістю та контрастністю монітору. Запускаємо термінал і перевіряємо цю можливість в дії:

$ sudo ddccontrol -r 0x10 -w 10 dev:/dev/i2c-1
$ sudo ddccontrol -r 0x10 -w 50 dev:/dev/i2c-1


Першою командою виставляємо яскравість у 10%, другою — у 50%. Ура, працює! Тепер можна сміло ваяти будь-які корисні скрипти, котрі управлятимуть монітором за вашим бажанням.

Зверніть увагу, що номер девайсу може відрізнятися від наведеного у прикладі /dev/i2c-1. Додам також, що монітор можна навіть вимикати/вмикати програмно — відповідні регістри можна знайти в секції Power control. І ще купу різних параметрів — словом, всі, котрі ваш монітор підтримує.

Дозволяємо sudo без пароля

Єдиний мінус, який ще треба поправити — щоб скрипт не запитував кожного разу пароль при запуску sudo. Способи можуть бути різні, один з них — відредагувати /etc/sudoers:

$ sudo EDITOR=gedit visudo

Додаємо в кінці наступний рядок, змінивши <user> на ваш власний:

%<user> ALL = NOPASSWD : /usr/bin/ddccontrol

Готовий скрипт

Для прикладу, спец-скрипт для запуску фільмів. Точніше, варіація ось цього: "Вечірній кіносеанс: вимикаємо комп’ютер автоматично". І завдання його буде наступне:
  1. Виставити яскравість і контрастність на максимум
  2. Запустити програвач VLC у повноекранному режимі
  3. Після відтворення його, відповідно, закрити
  4. Повернути налаштування монітору у початкові
Лістинг:
#! /bin/bash

# режим кіносеанс
ddccontrol -r 0x10 -w 100 dev:/dev/i2c-1     # яскравість = 100%
ddccontrol -r 0x12 -w 100 dev:/dev/i2c-1     # яскравість = 100%

# запускаємо відтворення фільму
vlc --fullscreen "$1"

# нормальний режим
ddccontrol -r 0x10 -w 20 dev:/dev/i2c-1     # яскравість = 20%
ddccontrol -r 0x12 -w 60 dev:/dev/i2c-1     # контрастність = 60%
Сам цей скрипт, в моєму випадку, лежить у ~/.gnome2/nautilus-scripts, що дозволяє запускати його через контекстне меню правою кнопкою миші.

Звичайно, скрипт можна модифікувати. Наприклад, замість прямого запису параметрів яскравості та контрастності вмикати наперед підготовлені пресети кіно, день, вечір тощо. Ну або навісити ці пресети на хоткеї чи навіть окремі клавіші, якщо знайдуться на клавіатурі зайві :)

Сподіваюся, ви знаєте як це зробити, так?

коментарі:

mike 22.01.2011 13:53
Я чесно кажучи не розумію, навіщо писати булшіт на кшталт "у 300 мегабайт лише для того, щоб покрутити на екрані повзунками яскравість чи контрастність монітору?! Нічого особливо дивного — ви ж здогадуєтеся, про яку операційку йде мова? Віндовз, він такий віндовз .)"? Йолопу зрозуміло що 300 метрів це якийсь крапваре йкий йде з дровами. Встановлюється за бажанням. І сам контролер монітора там не займає і відсотка.

Утіліток для вінди що контролють монітор просто дофіга. Навіть на сторінці в Вікі (http://en.wikipedia.org/wiki/Display_Data_Channel), для лінухів тільки одна, а для Вінди три. Легкий пошук дає ще декілька десятків.

Фішка в тому що подтримка DDC/CI вбудована в Вінду, якщо цікаво http://msdn.microsoft.com/en-us/library/dd692964(VS.85).aspx , викликати це АПІ можна з будь чого.

Нічого якщо я напишу: лінуксоїди такі лінуксоїди? Хоча і розумію, що серед лінуксоїдів є і адекватні люди.
tercius 22.01.2011 18:44
і давно вбудована? якщо так, тоді я щасливої долі віндузятників лише тішуся ) от візьміть в руки перо, і наваяйте топіка - про чудові-пречудові форточки. чи хтось боронить?

а вищезгадувану монструозну тулзу я крутив в руках власноручно - йшла в комплекті з брендовим монітором. хоча й було це досить давно - може років зо п’ять назад. так що ображатися на акина, чи ні - ваша особиста справа. я що бачу, те й співаю ) і маю такі самі права на власну точку зору, як і ви, шановний.
Нічого якщо я напишу: лінуксоїди такі лінуксоїди? Хоча і розумію, що серед лінуксоїдів є і адекватні люди.
мій прямий наїзд стосувався віндовз, а не віндузятників - розрізняєте різницю, так? а якщо цікавить похоліварити, то зробіть для початку пошук по кількості публікацій про віндовз і лінукс на нетрях - багато про що говорить. і не на користь форточників )

пасивність, вона така пасивність .) © tercius
tercius 22.01.2011 18:47
і чого це опонент в мінусах? можу поставити плюс, якщо тре - звертайтеся

лінуксоїдам допомогти віндузятникам ніколи не шкода )
+1mike 22.01.2011 22:24
Я покищо не розумію звідки такий мінус. Вчора було десь біля 10ти. Написал розробникам, мож подивляться.
tercius 23.01.2011 14:07
можливо, зняло за мінуси? вони коштують досить дорого - особливо, якщо рейтинг мінімальний. додав вам трохи тих балів
tercius 23.01.2011 14:10
і раджу спробувати написати якогось корисного топіка на нетрях - тоді з рейтингами не буде проблем. взагалі. принаймі, я ще не чув, щоб хтось жалівся ) ще можна спробувати через стіл заявок - там теж можуть допомогти

от хоча б з ddc/ci під віндовз корисно було б розібратись. хоча й пускаю форточки лише час від часу у віртуалці, але навіть і мені було б цікаво

додати коментар: