Red Flower

Installing and Configuring Redshift in Debian GNU/Linux

According to the Redshift man page:

“Redshift adjusts the colour 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.

The colour temperature is set according to the position of the sun. A different colour temperature is set during night and daytime. During twilight and early morning, the colour temperature transitions smoothly from night to daytime temperature to allow your eyes to slowly adapt”.

Install Redshift

To install Redshift run the following command with root access:

# apt-get install redshift

Configuring Redshift

I found that the programme needs some configurations before it will run properly. After running Redshift for the first time I received this message:

Trying location provider `geoclue'... 
Unable to obtain master client: The name org.freedesktop.Geoclue. Master was not provided by any .service files
Failed to start provider geoclue. 
Trying next provider... 
Trying location provider `manual'... 
Latitude and longitude must be set.

Unfortunately the man page isn’t that detailed when it comes to setting up a configuration file. The command:

$ info redshift

gives slightly more detail regarding setting up a configuration file, stating that a “configuration file with the name `redshift.conf’ can optionally be placed in `~/.config/’ “.

To create a configuration file using the example given in the info file:

# vi ~/.config/redshift.conf

Insert the following into the configuration file:

[redshift]
temp-day=5700
temp-night=3500
transition=1
gamma=0.8
location-provider=manual
adjustment-method=randr

[manual]
lat=-27.1
lon=27.5

[randr]
screen=0
screen=1

First, the latitude (lat) and longitude (lon) values should be set to your current location, with negative values representing west and south respectively. My example uses the location of Johannesburg, South Africa.

Secondly, this configuration file if for two screens. If your system only has one screen, delete the line that says “screen=1”.

Running Redshift from the Terminal

Once Redshift is installed and a configuration file is set up, the programme can be run through the terminal by invoking:

$ redshift

Running the programme with this command will, however, leave the process running in the terminal window and it will not return the shell prompt. The result is that the process will terminate as soon as the terminal window is closed.

To prevent this the process must be started in the background using the following:

$ redshift &

The process will now run and the shell prompt will be returned. This will allow you to close the terminal without killing the Redshift process.


This work by Clinton Pavlovic is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.