Использование терминала для получения xflux при определенной температуре в любое время
Я пытаюсь настроить мой xflux так, чтобы температура экрана всегда была равна 3200, но кажется, что он настроен только на ночное время.
Вот команда, которую я вставил:./xflux -l 52.5, -g -1.886 -k 3200
Это только настраивает его на ночное время, есть ли способ иметь это все время?
2 ответа
xflux
- потому что это то, что вы просите
xflux
работает таким образом и не предоставляет возможности изменить его поведение, вы указываете свое местоположение, и оно будет использовать это плюс ваше системное время, чтобы определить, когда ему следует изменить цвет, основываясь на восходе и заходе солнца в выбранном месте. Мы, конечно, не хотим возиться с системным временем, но как насчет того, чтобы просто подделать время (sudo apt install faketime
)?
faketime 20 xflux -l 52.5, -g -1.886 -k 3200
начнет xflux
как будто сейчас восемь часов. faketime
имеет функцию "заморозить часы при абсолютной отметке времени", но, к сожалению, я не получил ее для работы xflux
, Я предлагаю вам использовать GNU coreutil timeout
вместо:
timeout -k0 8h faketime 20 xflux -l 52.5, -g -1.886 -k 3200 -nofork
Это начнется xflux
как будто сейчас восемь часов и k
заболел моментально (0
) после 8
h
наша. За timeout
работать надо начинать xflux
с -nofork
вариант. За xflux
тогда четыре часа утра, поэтому, если вы не живете где-то там, где солнце встает раньше, оно должно поддерживать заданную цветовую температуру в течение всего времени работы. Конечно, вы можете изменить местоположение и / или faketime
в место и время, которое соответствует вашим точным потребностям. Для автоматизации процесса установите cronjob с crontab -e
как это:
0 */8 * * * DISPLAY=:0 timeout -k0 8h faketime 20 xflux -l 52.5, -g -1.886 -k 3200 -nofork
Это будет запускать команду каждые восемь часов. Как timeout
также убивает его через восемь часов, что обеспечивает постоянную цветовую температуру в течение всего дня - к сожалению, с быстрой вспышкой каждые восемь часов, которую я не смог устранить.
Существует графический интерфейс иконки в трее под названием fluxgui · Github, доступный через этот PPA.
redshift
- потому что он предлагает гораздо более простое решение вашей проблемы
Есть альтернативы, такие как redshift
(sudo apt install redshift
), которые позволяют вручную установить цветовую температуру:
redshift -O 3200
Это останется в силе, пока вы не выключите его с помощью redshift -x
, Посылкаredshift-gtk
(sudo apt install redshift-gtk
) предоставляет значок в трее, который позволяет выключать его, если щелкнуть мышью.
Отделение решения Redshift... но если вы действительно хотите придерживаться xflux, вместо того, чтобы обмануть его со временем, вы можете обмануть его с помощью местоположения. Просто выберите местоположение напротив вашего - ночное, а фактическое - дневное.
Вместо того, чтобы принудительно применять неправильный инструмент, используйте sct
, Как вsct 3200
(доступно с мая 2016 года)
Description: Set screen color temperature
sct is a small C program to change the screen color temperature. It
can be used to reduce or increase the amount of blue light produced
by the screen.
.
sct sets the color temperature of the screen via xrandr like redshift.
Unlike redshift, it is only 80 lines of C and will not change the
screen temperature automatically.
Пропустите посредников, идите прямо к источнику.
Я использую:
xrandr --output HDMI2 --gamma 1.00000000:0.88267187:0.76921169 --brightness 0.8
Вместо того, чтобы пытаться подделать время или местоположение или устанавливать больше приложений, я думаю, что это гораздо более простое решение.
Redshift и xfluxh вмешивались в мои пользовательские настройки яркости и продолжали устанавливать его на 0,9! Поэтому мне пришлось их выбросить. Затем я написал небольшой скрипт PyQt (значок на панели задач с моим меню настроек и т. Д.), В котором используется xrandr, и с тех пор я счастлив.
При написании этого ответа, чтобы полностью объяснить его, я понял, что уже был написан подробный ответ, который включает в себя возможные триплеты RGB и настройки яркости:
Как использовать "xrandr --gamma" для использования в стиле "Night Light" в Gnome?
PS найти ваше отображаемое имя:
xrandr --listactivemonitors