unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
From: Timothy Sample <samplet@ngyro.com>
To: "Ludovic Courtès" <ludo@gnu.org>
Cc: 35068@debbugs.gnu.org
Subject: bug#35068: GDM crashes when it cannot find any .desktop files
Date: Thu, 25 Apr 2019 14:49:42 -0400	[thread overview]
Message-ID: <87tvel7we1.fsf@ngyro.com> (raw)
In-Reply-To: <87lg0um9qb.fsf@gnu.org>

Hi Ludo and Danny,

Date: Thu, 25 Apr 2019 11:36:36 -0400

Ludovic Courtès <ludo@gnu.org> writes:

> Danny Milosavljevic <dannym@scratchpost.org> skribis:
>
>> Apr 21 11:23:57 localhost gdm: XXX gdm: value == NULL for key == PATH 
>> Apr 21 11:23:57 localhost gdm: Child process -1384 was already dead. 
>> Apr 21 11:23:57 localhost gdm: Child process 1381 was already dead. 
>> Apr 21 11:23:57 localhost gdm: Unable to kill session worker process 
>
> Good catch!
>
> Looks like setting PATH in GDM’s environment isn’t enough, though…

The PATH variable for GDM gets set in the package definition, too.  GDM
does a lot of environment clobbering, so it probably gets lost along the
way (it wants to follow the PAM default environment files rather than
propagate things down).  That being said, I don’t think this is the
issue.

GDM is hard-coded to fail if there are no “.desktop” files.  This
happens in the “get_fallback_session_name” function.  As an experiment,
I tried patching this out, which allows me to type in a password, but
fails later in the same way.  I’m not sure why.

I suppose we should add a default “.desktop” file to keep GDM from
exploding.  I did look at Danny’s patch (#35377), and it would work, but
it seems a little arbitrary.  Nothing understands the “Exec=custom”
line, and our “xinitrc” runs “~/.xsession” regardless of what desktop
entry is selected in the DM.

There are two workarounds.  The first is to keep Danny’s patch as-is,
but add logic to “xinitrc” so that it only uses “~/.xsession” when
passed “custom” as an argument (it’s kinda magic, but it seems to be a
common convention).  I have a slight preference for this option, because
it makes the whole “~/.xsession” thing more explicit.  However, it would
break other DMs that don’t install a “custom.desktop”.  Maybe we could
integrate it into all DMs at the service level.

The quicker workaround is to keep the current logic, and install the
following with GDM:

    [Desktop Entry]
    Encoding=UTF-8
    Type=Application
    Name=Fail
    Comment=This session always fails.
    NoDisplay=true
    Exec=false

This way, GDM fails cleanly when there are no “.desktop” files.  It
doesn’t show up in the list, either (“NoDisplay=true”), so everything
just kinda works as expected without any visible changes.

Danny, maybe you could adjust your patch to follow the second option and
apply it for the sake of everyone else who’s system profile doesn’t have
any “.desktop” files.  It might save people headaches in the short-term
regardless of what we settle on as a final solution.

Thoughts?


-- Tim

  reply	other threads:[~2019-04-25 19:01 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-01  8:05 bug#35068: GDM crashes when it cannot find any .desktop files Ludovic Courtès
2019-04-20 15:06 ` Danny Milosavljevic
2019-04-20 20:22   ` Ludovic Courtès
2019-04-21  9:37   ` Danny Milosavljevic
2019-04-21  9:43     ` Danny Milosavljevic
2019-04-21 20:12     ` Ludovic Courtès
2019-04-25 18:49       ` Timothy Sample [this message]
2019-04-25 19:15         ` Danny Milosavljevic
2019-04-26  1:02           ` Timothy Sample
2019-04-26  9:36             ` Danny Milosavljevic
2019-04-26  8:10         ` Ludovic Courtès
2019-04-26 18:32           ` Timothy Sample
2019-04-27 16:27             ` Ludovic Courtès

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=87tvel7we1.fsf@ngyro.com \
    --to=samplet@ngyro.com \
    --cc=35068@debbugs.gnu.org \
    --cc=ludo@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.
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).