From mboxrd@z Thu Jan 1 00:00:00 1970 From: Danny Milosavljevic Subject: bug#35068: GDM crashes when it cannot find any .desktop files Date: Fri, 26 Apr 2019 11:36:03 +0200 Message-ID: <20190426113603.5412fdc7@scratchpost.org> References: <87lg0um9qb.fsf@gnu.org> <20190420170649.30c05dbd@scratchpost.org> <20190421113749.0439cbc9@scratchpost.org> <87v9z72k3p.fsf@gnu.org> <87tvel7we1.fsf@ngyro.com> <20190425211540.3ecda900@scratchpost.org> <87pnp97f42.fsf@ngyro.com> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; boundary="Sig_/t=MGvuB5Is1Jzz63U9mWxfO"; protocol="application/pgp-signature" Return-path: Received: from eggs.gnu.org ([209.51.188.92]:58223) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hJxI2-0000hp-A2 for bug-guix@gnu.org; Fri, 26 Apr 2019 05:37:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hJxI0-0005mQ-B8 for bug-guix@gnu.org; Fri, 26 Apr 2019 05:37:06 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:46512) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hJxHx-0005ie-Ox for bug-guix@gnu.org; Fri, 26 Apr 2019 05:37:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1hJxHx-0002hv-I2 for bug-guix@gnu.org; Fri, 26 Apr 2019 05:37:01 -0400 Sender: "Debbugs-submit" Resent-Message-ID: In-Reply-To: <87pnp97f42.fsf@ngyro.com> List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org Sender: "bug-Guix" To: Timothy Sample Cc: 35068@debbugs.gnu.org --Sig_/t=MGvuB5Is1Jzz63U9mWxfO Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi Timothy, On Thu, 25 Apr 2019 21:02:53 -0400 Timothy Sample wrote: > Furthermore (I was surprised by this), even though the > =E2=80=9Cdata/Xsession.in=E2=80=9D script says that it will honour =E2=80= =9Ccustom=E2=80=9D in a > comment, the code says otherwise. There=E2=80=99s a commit where support= for it > gets removed, but they must have forgotten about the comment. > We don=E2=80=99t need a =E2=80=9C.desktop=E2=80=9D file currently. My pe= rsonal opinion is that > having the existence of the =E2=80=9C~/.xsession=E2=80=9D script override= your > explicitly stated session selection when logging in is a little > surprising. But if that=E2=80=99s conventional, then I=E2=80=99m happy t= o follow > convention. I don't know what's conventional here. But a CUSTOM session is just that: A customer customized their session and presumably wants to enter that customized session. However, he should still be able to enter other sessions by selecting a non-customized session in the DM. If I wrote a DM, I'd scan for desktop files, add those to the session selec= tion menu, then scan for the file "~/.xsession" and, if that exists, add a "custom" entry to the session selection menu. The session that had been selected previously for that user should be the default for that user the next time--unless he changes the selection again. The first time a ~/.xsession shows up, the session manager should select it (or ask). In any case, let's just make gdm not crash and do a minimally invasive fix. We are not upstream and they can clean up their own mess. > >> This way, GDM fails cleanly when there are no =E2=80=9C.desktop=E2=80= =9D files. It > >> doesn=E2=80=99t show up in the list, either (=E2=80=9CNoDisplay=3Dtrue= =E2=80=9D), so everything > >> just kinda works as expected without any visible changes. =20 Nice! > Currently, our =E2=80=9Cxinitrc=E2=80=9D script will run your =E2=80=9C~/= .xsession=E2=80=9D script if it > exists, regardless of what session you select when logging in. Hmm, that's not what I thought it would do. We could change it... > However, GDM will crash if you do not have any =E2=80=9C.desktop=E2=80=9D= files. Yeah, there are a lot of places where it assumes that desktop files have been read. Even the "fallback" case requires desktop files. > With > the dummy file, if you have a =E2=80=9C~/.xsession=E2=80=9D script, you w= ill be able to > log in even if you have no other =E2=80=9C.desktop=E2=80=9D files. If yo= u have no > =E2=80=9C.desktop=E2=80=9D files and no =E2=80=9C~/.xsession=E2=80=9D scr= ipt, logging in will fail > (which seems reasonable, seeing how desperate the circumstances are). That's fair. > > Still, ~/.xinitrc is not picked up either way--which is too bad. =20 >=20 > Isn=E2=80=99t that script specific to =E2=80=9Cstartx=E2=80=9D? (That=E2= =80=99s at least what a popular > question and answer site tells me.) Yes, I had it from the time I still used startx. So I guess it's okay if .xinitrc isn't used by gdm. It would still be nice if .xsession was only used for the "custom session" choice, which is what I wanted it to do. I guess we could also adapt our xinitrc script. --Sig_/t=MGvuB5Is1Jzz63U9mWxfO Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- iQEzBAEBCAAdFiEEds7GsXJ0tGXALbPZ5xo1VCwwuqUFAlzC0QMACgkQ5xo1VCww uqWHCggAmVtPLJiHkB0YCw/3lagS6BYZonceb6a+j+2W/KO5Zojvv/TgMiLdDosz SUPvNXaTF5bYrf3bhq70ZnQPKy0A+xdY3yJjACVPEjK1AlO3CUdxUCTAatg4GEVw Yw+Z95sxZl1ubR+mnv1F/+Lm/pe0dtMoYNzOwi61lcLeDbO9itjVV6TtNSceQRod L3vYRfWGkzFuU1aPsr63JTGTCg6P2s3FLKBADnOi9XKDNSJD3TIt5uqt/r9ATkOw adA7xC0MpW8g/6/VOL2KHryMwDzrv6J9Kve6a39KWl8uCrqjGhDOhB3bkvIxDl7n eu9T9r+6CjplTKlVDwBXOhdOV00GFw== =5j/9 -----END PGP SIGNATURE----- --Sig_/t=MGvuB5Is1Jzz63U9mWxfO--