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 norma‍l... 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 (also DAY: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.