Redshift: Unable to load config file - permission denied

Created on 30 Sep 2018  路  6Comments  路  Source: jonls/redshift

Describe the bug
Redshift (v1.12) is unable to read my config file

  • [x] [I have checked the FAQ](https://github.com/jonls/redshift/blob/master/README.md#faq) and my issue is not mention there.

To Reproduce
install redshift on OpenSUSE Tumbleweed:

$ sudo zypper install redshift

Run redshift

$ redshift -c ~/.config/redshift/redshift.conf
fopen: Permission denied
Unable to load config file.

Not really sure what it means with 'permission denied':

$ ls -l ~/.config/redshift/redshift.conf
-rw-r--r-- 1 chris users chris 2.0K 2018-09-30 16:23 /home/chris/.config/redshift/redshift.conf

Without stating config file redshift tries to use geoclue2, which i don't want:

Trying location provider `geoclue2'...
Using provider `geoclue2'.
Solar elevations: day above 3.0, night below -6.0
Temperatures: 6500K at day, 4500K at night
Brightness: 1.00:1.00
Gamma (Daytime): 1.000, 1.000, 1.000
Gamma (Night): 1.000, 1.000, 1.000
Using method `randr'.
Waiting for initial location to become available...
Unable to start GeoClue client: GDBus.Error:org.freedesktop.DBus.Error.AccessDenied: Geolocation disabled for UID 1000.
Access to the current location was denied by GeoClue!
Make sure that location services are enabled and that Redshift is permitted
to use location services. See https://github.com/jonls/redshift#faq for more
information.
Unable to get location from provider.

Expected behavior
Redshift reads my config file

Software versions (please complete the following information):

  • OS: OpenSUSE Tumbleweed running X
  • Redshift version: 1.12
  • Redshift installed from: OpenSUSE package manager (zypper)

My config. Note, it uses manual:
; Global settings for redshift
[redshift]
; Set the day and night screen temperatures
temp-day=5700
temp-night=3000

; Enable/Disable a smooth transition between day and night
; 0 will cause a direct change from day to night screen temperature.
; 1 will gradually increase or decrease the screen temperature.
transition=1

; 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: 'geoclue', 'geoclue2', 'manual'
; type 'redshift -l list' to see possible values.
; The location provider settings are in a different section.

; Use manual if internet is out
;location-provider=geoclue2
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.

; NOTE: These are not used if location-provider = geoclue2
; Amsterdam
[manual]
lat=52.3
lon=4.9

; 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 screen 1.
; Note that the numbering starts from 0, so this is actually the
; second screen. If this option is not specified, Redshift will try
; to adjust _all_ screens.
;[randr]
;screen=1

question

All 6 comments

Thanks for the issue report. This seems most likely to be an issue with permissions somewhere in you config path. Maybe one of the directories in the path has the wrong permission? Have you checked the permissions of ~/.config, ~/.config/redshift, etc.? These need the execute (x) bit set. Check that the owner of these directories/file is also the same as the user that you're using to run Redshift.

Since this is unlikely to be a Redshift issue I'm closing this. Please feel free to reopen if you tried everything and still experience this issue.

Unfortunately, granting executable permissions to the redshift.conf file
doesn't help with running redshift with a config file. I'm still getting
fopen: permission denied errors.

Are there anymore debug capabilities when running redshift besides
verbose (-v)?

On Oct-13-18, Jon Lund Steffensen wrote:

Thanks for the issue report. This seems most likely to be an issue with permissions somewhere in you config path. Maybe one of the directories in the path has the wrong permission? Have you checked the permissions of ~/.config, ~/.config/redshift, etc.? These need the execute (x) bit set. Check that the owner of these directories/file is also the same as the user that you're using to run Redshift.

Since this is unlikely to be a Redshift issue I'm closing this. Please feel free to reopen if you tried everything and still experience this issue.

--
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub:
https://github.com/jonls/redshift/issues/672#issuecomment-429555085

Please reread my suggestion. You need x on the directories possibly.

All directories on my system have the x permissions (for all groups)
by default.

Also, I noticed after building redshift from source that the problem
goes away - it seems that this issue is specific to the currently
installed version of redshift on openSUSE Tumbleweed, which is built
using the instructions here:

https://build.opensuse.org/package/show/openSUSE:Factory/redshift

I'm going to take it up with them, this doesn't seem to be a bug related
to redshift itself but rather with how it's installed on openSUSE.

Sorry for the trouble.

On Oct-15-18, Jon Lund Steffensen wrote:

Please reread my suggestion. You need x on the directories possibly.

--
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub:
https://github.com/jonls/redshift/issues/672#issuecomment-429920142

Awesome, thanks!

This ended up being an issue with (open)SUSE's AppArmour, which didn't update the allowed config path from ~/.conf/redshift.conf to ~/.config/redshift/redshift.conf whenever that was changed as the default in redshift.

Related bug is https://bugzilla.suse.com/show_bug.cgi?id=1111906

Was this page helpful?
0 / 5 - 0 ratings

Related issues

AdamNiederer picture AdamNiederer  路  5Comments

da2x picture da2x  路  6Comments

hjweide picture hjweide  路  4Comments

deutrino picture deutrino  路  6Comments

amosbird picture amosbird  路  4Comments