Ich hatte auch dieses Problem. Redshift ist ein Open-Source-Tool mit Funktionen von f.lux und der Möglichkeit, die Farbtemperatur manuell einzustellen.
f.lux ändert die Farbtemperatur nur dann, wenn er der Meinung ist, dass es Nacht ist, wo Sie sind. Deswegen habe ich auch ein Python-Skript geschrieben, mit dem f.lux während des Tages ausgeführt wird. Es berechnet den entgegengesetzten Punkt auf dem Globus und gibt diese Koordinaten für den Fluss.
Um es zu verwenden, müssen Sie diesen Code in einer Datei speichern, z. B. flux.py
in Ihrem Home-Verzeichnis. Öffnen Sie dann ein Terminal und führen Sie die Datei mit aus python ~/flux.py
.
#!/usr/bin/env python # encoding: utf-8 """ Run flux (http://stereopsis.com/flux/) with the addition of default values and support for forcing flux to run in the daytime. """ import argparse import subprocess import sys def get_args(): """ Get arguments from the command line. """ parser = argparse.ArgumentParser( description="Run flux (http://stereopsis.com/flux/)\n" + "with the addition of default values and\n" + "support for forcing flux to run in the daytime.", formatter_class=argparse.RawTextHelpFormatter) parser.add_argument("-lo", "--longitude", type=float, default=0.0, help="Longitude\n" + "Default : 0.0") parser.add_argument("-la", "--latitude", type=float, default=0.0, help="Latitude\n" + "Default : 0.0") parser.add_argument("-t", "--temp", type=int, default=3400, help="Color temperature\n" + "Default : 3400") parser.add_argument("-b", "--background", action="store_true", help="Let the xflux process go to the background.\n" + "Default : False") parser.add_argument("-f", "--force", action="store_true", help="Force flux to change color temperature.\n" "Default : False\n" "Note : Must be disabled at night.") args = parser.parse_args() return args def opposite_long(degree): """ Find the opposite of a longitude. """ if degree > 0: opposite = abs(degree) - 180 else: opposite = degree + 180 return opposite def opposite_lat(degree): """ Find the opposite of a latitude. """ if degree > 0: opposite = 0 - abs(degree) else: opposite = 0 + degree return opposite def main(args): """ Run the xflux command with selected args, optionally calculate the antipode of current coords to trick xflux into running during the day. """ if args.force == True: pos_long, pos_lat = (opposite_long(args.longitude), opposite_lat(args.latitude)) else: pos_long, pos_lat = args.longitude, args.latitude if args.background == True: background = '' else: background = ' -nofork' xflux_cmd = 'xflux -l -g -k ' subprocess.call(xflux_cmd.format( pos_lat=pos_lat, pos_long=pos_long, temp=args.temp, background=background), shell=True) if __name__ == '__main__': try: main(get_args()) except KeyboardInterrupt: sys.exit()