Redshift (Русский)
Из официальной страницы проекта:
- Redshift adjusts the color temperature of your screen according to your surroundings. This may help your eyes hurt less if you are working in front of the screen at night. This program is inspired by f.lux [...].
Redshift регулирует цветовую температуру экрана в зависимости от вашего окружения. Это может помочь вашим глазам меньше уставать, если вы сидите за экраном в ночное время. Эта программа вдохновлена f.lux
Проект разрабатывается на GitHub.
Установка
Установите пакет redshift. Или же можно установить собранный с минимальными зависимостями redshift-minimalAUR из AUR.
Окружение рабочего стола
Для окружения рабочего стола доступна утилита redshift-gtk
входящая в пакет redshift. redshift-gtk
будет отображать значок в системном трее для управления приложением. Redshift-gtk для работы требует установки трёх дополнительных пакетов python-gobject, python-pyxdg и librsvg, которые указаны в списке дополнительных зависимостей для основного пакета redshift. Пользователи KDE могут использовать пакет plasma5-applets-redshift-control-gitAUR.
Автозапуск
Известные реализации автозапуска redshift:
- Вызов в скрипте
/etc/X11/xinit/xinitrc.d/
. - Активируя правым кликом значок системного трея redshift-gtk или plasma5-applets-redshift-control, выбрав 'Autostart'.
- Используя один из двух предоставленных файлов юнитов службы systemd:
/usr/lib/systemd/user/redshift.service
или/usr/lib/systemd/user/redshift-gtk.service
. Будьте осторожны: служба должна запускаться в пользовательском режиме, смотрите основные настройки. Переменная окруженияDISPLAY
должна быть установлена. Смотрите DISPLAY и XAUTHORITY.
Restart=always
, тем самым служба будет бесконечно перезагружаться (смотрите systemd.service(5)) Конфигурация
Как минимум, для работы redshift требуется указать ваши координаты, т.е. широту и долготу вашего местоположения. Redshift использует несколько методов для получения вашего местонахождения. Если ни один из них не сработал (например не установлено ни одной из используемых вспомогательных программ), то вы должны ввести местоположение вручную. Значения большинства мест/городов можно взять в соответствующих страницах Википедии.
Быстрый запуск
Чтобы запустить приложение, используя базовую конфигурацию, задайте:
$ redshift -l LAT:LON
где соответственно LAT - широта и LON - долгота вашего местонахождения.
Автоматическое определение расположения основываясь на GPS
Можно использовать gpsd для автоматического определения вашего местоположения посредством GPS и использовать его данные в Redshift. Создайте следующий скрипт, который будет передавать значения $lat
и $lon
в redshift -l $lat;$lon
:
#!/bin/bash date #gpsdata=$( gpspipe -w -n 10 | grep -m 1 lon ) gpsdata=$( gpspipe -w | grep -m 1 TPV ) lat=$( echo "$gpsdata" | jsawk 'return this.lat' ) lon=$( echo "$gpsdata" | jsawk 'return this.lon' ) alt=$( echo "$gpsdata" | jsawk 'return this.alt' ) dt=$( echo "$gpsdata" | jsawk 'return this.time' ) echo "$dt" echo "Вы здесь: $lat, $lon и $alt"
Для получения более подробной информации смотрите форум.
Ручная настройка
Если был создан файл ~/.config/redshift.conf
, то Redshift будет использовать настройки, указанные в нем. Однако, Redshift самостоятельно не создаст конфигурационный файл, поэтому вам нужно создать его вручную.
Пример для Витебска/Беларуси:
~/.config/redshift.conf
; Общие настройки для redshift [redshift] ; Установка дневной и ночной температур экрана ; Нейтральная температура цвета - 6500K. Использование этой величины ; не изменит температуру цвета дисплея. Установка температуры цвета ; больше этого значения приведет к более синему цвету экрана, ; установка меньшего значения - к более красному оттенку. ; Значения по умолчанию: ; Температура цвета днем: 5500K ; Температура цвета ночью: 3500K temp-day=6500 temp-night=3500 ; Включение/выключение плавного перехода между днём и ночью ; 0 сразу установит соответствующее значение температуры экрана по приходе дня и ночи. ; 1 будет постепенно изменять цветовую температуру экрана transition=1 ; Установка яркости дисплея. По умолчанию 1.0 ;brightness=0.9 ; Начиная с версии 1.8 возможно использовать различные значения для дня и ночи. brightness-day=0.8 brightness-night=0.7 ; Установка гаммы экрана для (всех цветов, или каждого цветового канала в отдельности) gamma=0.8 ;gamma=0.8:0.7:0.8 ; Установка источника местоположения: 'geoclue', 'gnome-clock', 'manual' ; наберите 'redshift -l list' чтобы увидеть возможные значения ; Их настройка производится в секции ниже location-provider=manual ; Установка метода регулировки: 'randr', 'vidmode' ; наберите 'redshift -m list' чтобы увидеть все возможные значения ; 'randr' является предпочтительным методом, 'vidmode' на устаревшем API ; но работает в некоторых случаях, когда 'randr' отказывается. ; Их настройка производится в секции ниже. adjustment-method=randr ; Конфигурация источников местоположения: ; наберите 'redshift -l ИСТОЧНИК:help' чтобы увидеть настройки ; напр.: 'redshift -l manual:help' [manual] lat=55.11 lon=30.1 ; Конфигурация метода регулировки ; наберите 'redshift -m METHOD:help' чтобы увидеть настройки ; напр.: 'redshift -m randr:help' ; В этом примере, randr сконфигурирован для регулировки экрана 0 ; Обратите внимание, что нумерация начинается с 0, так что это на самом деле это первый экран [randr] screen=0
Use real screen brightness
Redshift has a brightness adjustment setting, but it does not work the way most people might expect. In fact it is a fake brightness adjustment obtained by manipulating the gamma ramps, which means that it does not reduce the backlight of the screen. [1]
Changing screen backlight is possible with redshift hooks and xorg-xrandr and xorg-xbacklight but, please see Backlight#xbacklight as there are some limitations and you may have to find another method of controlling the backlight depending on your hardware.
Вам необходимо создать исполняемый файл в ~/.config/redshift/hooks
. Вы можете воспользоваться приведённым примером:
~/.config/redshift/hooks/brightness.sh
#!/bin/sh # Set brightness via xbrightness when redshift status changes # Set brightness values for each status. # Range from 1 to 100 is valid brightness_day="100" brightness_transition="50" brightness_night="10" # Set fade time for changes to one minute fade_time=60000 case $1 in period-changed) case $3 in night) xbacklight -set $brightness_night -time $fade_time ;; transition) xbacklight -set $brightness_transition -time $fade_time ;; daytime) xbacklight -set $brightness_day -time $fade_time ;; esac ;; esac
Решение проблем
redshift-gtk не запускается
Redshift-gtk требует дополнительных зависимостей для правильной работы. Для проверки недостающих зависимостей, запустите redshift-gtk
из эмулятора терминала. Вывод будет примерно следующий:
Traceback (most recent call last): File "/usr/bin/redshift-gtk", line 26, in <module> from redshift_gtk.statusicon import run File "/usr/lib/python3.4/site-packages/redshift_gtk/statusicon.py", line 31, in <module> from gi.repository import Gtk, GLib ImportError: No module named 'gi.repository'
Чтобы решить эту проблему, установите python-gobject, python-xdgAUR, и librsvg из официальных репозиториев.
Failed to run Redshift due to geoclue2
По умолчанию сконфигурирован geoclue2 без доступа для Redshift.
Чтобы открыть доступ, добавьте следующие строки в /etc/geoclue/geoclue.conf
/etc/geoclue/geoclue.conf
[redshift] allowed=true system=false users=
Способ автозапуска redshift в i3
Вы можете добавить в конфигурационный файл i3 следующее:
exec --no-startup-id redshift-gtk
Смотрите также
- Официальный сайт
- Redshift на github
- sct — set color temperature