Redshift - how to properly configure under Xfce?

Greetings folks!

I’m trying to configure Redshift (blue light filter) under Xfce and facing problem after problem during this process. Would really appreciate if you could help me sort it out.

So first things first I installed it, launched and it just outputted error message mentioning some problem with “geoclue2”. Searching showed that it’s a common issue and suggested to alternatively configure Redshift by adding redshift.conf file with manually added latitude and longitude for my current location into ~/.config/ folder.
I did so based on this sample and it indeed worked. Well for a while at least, because I tried to add Redshift to autostart and that’s when new problem popped up :slight_smile:
I added redshift command into Session and Startap > Application Autostart but after system reboot nothing happened. Moreover typing again redshift in terminal caused program hanging with some mild screen flickering, like it’s in a loop, constantly switching dimmed color temp on and off.

Any ideas how to make it work?

Sadly Xfce doesn’t have builtin blue light filter support so I’m kinda stuck with Redshift if I want to have such functionality (I wasn’t able to find valid alternatives either)

Here is the ArchWiki article on redshift:

https://wiki.archlinux.org/title/Redshift

Hopefully it will help to sort out your issues.

Also as an alternative to Redshift you might want to have a look at:

HTH

[Also running XFCE]
Does ~/.config/autostart/redshift-gtk.desktop exist? Besides creating the conf file, this should be all you need.

My ~/.config/redshift.conf

Click for output

; Global settings for redshift [redshift] ; Set the day and night screen temperatures temp-day=6000 temp-night=4500

; Disable the smooth fade between temperatures when Redshift starts and stops.
; 0 will cause an immediate change between screen temperatures.
; 1 will gradually apply the new screen temperature over a couple of seconds.
fade=1

; Solar elevation thresholds.
; By default, Redshift will use the current elevation of the sun to determine
; whether it is daytime, night or in transition (dawn/dusk). When the sun is
; above the degrees specified with elevation-high it is considered daytime and
; below elevation-low it is considered night.
;elevation-high=3
;elevation-low=-6

; Custom dawn/dusk intervals.
; Instead of using the solar elevation, the time intervals of dawn and dusk
; can be specified manually. The times must be specified as HH:MM in 24-hour
; format.
;dawn-time=6:00-7:45
;dusk-time=18:35-20:15

; Set the screen brightness. Default is 1.0.
;brightness=0.9
; It is also possible to use different settings for day and night
; since version 1.8.
;brightness-day=0.7
;brightness-night=0.4
; Set the screen gamma (for all colors, or each color channel
; individually)
gamma=0.8
;gamma=0.8:0.7:0.8
; This can also be set individually for day and night since
; version 1.10.
;gamma-day=0.8:0.7:0.8
;gamma-night=0.6

; Set the location-provider: ‘geoclue2’, ‘manual’
; type ‘redshift -l list’ to see possible values.
; The location provider settings are in a different section.
location-provider=manual

; Set the adjustment-method: ‘randr’, ‘vidmode’
; type ‘redshift -m list’ to see all possible values.
; ‘randr’ is the preferred method, ‘vidmode’ is an older API.
; but works in some cases when ‘randr’ does not.
; The adjustment method settings are in a different section.
adjustment-method=randr

; Configuration of the location-provider:
; type ‘redshift -l PROVIDER:help’ to see the settings.
; ex: ‘redshift -l manual:help’
; Keep in mind that longitudes west of Greenwich (e.g. the Americas)
; are negative numbers.
[manual]
lat=35.22
lon=-84.84

; Configuration of the adjustment-method
; type ‘redshift -m METHOD:help’ to see the settings.
; ex: ‘redshift -m randr:help’
; In this example, randr is configured to adjust only screen 0.
; Note that the numbering starts from 0, so this is actually the first screen.
; If this option is not specified, Redshift will try to adjust all screens.
[randr]
screen=0

Only differences are these:

[redshift]
temp-day=5700
temp-night=3500

# this is instead of fade
transition=1

# no [randr] section

Hmmm…not sure where I got the transition=1 from; must have been from an older version of redshift.

Thank you guys for the replies!

I’ve actually read that linked wiki article in the first place but somehow missed “flickering” part in troubleshooting section. That gave me additional thoughts to double check how Redshift is actually started. Turns out Redshift shortcut inside Whisker menu had redshift-gtk command and what I added (as already mentioned) in Application Autostart was just redshift. So after updating it to redshift-gtk everything seems to work as it should. For now at least.

Oh and thanks for pointing out Gummy - if Redshift will start giving me additional problems, I’ll make sure to check it out as well.

One last question: in Application autostart I found “Geoclue Demo agent” - is it still needed since Redshift gets location from manually added coordinates? Is it safe to disable it? It slightly bothers me to have things in autostart which potentially are not used by anything else :slight_smile:

I guess if you have set:

location-provider=manual

and specified your coordination then you won’t be needing geoclue to be running unless something else is dependent on it for having access to your location. See here for what has geoclue as requirement:

https://archlinux.org/packages/extra/x86_64/geoclue/

2 Likes

What @pebcak said. I have set my coordinates manually and do not have geoclue running.

2 Likes

I remove geoclue from autostart in general. It doesn’t influence the settings in redshift at all. If I remember right, it is even safe to remove geoclue on Xfce completely without any issues, provided, one is not on Gnome, KDE and such like data-hungry DE’s. There, services for geoclue need to be disbaled and sometimes even masked, afaict.

1 Like

I see. Thank you for the clarification!
Looks like at this point I can only disable it - edit/remove option in autostart is greyed out.

I guess what @ivanhoe meant is to remove the package alltogether.

You could do that if no other packages are dependent on it.

Check: pactree -r geoclue

I couldn’t do it on GNOME:

$ pactree -r geoclue
geoclue
├─gnome-settings-daemon
│ ├─gnome-control-center
│ ├─gnome-shell
│ │ └─gdm
│ ├─gnome-tweaks
│ └─mutter
│   └─gnome-shell
└─xdg-desktop-portal
  └─flatpak
1 Like

Oh, got it. Yeah, I have only Redshift inside that tree.

Also do I understand it correctly: if Redshift will be updated in the future, pacman during upgrade will automatically re-download Geoclue again (if it’s currently removed)?

The pactree -r X command shows which packages are dependent on X.

If you got redshift there, then geoclue is a dependency of the redshift. You couldn’t remove that without breaking the dependency for redshift.

1 Like

Understood. Thank you so much for clearing that up!

1 Like