unofficial mirror of help-guix@gnu.org 
 help / color / mirror / Atom feed
From: Philip McGrath <philip@philipmcgrath.com>
To: help-guix@gnu.org
Subject: Re: Broken KDE initialization with `guix home`
Date: Thu, 19 May 2022 17:37:03 -0400	[thread overview]
Message-ID: <f030684e-caca-d029-36bf-15faa5d672ba@philipmcgrath.com> (raw)
In-Reply-To: <082e0711-88e5-570d-ec41-e5afee6459a1@philipmcgrath.com>

Hi,

On 5/13/22 13:41, Philip McGrath wrote:
> Hi,
> 
> I'm trying to start using `guix home` on a fairly fresh install of 
> Kubuntu 22.04 with SDDM and the KDE Plasma Wayland session. I'm running 
> in to some problems when the session starts up: I suspect some 
> environment variables may not be getting set when they need to be, but 
> the symptoms are confusing: does anyone know what might be going on?
> 
> When I log in from SDDM (again, to a Wayland session, not X11), I see a 
> splash screen with a spinner for a while, then the screen goes black. 
> I've found at this point I can use the Alt-Space shortcut to access 
> KRunner, which lets me run `plasmashell --replace` (and evidently finds 
> "/usr/bin/plasmashell").
> 
> That gets a desktop to appear, but there are more problems. The 
> "Application Launcher" menu doesn't show any desktop entries: there are 
> "Favorites" and "All Applications" submenus (no others), but they are 
> empty. [...]
> 

I've found at least a workaround, maybe even a solution, though some of 
this might constitute a bug in Guix Home.

Looking into the symptoms, I found the `kbuildsycoca5` command to 
rebuild KDE's cache of .desktop files. It initially reported the error:

     kf5-applications.menu not found in ()

That file existed in /etc/xdg/menus/, but I discovered that 
XDG_CONFIG_DIRS was set to:

   /home/philip/.config/kdedefaults:/home/philip/.guix-home/profile/etc/xdg:

i.e. ending with ":" rather than ":/etc/xdg".

Creating a file /etc/profile.d/99-guix-home-hack.sh with the content:

     export XDG_CONFIG_DIRS="${XDG_CONFIG_DIRS:-/etc/xdg}"

and rebooting was enough to get Plasma Shell to start normally, though I 
still had to run `kbuildsycoca5` manually to get the launcher menu 
entries and panel items to work.

I think it might be better to change this code from 
'environment-variables->setup-environment-script' in '(gnu home services)':

> case $XDG_CONFIG_DIRS in
>   *$HOME_ENVIRONMENT/profile/etc/xdg*) ;;
>   *) export XDG_CONFIG_DIRS=$HOME_ENVIRONMENT/profile/etc/xdg:$XDG_CONFIG_DIRS ;;
> esac

To likewise use `${XDG_CONFIG_DIRS:-/etc/xdg}`.

I'm not any kind of expert on the XDG specs, but I read e.g. "If 
$XDG_CONFIG_DIRS is either not set or empty, a value equal to /etc/xdg 
should be used." to apply only to the whole variable being "", not to an 
empty element in the colon-separated list. At least, if KDE behaves this 
way, I imagine others do, too.

In the same place, the handling of MANPATH and INFOPATH seem fine, 
because they have specified behavior for a trailing ":". On the other 
hand, XDG_DATA_DIRS seems like it would have the same problem if it 
weren't for the fact that, for me, other scripts in /etc/profile.d/ have 
already added items and included the default tail. I similarly suspect 
the handling of XCURSOR_PATH might be related to an odd issue where the 
cursor disappears when hovering over the border of a window (even though 
this is Wayland), but I need to investigate that further.

On I somewhat-related note, I had previously relied on GUIX_LOCPATH 
being set by /etc/profile.d/guix.sh, but now, because 
$HOME/.guix-profile doesn't exist, it isn't set there. I've set it in my 
home configuration, but it seems like it would be better to provide 
analogous automatic support.

-Philip


      reply	other threads:[~2022-05-19 21:37 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-13 17:41 Broken KDE initialization with `guix home` Philip McGrath
2022-05-19 21:37 ` Philip McGrath [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=f030684e-caca-d029-36bf-15faa5d672ba@philipmcgrath.com \
    --to=philip@philipmcgrath.com \
    --cc=help-guix@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).