Как использовать “xrandr - гамма” для Gnome “Ночник” - как использование?

Фон: Более красный / Менее синий ночью

Сохранить глаза ночью, добавляя более красный и/или вычитая синий, становится популярным в Windows 10 (фильтр синего света) и Linux; Рабочий стол Gnome (Ночник) и Рабочий стол Единицы Ubuntu с дополнениями, такими как Красный Сдвиг или f.lux.

Я задаюсь вопросом, как выполнить то же со встроенной командной строкой Ubuntu xrandr <monitor> --gamma 1:1:1 функция. 1:1:1 представляет процент red:green:blue. Я предполагаю 1 = 100%. Я не уверен, добавляют ли вышеупомянутые пакеты более красный (1.2:1:1) для увеличения на ~20% или уменьшают синий (1:1:0.8) для уменьшения на ~20% или обоих для изменения на ~40%.

Пример Ночника Gnome не помогает

Согласно OMG Ubuntu, в Ночнике Gnome можно использовать эти численные значения:

  • 1000 — Самое Низкое значение (супер теплый/красный)
  • 4000 — ночник По умолчанию на температуре
  • 5500 — Сбалансированная температура ночника
  • 6500 — ночник По умолчанию от температуры
  • 10000 — Самое Высокое значение (очень прикольный / синий)

Для тестирования этих численных значений как был бы, каждый переводит их для переопределения значения по умолчанию --gamma 1:1:1?

Что говорит документация Xorg

В документации Xorg не говорится очень много о --gamma средства управления:

−−gamma red:green:blue

  • Установите указанные значения с плавающей точкой как гамма-коррекцию на crtc, в настоящее время присоединяемом к этому выводу. Обратите внимание, что Вы не можете получить два различных значения для клонированных выводов (т.е.: которые совместно используют тот же crtc), и что переключение вывода к другому crtc не изменяет crtc гамма-коррекцию вообще.

Плавание десятичных точек будет полезно, потому что сценарий я хочу обновить наборы xbacklight яркость медленно однажды минута за переходный период 90 - 120 минут на рассвете и сумрак. Я хочу улучшить сценарий с обоими xrandr --brightness программная поддержка внешних мониторов и OLED, созданного в дисплеях и xrandr --gamma поддержка красного света / фильтры синего света. В Xorg не говорится, сколько десятичных позиций поддержано, но я думаю, что думаю, что я установлю bc вычисления должны быть к 3 или 4 десятичным разрядам для удобочитаемости / баланс точности.

Сводка

Я надеюсь подражать тому, что "большие парни" в Microsoft и Gnome делают с их "большим количеством красного" и/или "меньшим количеством синих" методов. Я еще не копался в Уэйленде, но ответы с помощью той системы будут также цениться, поскольку это несомненно будет будущее беспокойство.

Какая корректировка --gamma 1:1:1 являются соответствующими в течение ночного времени?

6
задан 4 February 2018 в 17:43

1 ответ

9 декабря 2018 обновление

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

/* cribbed from redshift, but truncated with 500K steps */
static const struct { float r; float g; float b; } whitepoints[] = {
    { 1.00000000,  0.18172716,  0.00000000, }, /* 1000K */
    { 1.00000000,  0.42322816,  0.00000000, },
    { 1.00000000,  0.54360078,  0.08679949, },
    { 1.00000000,  0.64373109,  0.28819679, },
    { 1.00000000,  0.71976951,  0.42860152, },
    { 1.00000000,  0.77987699,  0.54642268, },
    { 1.00000000,  0.82854786,  0.64816570, },
    { 1.00000000,  0.86860704,  0.73688797, },
    { 1.00000000,  0.90198230,  0.81465502, },
    { 1.00000000,  0.93853986,  0.88130458, },
    { 1.00000000,  0.97107439,  0.94305985, },
    { 1.00000000,  1.00000000,  1.00000000, }, /* 6500K */
    { 0.95160805,  0.96983355,  1.00000000, },
    { 0.91194747,  0.94470005,  1.00000000, },
    { 0.87906581,  0.92357340,  1.00000000, },
    { 0.85139976,  0.90559011,  1.00000000, },
    { 0.82782969,  0.89011714,  1.00000000, },
    { 0.80753191,  0.87667891,  1.00000000, },
    { 0.78988728,  0.86491137,  1.00000000, }, /* 10000K */
    { 0.77442176,  0.85453121,  1.00000000, },
};

На три столбца выше значения для Красного, Зеленого и Синего цвета.

4 ноября 2018 обновление

Я записал набор сценариев удара для корректировки яркости и гаммы постепенно на рассвете и сумрака по 90-минутному к 120-минутному периоду. Установка максимальной яркости:

xrandr --output DP-1-1 --gamma 1:1:1 --brightness 1.0

Ночная установка:

xrandr --output DP-1-1 --gamma 1.1:0.8:0.7 --brightness 0.55

Исходный ответ

Наконец найденный одним ответом: больше ВОЗДЕЙСТВИЯ XRANDR ИЛИ СИНЕГО СВЕТА Этот сценарий представлено:

#!/bin/sh 

night_mode() { 
  for disp in $(xrandr | sed -n 's/^\([^ ]*\).*\<connected>.*/\1/p'); do 
    xrandr --output $disp --gamma $1 --brightness $2 
  done } 
case $1 in 
  off) night_mode 1:1:1 1.0 ;; 
  *) night_mode 1:1:0.5 0.7 ;;
esac

Сценарий уменьшает компонент синего света и яркость всех присоединенных дисплеев Xorg. Просто сохраните его в Вашем bin каталог, chmod +x это и, если Вы хотите, добавляет a cron задание или сочетание клавиш для вызывания функции.

Как это работает? Просто введите на название сценария без любых параметров для сокращения синего света. Для возврата к нормальной установке добавить off параметр после команды.

4
ответ дан 23 November 2019 в 07:59

Другие вопросы по тегам:

Похожие вопросы: