Okay, so, the answer is that the redshift program, pointed out by Stéphane Gimenez in a comment above, can do this pretty simply. It's meant to do a clever adjust-white-point-over-the-day thing, but it can also be made to do one-time adjustments with the -o
flag.
The desired color temperature in Kelvin must be given twice because of the time-based features, which is a bit weird but unimportant. And the other stuff is just there to suppress unhelpful-in-this-case informational messages — it's not important.
redshift -o -l 0:0 -m randr -t 6000:6000
It's also important to note that the code assumes that neutral is 6500. (And experimentally, -t 6500:6500
appears to me to be identical to using -x
to remove the effects completely.) On my system, where I think the native whitepoint is 9300K or so, I'm not sure what the actual numbers end up meaning, but the effect of choosing something lower than 6500 is certainly exactly what I want.
I was curious, so I looked at the code. Redshift is doing something a bit more complicated than running xgamma
— it has a whole color-ramp table, with data sourced from http://www.vendian.org/mncharity/dir3/blackbody/. I'd look into it even further, but I think the next step is going for full-on proper color calibration.
Caleb is right in his comment. xterm is fairly old and you should consider switching to urxvt -- at least the 256 and utf-8 enabled version, refer to your package manager to install the right one.
I have an identical set up to yours -- awesome WM, vim, urxvt, tmux/screen -- and they all work well with 256 colours and utf-8. I have set TERM to xterm-256color
in case you need to set this manually.
Hum... After your edit, can you check if the vim colour theme is properly defined for terminals?
Best Answer
There is hardware calibration available for Linux, if you can find the hardware to do so. The Sp*der 1 and 2 are allegedly supported. The Sp*der 3 maybe.
Here is an article on using the Pantone Huey (another inexpensive device that is actually supported on Linux). The X-Rite Eye-One Display is also supposedly supported, but can find no instructive links, though this one is positive.
This topic is not simple and cannot be summarized in a single posting easily. Here are a couple of useful links on hardware calibration with the Sp*der and ArgyllCMS.
The Linux Photography blog also has this article on dispcalGUI here.