Subject: Re: bug#45360: Personal Experience

From: 宋文武 <[email-masked]>
Date: Mon, 20 Jan 2025 18:02:13 +0800

<[email-masked]> writes:

> Hi, folks! I can see that the last comment is back in 2020.
>
> Is there anyone involved in related development that still considers this bug? Today, in 2024, four years later, I
> can see the bug is not fixed.
>
> Yesterday, I  ran guix install gcl sbcl. After a logout, I was unable to login. First, I thought I messed up
> something by accident so I used timeshift to roll back my machine. After the fix I installed gcl and sbcl again,
> then when I started my machine, the same problem occured! It took my more than 5 reboots to found out that it is the
> sbcl installed via guix that broke gnome somehow. After guix remove sbcl, the problem is gone! 
>
> does anyone have some idea about a fix or walkaround? This is absolutely a bug, and since gnome is popular fossware,
> I would regard it as an urgent bug that forces people not to use sbcl via guix. 
>
> If the bug is not easily fixable in the near future, a note in the package description is needed, warning people not
> to use the package if they are using gnome.
>
> --Jack

Hello, if the issue is for XDG_DATA_DIRS, it should had been fixed
already in commit 23aafc800c9e678.  On a foreign distro, you should
have XDG_DATA_DIRS with a default value contains
'/usr/local/share:/usr/share' at the end.

In "/etc/profile.d/zzz-guix.sh", it has:

# Explicitly initialize XDG base directory variables to ease compatibility
# with Guix System: see <https://issues.guix.gnu.org/56050#3>.
export XCURSOR_PATH="${XCURSOR_PATH:-/usr/local/share/icons:/usr/share/icons}"
export XDG_DATA_HOME="${XDG_DATA_HOME:-$HOME/.local/share}"
export XDG_CONFIG_HOME="${XDG_CONFIG_HOME:-$HOME/.config}"
export XDG_STATE_HOME="${XDG_STATE_HOME:-$HOME/.local/state}"
export XDG_DATA_DIRS="${XDG_DATA_DIRS:-/usr/local/share/:/usr/share/}"
export XDG_CONFIG_DIRS="${XDG_CONFIG_DIRS:-/etc/xdg}"
export XDG_CACHE_HOME="${XDG_CACHE_HOME:-$HOME/.cache}"
# no default for XDG_RUNTIME_DIR (depends on foreign distro for semantics)

So when login as a user (from tty if gdm is broken), run 'env' should
report something like:

XDG_DATA_DIRS=/home/user/.guix-profile/share:/usr/local/share:/usr/share

Can you confirm if you have this correct XDG_DATA_DIRS?  And if it does,
please send the output of 'env' and gdm logs, that maybe another issue.

Thank you!