How can I set a certain temperature on Redshift?
Solution 1:
You can permanently set the color temperature from the command line:
Open (gnome-
) terminal
, type the command:
redshift -O <temperature>
and press Return
To set it to (e.g.) 3700:
redshift -O 3700
To reset to "neutral":
redshift -x
See for more (command line) options:
man redshift
(Given the fact that Redshift is installed :))
Solution 2:
If you use redshift-gtk
then @Jacob's method will not work.
You need to create a configuration file at $HOME/.config/redshift.conf
to change it's settings. Sample configuration file creation described in it's official page, quoted below:
Configuration file
A configuration file can be created, but the documentation is a bit sparse. You’ll have to create it manually and put it in ~/.config/redshift.conf. The following is an example of a configuration file:
; 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
Another sample configuration also found at Ubuntu Documentation.
Solution 3:
For those who are looking for answer to this question
"When I type redshift -O
for example, it works for about a second, then goes back to normal... What should I do in this situation? "
Try - Go to the top of your screen -> The redshift icon -> Click on Enable to disable it -> the go on terminal and type
redshift -O <Temperature>
Worked for me
Solution 4:
Redshift GTK (and normal redshift
) can be run with options to specify how it is run:
redshift-gtk -l 52.6:1.6 -t 5700:3500 -g 0.82 -m randr -v
In the above command these commands are used:
-
-l
specifies your locations rough coordinates, so it can sync with sunrise/sunset. Usually redshift-gtk tries looking up your location but this won't work unles your computer has GPS so it easier to set manually, using a mapping service to give a approximation of your location (e.g. with with OpenStreetMap) -
-t
sets the color temperature of the screen, for day and for night respectively. -
-g
sets the gamma correction apply -
-m
the method to use. This will likely depend on your desktop compositor. -
-b
can also be used to set screen brightness (alsoDAY:NIGHT
, with values between.1
&1
.
This works largely the same as redshift
(and uses pretty much the same options as in man redshift
), except it runs with a icon so you can turn it off with switching to terminal. You can run the above command in a terminal, your desktops command launcher (usually Alt+F2), or even create a launcher.
Otherwise it may be better to use a configuration file as in @Mahmudul Hasan Shohag's answer.