xflux - because it's what you're asking for
xflux works this way and provides no option to change its behaviour, you give it your location and it will use this plus your system time to determine when it should change the color, based on sunrise and sunset at the chosen location. We certainly don't want to fiddle with the system time, but how about we just fake time (
sudo apt install faketime)?
faketime 20 xflux -l 52.5, -g -1.886 -k 3200
xflux as if it's eight o'clock.
faketime has a “freeze clock at absolute timestamp” feature, but unfortunately I didn't get it to work with
xflux. I suggest you use the GNU coreutil
timeout -k0 8h faketime 20 xflux -l 52.5, -g -1.886 -k 3200 -nofork
This will start
xflux as if it's eight o'clock and
kill it instantly (
timeout to work it's necessary to start
xflux with the
-nofork option. For
xflux it's four in the morning then, so if you don't live anywhere where the sun rises earlier it should keep the specified color temperature over the whole runtime. Of course you might change the location and/or the
faketime to a place and time that fits your exact needs. To automate the process set a cronjob with
crontab -e like this:
0 */8 * * * DISPLAY=:0 timeout -k0 8h faketime 20 xflux -l 52.5, -g -1.886 -k 3200 -nofork
This will run the command once every eight hours. As
timeout also kills it after eight hours this makes for a constant color temperature all day long – unfortunately with a quick flash every eight hours which I wasn't able to eliminate.
There is a tray icon GUI called fluxgui · Github available via this PPA.
redshift – because it offers a much easier solution to your problem
There are alternatives like
sudo apt install redshift) which allow you to manually set the color temperature:
redshift -O 3200
This will stay in effect until you turn it off with
redshift -x. The package
sudo apt install redshift-gtk) provides a tray icon which allows you to switch if off with a mouse click.