В данной статье расскажу про такую программу как redshift. Данная программа меняет цветовую температуру экрана основываясь на времени и местоположении пользователя, то есть изображение днём будет более белым, а вечером более жёлтым. Тем самым нагрузка на глаза снижается.

В графическом окружении Gnome уже есть функционал работающий похожим образом. Для этого необходимо зайти в настройки - настройка экранов и включить ночной свет:

И здесь можно выбрать менее тёплый или более тёплый цвет.

В дистрибутиве Linux Mint программа redshift уже установлена по умолчанию в данном случае это Linux minint 21.3:

И находится она на вкладке стандартные:

Как можно увидеть появился значок в трее:

Соответственно в других дистрибутивах её необходимо установить. В Ubuntu это делается следующим образом. Открою терминал, обновлю индекс пакетов следующей командой:

sudo apt update

И следующей командой установлю redshift консольную версию:

sudo apt install redshift redshift-gtk

Это версия, которую можно использовать в терминале и redshift-gtk - это тот самый значок в трее.

После этого запускаю программу:

И появился значок в трее. Можно включить или выключить работу программы. Приостановить её на какой-то промежуток времени. Включить, отключить автозапуск при старте системы:

На вкладке информация можно посмотреть текущее местоположение и цветовую температуру:

В данном случае вышла ошибка:

Так как необходимо включить определение местоположения. Перейду в настройки на вкладку конфиденциальность и включу службы определения местоположения:

Теперь программа не выдаёт ошибки, но она по-прежнему не работает, так как не определяется местоположение:

Для того, чтобы это исправить необходимо создать конфигурационный файл. Зайду в скрытую папку .config, при этом включив отображение скрытых файлов:

И создам конфигурационный файл redshift.conf со следующим содержимым:

; Global settings for redshift
[redshift]
; Set the day and night screen temperatures
temp-day=5700
temp-night=3500

; Enable/Disable a smooth transition between day and night
; 0 will cause a direct change from day to night screen temperature.
; 1 will gradually increase or decrease the screen temperature.
transition=1

; Set the screen brightness. Default is 1.0.
;brightness=0.9
; It is also possible to use different settings for day and night
; since version 1.8.
;brightness-day=0.7
;brightness-night=0.4
; Set the screen gamma (for all colors, or each color channel
; individually)
gamma=0.8
;gamma=0.8:0.7:0.8
; This can also be set individually for day and night since
; version 1.10.
;gamma-day=0.8:0.7:0.8
;gamma-night=0.6

; Set the location-provider: 'geoclue', 'geoclue2', 'manual'
; type 'redshift -l list' to see possible values.
; The location provider settings are in a different section.
location-provider=manual

; Set the adjustment-method: 'randr', 'vidmode'
; type 'redshift -m list' to see all possible values.
; 'randr' is the preferred method, 'vidmode' is an older API.
; but works in some cases when 'randr' does not.
; The adjustment method settings are in a different section.
adjustment-method=randr

; Configuration of the location-provider:
; type 'redshift -l PROVIDER:help' to see the settings.
; ex: 'redshift -l manual:help'
; Keep in mind that longitudes west of Greenwich (e.g. the Americas)
; are negative numbers.
[manual]
lat=48.1
lon=11.6

; Configuration of the adjustment-method
; type 'redshift -m METHOD:help' to see the settings.
; ex: 'redshift -m randr:help'
; In this example, randr is configured to adjust screen 1.
; Note that the numbering starts from 0, so this is actually the
; second screen. If this option is not specified, Redshift will try
; to adjust _all_ screens.
[randr]
screen=1

Сохраню его в папке .config:

Cоответственно днём установлена световая температура 5700 кельвинов, а ночью 3500. Также необходимо указать широту и долготу того места где вы находитесь:

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

Моменяю значение screen на 0, так как нумерация экранов начинается с нуля:

И запущу программу. И программа заработала. Теперь в данную программу можно поставить свои координаты.

В 13:31 дня отображается цветовая температура 5700 кельвинов:

При этом цветовая температура поменялась, но на скриншоте к сожалению не видно изменения. Далее я подставлю изображения экрана сфотографированные со смартфона, для того чтобы было примерное понимаение.

В 9 часов вечера отображается цветовая температура 4765 кельвинов:

При этом со временем она уменьшается:

Ну и напоследок вот фотография с отключенной функцией "Ночной свет":

И с включенной функцией "Ночной свет", при этом цветовая температура выставлена самая теплая, которая возможна: