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 (read here for the reason why I started this project).
Download
Latest release is redshift 1.5 published on 2010-08-18. There are also packages available for some distributions:
- Ubuntu: Packages for Ubuntu Lucid. (Installation instructions). Redshift packages from Debian are being imported into the next Ubuntu release (Maverick).
- Gentoo: Package in the main package tree.
- Debian: Packages are included in Squeeze.
- Arch Linux: Package in Arch User Repository.
- Fedora: Packages are being worked on.
- Mandriva: Packages will be submitted it after 2010.1 is released.
- Frugalware Linux: Package overview here.
- Highly experimental windows build: Redshift 1.4 (x86, x86_64) (it’s a command line utility; minimum temperature is 4500K because of windows limitations).
Project page (bug tracker)
This is the project page for redshift. Please report bugs or ask questions there.
Project description
Redshift adjusts the color temperature according to the position of the sun. A different color temperature is set during night and daytime. During twilight and early morning, the color temperature transitions smoothly from night to daytime temperature to allow your eyes to slowly adapt. At night the color temperature should be set to match the lamps in your room. This is typically a low temperature at around 3000K-4000K (default is 3700K). During the day, the color temperature should match the light from outside, typically around 5500K-6500K (default is 5500K). The light has a higher temperature on an overcast day.
Technical details
On linux and similar systems the color temperature is set with an X server extension. On the windows platform it is set using GDI. The color temperature is changed by setting appropriate gamma ramps. If you have configured your own gamma ramps they will be overwritten but in that case you probably care too much about color accuracy to use this program anyway. Your graphics driver and X server needs to either support at least RANDR version 1.3 or the VidMode extension.
Redshift assumes that your screen will produce light at a color of 6500K when no color correction is applied by the program. Thus, 6500K is the neutral temperature. Setting the color temperature to a value higher than this results in more blue light, and setting a lower value will result in more red light.
Configuration options
Redshift will continously update the color temperature at regular intervals. One shot mode can be selected if you only want to do one adjustment. The color adjustments done by Redshift can be temporarily toggled on and off by sending it the USR1 signal:
$ killall -USR1 redshift
The command line options are explained in the following paragraphs. All options have reasonable defaults. You’ll need to specify your current location only if redshift can’t obtain the location from an automatic location provider. All color adjustment methods will be tried until one that works is found unless you explicitly select one. The same applies to location providers.
-h Display this help message -v Verbose output -g R:G:B Additional gamma correction to apply -l LAT:LON Your current location -l PROVIDER Select provider for automatic location updates (Type `list' to see available providers) -m METHOD Method to use to set color temperature (Type `list' to see available methods) -o One shot mode (do not continously adjust color temperature) -x Reset mode (remove adjustment from screen) -r Disable temperature transitions -t DAY:NIGHT Color temperature to set at daytime/night
Example (location is Copenhagen, Denmark):
$ redshift -l 55.7:12.6 -t 5700:3600 -g 0.8 -m vidmode -v
Status icon
Start the program gtk-redshift instead of redshift, with the same arguments as you would pass to redshift. This will create an icon for Redshift in the system tray. The icon will allow you to toggle Redshift on and off. Thanks goes to the Tango Desktop Project for the icon. gtk-redshift requires at least Python 2.6 and PyGTK 2.12.

Redshift status icon
Automatic location provider
Redshift can automatically determine your current location from the GNOME clock applet if you have configured your location there. To enter you location: click the clock applet, then open locations, click edit and add your city.
In the future this feature may be extended with GeoClue support so Redshift will be able to get your current location from your IP address or from a GPS device (see bug #529600).
Known bugs and limitations
- Redshift won’t affect the color of your cursor when your graphics driver is configured to use hardware cursors. Some graphics drivers have an option to disable hardware cursors in
xorg.conf.
Comments, suggestions, patches or donations will be greatly appreciated.

P.S.: I just checked and f.lux does not behave the same way and keeps the screen brighter.
Hey, just a suggestion- it’d be cool if there was an indication on the gtk-redshift applet as to whether the state is toggled on or off. During the day, you can’t tell because the screen will be normal either way, so if you mistakenly leave it toggled off the screen won’t go red.
It could be as simple as a check mark next to ‘Toggle’, or as cool as the bulb being white for off and red for on.
Oh, and I forgot to add, this is a great project. I love it
Since I didn’t spot anywhere else to report issues:
On my machine, hitting Toggle causes it to reset and then immediately fade out from, and then fade back to, a reddish color (it’s 11:30 AM right now, I’m not sure if this counts as ‘early morning’ for the program’s purposes).
Hello, I think it would be super pleasing if the redshift icon displayed the terminal output data upon mouseover (gamma, solar elevation, etc.)
Thanks for your attention!
It’s not quite clear still whether it is needed to specify -l option?
Will the ‘location provider’ be selected automatically or do I always have to run something like `redshift -l gnome-clock` ?
You could have mentioned that somewhere and maybe even mark the provider that would be chosen when running `redshift -l list` like:
Usage: redshift [OPTIONS...]
...
Default values:
Daytime temperature: 5500K
Night temperature: 3700K
Location provider: gnome-clock
and
Available location providers:
gnome-clock (default)
manual
(do you think there is a need for ‘manual provider’ considering you can just use -l LAT:LON?)
Is there a way to display current location ‘as detected by redshift’? This might be useful for ‘debugging’ purposes. And maybe later when for example you will implement geolocation support (for netbook users).
redshift should detect if another copy is already running (currently it runs another instance ‘on top’). And if so could just print corresponding message and current details (a-la `redshift -v -o`) and then exit.
Tray icon hint could display those details too.
@Christian Vincenot and others: Try a different color temperature if you feel it’s too warm. You can specify the temperature with
-t. You can test different color temperatures with-ountil you find a value you are satisfied with.@Dzmitry: Thank you for your questions. If you explicitly request a color adjustment method the program will try to use that one and will fail if it doesn’t work. If you don’t specify an adjustment method all of them will be tried until one that works is found. For that reason there’s no default adjustment method. The same applies to location providers. I have clarified the text above so this should be more clear now.
-l LAT:LONis a shorthand for-l manual:lat=LAT:lon=LONso the manual provider is needed.You should be able to use
-vfor more verbose output including location as detected by redshift.Hi,
i really love your programm, but it doesn’t change the color of the cursor.
I’m, using 1.4 on ubuntu 10.04 64-Bit.
Is this a known issue? Can i do anything about it besides changing the cursor to a darker one (the standard-cursor kind of blindes me at night).
@K. Hendrik: Redshift can’t affect the color of your cursor if you’re using hardware cursors. You can switch to software cursors if it really bothers you (but you’ll probably have to mess with xorg.conf).
@Jon Lund Steffensen: OK thank you for the tip, with the HWCursor disabled for my NVIDIA Geforce 310M the Color gets changed, but sadly otherwise the cursor is pretty unusable (flikering and garbelling the screen position where it should be).
Are there any moves to get this into Fedora or any particular reason for not doing so? Are you looking for a packager? I would love to help getting this done…
Pingback: Eyes getting tired staring at your computer? Try a red screen! « Dolphinaura
@Fab: I was thinking the same, so already packaged into an RPM couple of days ago, please feel free to test.
i downloaded this but when i clicked on the redshift.exe a cmd window pops up but for half a second and then dissapears….im on windows 7 ultimate…thanks
@steve: Redshift is a command line utility. The windows version is highly experimental and there’s no graphical interface. If you’re not comfortable with that you should probably stick to f.lux for now.
Err http://ppa.launchpad.net lucid/main Packages404 Not Found
W: Failed to fetch http://ppa.launchpad.net/user/ppa-smplayer/ubuntu/dists/lucid/main/binary-i386/Packages.gz 404 Not Found
E: Some index files failed to download, they have been ignored, or old ones used instead.
And then I cannot start redshift:
redshift: command not found
gtk-redshift: command not found
Pingback: Redshift – help your eyes | TheSlon.com
Pingback: RedShift Makes Your Screen Easier On The Eyes At Night | Lifehacker Australia
nice work! i just wonder why no RPMs are available?
i’m on fedora 12, and just converted it with alien. works flawlessly!
redshift-1.4.1-1.i386.rpm
Is there a way to make it adjust the temperature continuously, or does is simply have a DAY and NIGHT setting and switch between them at specific times? Love the program
@Oliver
It does change gradually if you don’t set the -r option nor DAY:NIGHT after -t. Just set your latitude and longitude location this way:
$ redshift -l xx.x:yy.y
Where xx.x = latitude, yy.y = longitude (be aware any of it could be negative for your location)
If you want to control how far red or blue becomes, add the -t option and the color temperature limits you want (try some K values). The whole thing will be something like:
$ redshift -l xx.x:yy.y -t 5700:3600
I built from source and installed, redshift works but gtk-redshift says:
Traceback (most recent call last):File "/usr/local/bin/gtk-redshift", line 22, in
from gtk_redshift.statusicon import run
ImportError: No module named gtk_redshift.statusicon
Not sure what’s the matter. This is a wonderful project, thank you!
@phip: Please see https://bugs.launchpad.net/redshift/+bug/594577 for an explanation.
Pingback: RedShift, ajusta el brillo de tu pantalla de acuerdo al horario (Linux)
This is the coolest little app I’ve come across in ages! BTW it has made it into main portage tree for gentoo, no overlays required.
Hello, rpm’s for Mandriva will be released when the repositories are unlocked after the release of 2010.1.
Here is the link : https://qa.mandriva.com/show_bug.cgi?id=59843
@Gid, Ciprian S.: Thanks. Added the info above.
Awesome program. I’m very happy with it especially since being DoD I have to worry about night time training and acclimation.
There are two things I’ve noticed beyond what I read in the comments:
My IBM think laptop & NVidia Card Desktop do not shift in brightness (bright red is still bright)
My Netbook does downshift the brightness with the redshift (no human input)
Which leads to the question of is there a way to control a variant amount of screen brightness directly to xorg corresponding to the red shift?
Pingback: f.lux – Tool News | Nail Guns For Sale
Thanks. I’m using PCLinuxOS 2010 and it works great.
Pingback: Geekfault » Redshift, ne vous abimez plus les yeux la nuit
I’ve packaged it for Frugalware Linux
http://frugalware.org/packages/88806
Pingback: Episode 17 – Tooltime für Windows » Robert, Woche, Susanne, Blaster, Ragdoll, Android » macpcnux.net
As another poster has mentioned, it seems like xflux sets the display to a different actual color temperature at what it calls 3400K than redshift does. That is, when redshift says my display is at 3400K, it’s actually much warmer/redder than when xflux says it has set my display to 3400K — the warmth of 3400K according to xflux is closer to 4600K according to redshift. Any idea why?
Is there a version planned for Puppy Linux?
@Devel505: Thanks. Added above.
@t4nn3d1n: I don’t know of any brightness adjustment tools that will follow the time of day as Redshift does.
@Eric: I’m quite confident that the color temperature that Redshift calculates is “correct” (under certain assumptions about the screen and graphics device). I don’t know why f.lux is so noticably different.
@Philip: The source code should work on Puppy Linux too. Special packaging is for the users of Puppy Linux to produce. I will be happy to link to such a package.
Pingback: RedShift – La chaleur dans votre moniteur « Bux Blog
Pingback: Redshift, Ne vous fatiguez plus. | Horyax
Pingback: F.lux: adapt your monitor’s color settings to the time of day — omglog
I almost gave up trying to get this to display correctly. I tried different locations, times, etc. but what always happened was that my LCD would immediately get redder even though it wasn’t anywhere near nighttime. I finally realized that all I had to do was bump up the daytime color temperature. I had absolutely no knowledge about color temperature so I didn’t want to mess with it, but a tiny bit of research found that typical LCDs are at 6500k. So that’s what I set it to and Voila my LCD’s back to its original shade. I don’t see why Redshift sets 5700k as the default daytime when 6500k is neutral. I also bumped up the nighttime to 4000k just because the default 3700k was a bit hard to see for me. Other than that tussle, I absolutely love this program.
I am happy with this program, but I have a question. I created a startup application where the command is ‘gtk-redshift -l 43.35:-90.09′, but is there a way to have it in the tray, but have the default value to toggled off instead of on so that it doesn’t always start enabled when I login every time?
Pingback: Redshift » El Blog de Sepa
Pingback: RedShift GUI – Cuide dos seus olhos « Portuguese Geek Place
Pingback: Redshift : Cuida tu vista | conecti.ca
Pingback: تقليل إجهاد العين مع Redshift | ArLinux
Very very happy with this!
Suggestion: It would be nice to have a GUI accesable through the applet for the configuration. Also it would be nice that RedShift would appear in the Menu.
Great APP!
hello! is there a way to have a .deb for jaunty?
im using netbook distro based in the cloud and is called jolicloud is a great distro but i dont have redshift here…this distro i dont know why but is derivated from ubuntu jaunty instead of lucid
Thank you for this program! I was very disappointed with the Linux version of F.Lux on my laptop, and it doesn’t work at all on my desktop. I’m not sure if it’s because of my dual-monitor setup, compiz, or something else, but I could only occasionally get it to change the temp on one monitor. Redshift works flawlessly. I’m running Ubuntu 10.04 with an ATI Radeon 4870×2 using the ATI proprietary driver. Keep up the good work!
Pingback: Redshift su Fedora…i nostri occhi ringrazieranno « più e meno
Pingback: Redshift – как уберечь свои глаза