agalakhov / xiccd

X color profile daemon
GNU General Public License v3.0
59 stars 15 forks source link

can't get profile for display xrandr-eDP-1 #41

Open sify21 opened 2 months ago

sify21 commented 2 months ago

~/.xsession-errors

** (xiccd:2574): CRITICAL **: 11:35:02.167: can't get profile for display xrandr-eDP-1: failed to load file: Error opening file /var/lib/lightdm/.local/share/icc/edid-3563963f89dc3c7fc429a8d9ea9acc8c.icc: Permission denied

** (xiccd:2574): CRITICAL **: 11:35:02.167: can't get profile for display xrandr-eDP-1: failed to load file: Error opening file /var/lib/lightdm/.local/share/icc/edid-3563963f89dc3c7fc429a8d9ea9acc8c.icc: Permission denied

** (xiccd:2574): CRITICAL **: 11:35:02.189: unable to add device profile: failed to obtain org.freedesktop.color-manager.modify-device auth

/usr/share/dbus-1/system-services/org.freedesktop.ColorManager.service

[D-BUS Service]
Name=org.freedesktop.ColorManager
Exec=/usr/libexec/colord
User=colord
SystemdService=colord.service

/usr/share/dbus-1/system.d/org.freedesktop.ColorManager.conf

<?xml version="1.0" encoding="UTF-8"?> <!-- -*- XML -*- -->

<!DOCTYPE busconfig PUBLIC
 "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
 "https://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
<busconfig>

  <!-- This configuration file specifies the required security policies
       for the ColorManager to work. -->

  <!-- Only user root or user colord can own the colord service -->
  <policy user="root">
    <allow own="org.freedesktop.ColorManager"/>
  </policy>
  <policy user="colord">
    <allow own="org.freedesktop.ColorManager"/>
  </policy>

 <!-- Allow anyone to call into the service - we'll reject callers using PolicyKit -->
  <policy context="default">
    <allow send_destination="org.freedesktop.ColorManager"
           send_interface="org.freedesktop.ColorManager"/>
    <allow send_destination="org.freedesktop.ColorManager"
           send_interface="org.freedesktop.ColorManager.Profile"/>
    <allow send_destination="org.freedesktop.ColorManager"
           send_interface="org.freedesktop.ColorManager.Device"/>
    <allow send_destination="org.freedesktop.ColorManager"
           send_interface="org.freedesktop.ColorManager.Sensor"/>
    <allow send_destination="org.freedesktop.ColorManager"
           send_interface="org.freedesktop.DBus.Properties"/>
    <allow send_destination="org.freedesktop.ColorManager"
           send_interface="org.freedesktop.DBus.Introspectable"/>
    <allow send_destination="org.freedesktop.ColorManager"
           send_interface="org.freedesktop.DBus.Peer"/>
  </policy>

</busconfig>
agalakhov commented 2 months ago

This is "permission denied". We didn't create this file. Where it does come from?

sify21 commented 2 months ago

I have no idea. They are under lightdm directory. Does it correspond to this setting? image

agalakhov commented 2 months ago

These files are created for the lightdm user or something like, they don't belong to the actual user logged in. Looks like LightDM managed to start colord on its own and now colord tries to access files that do not belong to the current user. It is definitely a colord issue, not xiccd one. And it could be just a configuration issue, that is, deleting the whole icc directory under lightm can potentially help. There EDID-based ICC files are auto-generated and can be newly generated at any time.

Fixing file permissions manually could help as well, but I don't believe it's about file permissions. Probably it is about the whole directory permissions which should not be altered since there are other safety-critical files in the lightdm directory as well.