How do I install redshift in Ubuntu?

Nowadays, as of 14.04 -- redshift is in the repos by default:

sudo apt-get install redshift redshift-gtk

Finally, it works, thanks to user2832080. This is what I did:

  1. Install randr dependency.

    $ sudo apt-get install libxcb1-dev libxcb-randr0-dev libx11-dev
    
  2. Download redshift 1.9.1 and extract it.

  3. change to redshift 1.9.1 directory and type:

    $ ./configure --enable-randr --enable-gui --enable-ubuntu \
    --with-systemduserunitdir=$HOME/.config/systemd/user
    
  4. $ make

  5. $ sudo make install
  6. create redshift.conf at ~/.config, see this link.

  7. go to /usr/local/bin and run redshift-gtk.

  8. turn on autostart.

Firstly, you need to download redshift from the git link provided and extract it. Then look on the HACKING file. It has the instructions you need to install it from source.

I quote it here for easier access:

Build from repository

$ ./bootstrap
$ ./configure

The bootstrap script will use autotools to set up the build environment and create the configure script.

Use ./configure --help' for options. Use--prefix' to make an install in your home directory. This is necessary to test python scripts. The systemd user unit directory should be set to avoid writing to the system location.

Systemd will look for the unit files in ~/.config/systemd/user so this directory can be used as a target if the unit files will be used. Otherwise the location can be set to no to disable the systemd files.

Example:

$ ./configure --prefix=$HOME/redshift/root \
--with-systemduserunitdir=$HOME/.config/systemd/user

Now, build the files:

$ make

The main redshift program can be run at this point. To install to the prefix directory run:

$ make install

You can now run the python script. Example:

$ $HOME/redshift/root/bin/redshift-gtk

Depenencies

  • autotools, gettext
  • libdrm (Optional, for DRM support)
  • libxcb, libxcb-randr (Optional, for RandR support)
  • libX11, libXxf86vm (Optional, for VidMode support)
  • geoclue (Optional, for geoclue support)

Notes

  • verbose flag is (currently) only held in redshift.c; thus, write all verbose messages there.

Hopefully after some minutes you will have it set it up.

Now, you want to configure it to your liking.

I haven't hacked around with advanced configs since I am pretty happy with the default setting. There are two ways to set up your variables. First, you can pass them when you start redshift (e.g. redshift -l 55.7:12.6 -t 5700:3600) or you can make a config file with all your settings if its too complicated (on ~/.config/redshift.conf). The most important setting is your location which is the -l variable above. Find your latitude on google and pass it there. The -t is about the color temperature at day and night. There are a lot more options which you can find with man redshift. After you find the desired options you just put it on the start up programs with the command e.g. redshift -l 55.7:12.6 -t 5700:3600.

You can find more info on the redshift site: http://jonls.dk/redshift/