F.lux is a wonderful tool for helping eye strain. People who stare at computer screens all day (like myself) can experience quite a bit of eye strain due to the harsh lights screens emit. One solution is to wear yellow tinted gamer goggles. I chose the cheaper route, installing software to adjust the color temperature of your monitor. Flux does this beautifully.. for Windows, at least.
Linux is a different story. Its GUI is pretty flaky and appears to only work for one screen. Enter Redshift, an updated fork of the Linux port of F.lux, which properly supports dual monitors. Unfortunately, it is harder to configure than F.lux. It is a command line only tool (with a GUI indicator component) and it requires creating a manual configuration file.
On my Linux Mint system (Ubuntu based) I needed to install the following:
sudo apt-get install redshift gtk-redshift
I had a hard time getting day/night changes to work. Redshift allows you to specify several different location options, but none of them appeared to work for me. I then realized that I like the softer colors of redshift all the time so I simply set the same temperature for day or night. It now doesn’t matter what the latitude / longitude is.
I found it odd that the settings for flux and redshift don’t appear to be the same. I tweaked my config a little bit to best closely match my Windows f.lux setup. Below is my config file, placed in
; Global settings for redshift [redshift] ; Set the day and night screen temperatures temp-day=4500 temp-night=4500 ; 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 ; Set the location-provider: 'geoclue', 'gnome-clock', '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' [manual] lat=40 lon=110 ; 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. [randr] screen=0
After saving the config file you can add
gtx-flux gtk-redshift as a startup application to have it automatically load on startup. My eyes feel much more comfortable now.
10 thoughts on “Redshift – a better flux program for Linux”
Thanks, it helps a lot! I didn’t find the doc on Redshift website so it’s very good!
Hey, I have f.lux on Linux and I musst say, that it is working very good. I just uninstalled reshift, because the configuration is unsupportable for me. I think that f.lux was updated.
That’s good to know. I’ve used redshift for so long I haven’t even bothered to check if there’s a new version of f.lux for Linux.
“.. add gtx-flux as a startup ..” you meant to say gtk-redshift, I presume 🙂
Haha yes, that is what I meant. Good catch.
Could not save the file “/redshift.conf”.
You do not have the permissions necessary to save the file. Please check that you typed the location correctly and try again.
after doing the setting i cant save it , help me ,i need this working properly for my eyes.
Rube, the tide ( ~ ) is important. It indicates to save to your home directory. The error you provided shows you’re trying to save to your root directory instead of your home directory.
Make sure you’re saving the config to this location:
You found it odd that the configuration is different because your wrong that redshift is a fork. Redshift is written from scratch, only inspired by flux. The developer didn’t derive his code from flux because flux is not open source, so that would be impossible or at least illegal. Redshift on the other hand is open source, making it free, as in speech, and anyone is allowed to modify the code if they want to expand or change redshift’s behavior. The same cannot be done with flux as it is closed source, so nobody knows exactly what it is doing.