Сохранить глаза ночью, добавляя более красный и/или вычитая синий, становится популярным в 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%.
Согласно OMG Ubuntu, в Ночнике Gnome можно использовать эти численные значения:
Для тестирования этих численных значений как был бы, каждый переводит их для переопределения значения по умолчанию --gamma 1:1:1
?
В документации 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
являются соответствующими в течение ночного времени?Я нашел исходный код для программы 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, },
};
На три столбца выше значения для Красного, Зеленого и Синего цвета.
Я записал набор сценариев удара для корректировки яркости и гаммы постепенно на рассвете и сумрака по 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
параметр после команды.