unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
* bug#45360: Cannot log in to GNOME on foreign distro with Guix
@ 2020-12-22  5:38 Evan Straw
  2020-12-22 11:42 ` Carlo Zancanaro
  0 siblings, 1 reply; 5+ messages in thread
From: Evan Straw @ 2020-12-22  5:38 UTC (permalink / raw)
  To: 45360

[-- Attachment #1: Type: text/plain, Size: 6376 bytes --]

 Hello,

I'm running Ubuntu 20.04.1 LTS with Guix installed on top as a package
manager.

--8<---------------cut here---------------start------------->8---
evan@navi:~$ guix describe
Generation 30	Dec 21 2020 13:21:53	(current)
  guix f00e68a
    repository URL: https://git.savannah.gnu.org/git/guix.git
    branch: master
    commit: f00e68ace070fd5240a4b5874e61c26f6e909b6c
  personal bd255b1
    repository URL: https://git.sr.ht/~estraw/guix-channel
    branch: master
    commit: bd255b10b22e612971bd8daf9c2ab3d3014a0b7c
--8<---------------cut here---------------end--------------->8---


One day, I went to log in after rebooting my PC (I had performed a `guix
pull` the same day) and upon entering my password, I was just brought
immediately back to the login screen. Checking the system journal, I
found that gnome-session is outputting several errors like

--8<---------------cut here---------------start------------->8---
Dec 17 22:27:14 navi gnome-session[24407]: gnome-session-binary[24407]: WARNING: Unable to find required component 'org.gnome.SettingsDaemon.A11ySettings'
Dec 17 22:27:14 navi gnome-session[24407]: gnome-session-binary[24407]: WARNING: Unable to find required component 'org.gnome.SettingsDaemon.Color'
Dec 17 22:27:14 navi gnome-session-binary[24407]: WARNING: Unable to find required component 'org.gnome.SettingsDaemon.A11ySettings'
Dec 17 22:27:14 navi gnome-session-binary[24407]: WARNING: Unable to find required component 'org.gnome.SettingsDaemon.Color'
Dec 17 22:27:14 navi gnome-session[24407]: gnome-session-binary[24407]: WARNING: Unable to find required component 'org.gnome.SettingsDaemon.Datetime'
Dec 17 22:27:14 navi gnome-session-binary[24407]: WARNING: Unable to find required component 'org.gnome.SettingsDaemon.Datetime'
Dec 17 22:27:14 navi gnome-session[24407]: gnome-session-binary[24407]: WARNING: Unable to find required component 'org.gnome.SettingsDaemon.Housekeeping'
Dec 17 22:27:14 navi gnome-session-binary[24407]: WARNING: Unable to find required component 'org.gnome.SettingsDaemon.Housekeeping'
Dec 17 22:27:14 navi gnome-session[24407]: gnome-session-binary[24407]: WARNING: Unable to find required component 'org.gnome.SettingsDaemon.Keyboard'
Dec 17 22:27:14 navi gnome-session-binary[24407]: WARNING: Unable to find required component 'org.gnome.SettingsDaemon.Keyboard'
Dec 17 22:27:14 navi gnome-session[24407]: gnome-session-binary[24407]: WARNING: Unable to find required component 'org.gnome.SettingsDaemon.MediaKeys'
Dec 17 22:27:14 navi gnome-session-binary[24407]: WARNING: Unable to find required component 'org.gnome.SettingsDaemon.MediaKeys'
Dec 17 22:27:14 navi gnome-session[24407]: gnome-session-binary[24407]: WARNING: Unable to find required component 'org.gnome.SettingsDaemon.Power'
Dec 17 22:27:14 navi gnome-session-binary[24407]: WARNING: Unable to find required component 'org.gnome.SettingsDaemon.Power'
Dec 17 22:27:14 navi gnome-session[24407]: gnome-session-binary[24407]: WARNING: Unable to find required component 'org.gnome.SettingsDaemon.PrintNotifications'
Dec 17 22:27:14 navi gnome-session[24407]: gnome-session-binary[24407]: WARNING: Unable to find required component 'org.gnome.SettingsDaemon.Rfkill'
Dec 17 22:27:14 navi gnome-session[24407]: gnome-session-binary[24407]: WARNING: Unable to find required component 'org.gnome.SettingsDaemon.ScreensaverProxy'
Dec 17 22:27:14 navi gnome-session-binary[24407]: WARNING: Unable to find required component 'org.gnome.SettingsDaemon.PrintNotifications'
Dec 17 22:27:14 navi gnome-session-binary[24407]: WARNING: Unable to find required component 'org.gnome.SettingsDaemon.Rfkill'
Dec 17 22:27:14 navi gnome-session-binary[24407]: WARNING: Unable to find required component 'org.gnome.SettingsDaemon.ScreensaverProxy'
Dec 17 22:27:14 navi gnome-session-binary[24407]: WARNING: Unable to find required component 'org.gnome.SettingsDaemon.Sharing'
Dec 17 22:27:14 navi gnome-session[24407]: gnome-session-binary[24407]: WARNING: Unable to find required component 'org.gnome.SettingsDaemon.Sharing'
Dec 17 22:27:14 navi gnome-session[24407]: gnome-session-binary[24407]: WARNING: Unable to find required component 'org.gnome.SettingsDaemon.Smartcard'
Dec 17 22:27:14 navi gnome-session-binary[24407]: WARNING: Unable to find required component 'org.gnome.SettingsDaemon.Smartcard'
Dec 17 22:27:14 navi gnome-session[24407]: gnome-session-binary[24407]: WARNING: Unable to find required component 'org.gnome.SettingsDaemon.Sound'
Dec 17 22:27:14 navi gnome-session-binary[24407]: WARNING: Unable to find required component 'org.gnome.SettingsDaemon.Sound'
Dec 17 22:27:14 navi gnome-session[24407]: gnome-session-binary[24407]: WARNING: Unable to find required component 'org.gnome.SettingsDaemon.Wacom'
Dec 17 22:27:14 navi gnome-session-binary[24407]: WARNING: Unable to find required component 'org.gnome.SettingsDaemon.Wacom'
Dec 17 22:27:14 navi gnome-session[24407]: gnome-session-binary[24407]: WARNING: Unable to find required component 'org.gnome.SettingsDaemon.XSettings'
Dec 17 22:27:14 navi gnome-session[24407]: gnome-session-binary[24407]: CRITICAL: We failed, but the fail whale is dead. Sorry....
Dec 17 22:27:14 navi gnome-session-binary[24407]: WARNING: Unable to find required component 'org.gnome.SettingsDaemon.XSettings'
Dec 17 22:27:14 navi gnome-session-binary[24407]: CRITICAL: We failed, but the fail whale is dead. Sorry....
--8<---------------cut here---------------end--------------->8---

When I disable the shell script in /etc/profile.d/ that exports
necessary environment variables for Guix, the problem disappears, and I
am able to log in again, which makes me suspect that maybe some of the
environment variables that Guix sets are confusing GNOME somehow. I'm
not sure if it is caused by one of the packages I have installed from
Guix, but I know that when I limit my profile to only Emacs and the
Emacs packages I have installed from Guix, I am able to log in
again. When I add a package (like stumpwm) that needs to set
XDG_DATA_DIRS, the problem seems to reappear. I also was able to
reproduce the problem on another machine I have that runs the same
operating system and also has Guix.

Is this a bug, or is it possible I've just misconfigured something?
Please let me know if I'm missing any needed information and I'll do my
best to provide it.

-- Evan Straw <evan.straw99@gmail.com>

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#45360: Cannot log in to GNOME on foreign distro with Guix
  2020-12-22  5:38 bug#45360: Cannot log in to GNOME on foreign distro with Guix Evan Straw
@ 2020-12-22 11:42 ` Carlo Zancanaro
  2020-12-22 12:34   ` Ricardo Wurmus
  0 siblings, 1 reply; 5+ messages in thread
From: Carlo Zancanaro @ 2020-12-22 11:42 UTC (permalink / raw)
  To: Evan Straw; +Cc: 45360

Hi Evan!

On Tue, Dec 22 2020, Evan Straw wrote:
> ... When I add a package (like stumpwm) that needs to set 
> XDG_DATA_DIRS, the problem seems to reappear. ...

I think I've had this problem in the past. I'm currently running 
on a foreign distribution, and I have this in my ~/.profile file:

    # XDG_DATA_DIRS often starts off empty, but an empty value is
    # interpreted as this value. Loading a profile can set it, 
    though,
    # which effectively ignores the default value. We want it to
    # instead add to the default, so we set it here to the default
    # value.
    if [ -z "$XDG_DATA_DIRS" ]; then
        export XDG_DATA_DIRS="/usr/local/share/:/usr/share/"
    fi

I think I took the default value from 
https://specifications.freedesktop.org/basedir-spec/latest/ar01s03.html 
where it says:

    If $XDG_DATA_DIRS is either not set or empty, a value equal to 
    /usr/local/share/:/usr/share/ should be used.

I hope that helps!

> Is this a bug, or is it possible I've just misconfigured 
> something?

We should consider this a bug, because Guix's attempt to add to 
the XDG_DATA_DIRS environment variable clobbers the default value 
that foreign distributions are relying on.

We should at least document this in the manual, maybe in "(guix) 
Application Setup".

Carlo




^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#45360: Cannot log in to GNOME on foreign distro with Guix
  2020-12-22 11:42 ` Carlo Zancanaro
@ 2020-12-22 12:34   ` Ricardo Wurmus
  2020-12-22 13:40     ` Nicolas Goaziou
  0 siblings, 1 reply; 5+ messages in thread
From: Ricardo Wurmus @ 2020-12-22 12:34 UTC (permalink / raw)
  To: Carlo Zancanaro; +Cc: evan.straw99, 45360


Carlo Zancanaro <carlo@zancanaro.id.au> writes:

>> Is this a bug, or is it possible I've just misconfigured something?
>
> We should consider this a bug, because Guix's attempt to add to the
> XDG_DATA_DIRS environment variable clobbers the default value that
> foreign distributions are relying on.

Is this something we can avoid by patching … something to use a
Guix-specific variable?  This variable can cause a lot of trouble when
using Guix on foreign distros, but I don’t know how we can prevent
system software from loading stuff from XDG_DATA_DIRS for Guix and vice
versa without renaming the variables.

A related question: should Guix software ignore XDG_DATA_DIRS when set
by the system?  Or is it enough to make it respect an *additional*
variable like GUIX_XDG_DATA_DIRS, which we would have Guix set?

> We should at least document this in the manual, maybe in "(guix)
> Application Setup".

If it’s an easy workaround: yes.  But if it’s a bug we can actually fix
I’d rather see it fixed :)

-- 
Ricardo




^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#45360: Cannot log in to GNOME on foreign distro with Guix
  2020-12-22 12:34   ` Ricardo Wurmus
@ 2020-12-22 13:40     ` Nicolas Goaziou
  2020-12-30  2:29       ` Evan Straw
  0 siblings, 1 reply; 5+ messages in thread
From: Nicolas Goaziou @ 2020-12-22 13:40 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: evan.straw99, 45360

Hello,

Ricardo Wurmus <rekado@elephly.net> writes:

> Carlo Zancanaro <carlo@zancanaro.id.au> writes:

>> We should consider this a bug, because Guix's attempt to add to the
>> XDG_DATA_DIRS environment variable clobbers the default value that
>> foreign distributions are relying on.
>
> Is this something we can avoid by patching … something to use a
> Guix-specific variable?  This variable can cause a lot of trouble when
> using Guix on foreign distros, but I don’t know how we can prevent
> system software from loading stuff from XDG_DATA_DIRS for Guix and vice
> versa without renaming the variables.
>
> A related question: should Guix software ignore XDG_DATA_DIRS when set
> by the system?  Or is it enough to make it respect an *additional*
> variable like GUIX_XDG_DATA_DIRS, which we would have Guix set?
>
>> We should at least document this in the manual, maybe in "(guix)
>> Application Setup".
>
> If it’s an easy workaround: yes.  But if it’s a bug we can actually fix
> I’d rather see it fixed :)

I don't think this would be a sufficient workaround anyway. It seems
related to bug 35308 (<http://issues.guix.info/35308>) where
GI_TYPELIB_PATH is also involved.

Regards,
-- 
Nicolas Goaziou




^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#45360: Cannot log in to GNOME on foreign distro with Guix
  2020-12-22 13:40     ` Nicolas Goaziou
@ 2020-12-30  2:29       ` Evan Straw
  0 siblings, 0 replies; 5+ messages in thread
From: Evan Straw @ 2020-12-30  2:29 UTC (permalink / raw)
  To: 45360; +Cc: Nicolas Goaziou

[-- Attachment #1: Type: text/plain, Size: 651 bytes --]


Hello,

I have more information on this bug. Apologies for the delay. I've been
able to narrow the problem down to a single package - when I install
sbcl, I am unable to log in, and when I uninstall sbcl, the problem
disappears, and I am able to log in normally. Even using a profile with
only the sbcl package, the problem occurs. I checked out the package
definition for sbcl and it seems to set both XDG_CONFIG_DIRS and
XDG_DATA_DIRS, so maybe that's where the problem is? I'm not really sure
what causes this, however; that's just a guess.

Hope this helps narrow it down more. If I can provide any more
information please let me know.

-- Evan


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2020-12-30 14:16 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-22  5:38 bug#45360: Cannot log in to GNOME on foreign distro with Guix Evan Straw
2020-12-22 11:42 ` Carlo Zancanaro
2020-12-22 12:34   ` Ricardo Wurmus
2020-12-22 13:40     ` Nicolas Goaziou
2020-12-30  2:29       ` Evan Straw

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).