--- Begin Message ---
Subject: |
[PATCH] gnu: gdm: Provide custom session. |
Date: |
Mon, 22 Apr 2019 16:15:01 +0200 |
* gnu/packages/gnome.scm (gdm)[arguments]<#:phases>[install-custom-session]:
Provide custom session.
---
gnu/packages/gnome.scm | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 101c0ce13f..e3738fbd93 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -5536,6 +5536,23 @@ libxml2.")
(string-append "\"" (assoc-ref inputs "gnome-session")
"/bin/gnome-session\"")))
#t))
+ (add-after 'install 'install-custom-session
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (builtin-sessions (string-append out
+
"/share/gdm/BuiltInSessions")))
+ (mkdir-p builtin-sessions)
+ (call-with-output-file (string-append builtin-sessions
"/custom.desktop")
+ (lambda (port)
+ (format port "[Desktop Entry]
+Encoding=UTF-8
+Type=Application
+Name=Custom Session
+Comment=Customized user session (in ~/.xsession)
+X-GDM-BypassXsession=false
+Exec=custom
+")))
+ #t)))
;; GDM needs GNOME Session to run these applications. We link
;; their autostart files in `share/gdm/greeter/autostart'
;; because GDM explicitly tells GNOME Session to look there.
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#35068: GDM crashes when it cannot find any .desktop files |
Date: |
Fri, 26 Apr 2019 14:32:40 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.2 (gnu/linux) |
Hi Ludo and Danny,
Ludovic Courtès <address@hidden> writes:
> Hello,
>
> Timothy Sample <address@hidden> skribis:
>
>> 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.
>
> I have a slight preference for the hack you propose Timothy, at least in
> the short term, because it seems less likely to break anything than
> fiddling with “Exec=custom” and all that.
>
> Anyway, it’d be great if one of you could push a fix by 1.0. :-)
Pushed as 8caa458953eeac783c73a0e5aaa72842fe3914c9.
I’m closing the bug and the patch. If we want to change the “xinitrc”
script to understand “custom”, we can start a new discussion to figure
out the best way to do it after 1.0.
-- Tim
--- End Message ---